Skip to content

docs(f3): owner-only is an authority, and an authority is not a proof - #107

Merged
lessevv merged 1 commit into
mainfrom
spec/a-partner-sheet-minted-on-nobodys-word
Sep 13, 2026
Merged

lessevv merged 1 commit into
mainfrom
spec/a-partner-sheet-minted-on-nobodys-word

Conversation

@lessevv

@lessevv lessevv commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

F3-R39 closed the sheet a reader mints for themselves. The same screen exists one account further out: the owner sets a partner's password and mints a partner's recovery sheet, and both were gated on being the owner and nothing else.

Owner-only is a property of the session, so a session in the wrong hands carries it whole. The ceiling is higher than F3-R39's, too: the partner changing their own password retires neither write, because one of them set that password and the other issues the codes that reset it.

F3-R40 asks for the owner's own account password. It has to be the owner's rather than the partner's — the partner's credential is not available to the surface that replaces it, which is the reason that surface exists, and the partner is not at the device to consent, which is the premise. What is being exercised is the owner's authority, so the thing to prove is that the owner is present. Proof matches the authority being used, not the credential being rewritten.

The implementation PR in beatrax cites this id and follows.

Spec: F3-R40

F3-R39 closed the sheet a reader mints for themselves. The same screen exists
one account further out: the owner sets a partner's password and mints a
partner's recovery sheet, and both were gated on being the owner and nothing
else.

Owner-only is a property of the session, so a session in the wrong hands
carries it whole. The ceiling is higher than F3-R39's, too: the partner
changing their own password retires neither write, because one of them set
that password and the other issues the codes that reset it.

F3-R40 asks for the owner's own account password. It has to be the owner's
rather than the partner's — the partner's credential is not available to the
surface that replaces it, which is the reason that surface exists, and the
partner is not at the device to consent, which is the premise. What is being
exercised is the owner's authority, so the thing to prove is that the owner is
present. Proof matches the authority being used, not the credential being
rewritten.

Spec: F3-R40
Signed-off-by: Wessel Verheij <info@nightworks.io>
@lessevv
lessevv enabled auto-merge (squash) September 13, 2026 09:27
@sonarqubecloud

Copy link
Copy Markdown

@github-actions github-actions Bot added the awaiting-maintainer Green PR with no review — a maintainer needs to act label Sep 13, 2026
@lessevv
lessevv merged commit 1d877f3 into main Sep 13, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-maintainer Green PR with no review — a maintainer needs to act documentation Docs only functional

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant