Skip to content

docs(trust): one pairing, many devices (§9 account trust proposal) - #70

Closed
guohai wants to merge 7 commits into
mainfrom
docs/account-trust
Closed

guohai wants to merge 7 commits into
mainfrom
docs/account-trust

Conversation

@guohai

@guohai guohai commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Atem's proposal for the joint §9 work in session-multiplexing.md: pair Atem once; the user's other devices on the same account reach it without pairing again — without trusting the account login and without forwarding through the Mac.

  • The account keeps a signed membership log; each device keeps its own key; the relay only stores the log.
  • Atem pins the log's genesis at pairing and accepts exactly the listed devices (relay or direct :8080).
  • Devices are added once by a manager device (code + Touch ID / password) and removed with a signed entry; Atem never moves to an older list.
  • Freshness: on-demand head attestations for Atem's nonce plus a 6 h heartbeat from online managers; 24 h maximum offline window.
  • Roles view / control / manage; approvals from chat/mobile for the lease holder, bound to the exact prompt (step 1b).
  • Steps: membership + freshness → approvals → end-to-end channel → browser QR grants.

Decisions recorded with the user on 2026-10-16. Diagrams: designs/account-trust-diagrams.html. Design only — no code.

Generated with SMT smt@agora.build

Signed membership log pinned at pairing; devices added once by a manager
(Touch ID / password), removed with a signed entry; connect proof with a
fresh head attestation (on demand + 6 h heartbeat, 24 h bound); roles
view/control/manage, approvals from chat/mobile for the lease holder bound
to the exact prompt. Decisions recorded with the user on 2026-10-16.

🤖 Built with SMT <smt@agora.build>
…and remote answer race

The PermissionRequest hook from --settings fires interactively, the terminal
dialog stays visible while it runs and the first answer wins; a timeout is
honoured and Esc stops the hook. The approval flow is rewritten around that,
with the probe's anonymised fixtures.

🤖 Built with SMT <smt@agora.build>
…ile the hook waits

Codex hides its prompt until the hook exits, Esc doesn't stop the hook, and a
trusted hook entry is pinned by hash. The flow adds: local input releases the
hook first, a 120 s wait, request closed on Esc, and a stable hook command so
the user trusts it once.

🤖 Built with SMT <smt@agora.build>
@guohai

guohai commented Oct 17, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #72, which combines #69, #71 and #70 into one branch against main.

@guohai guohai closed this Oct 17, 2026
@guohai
guohai deleted the docs/account-trust branch October 17, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant