registry: a second factor before publishing tokens (slice 6 of #16) #228
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#226 registry: passkeys, WebAuthn registration and sign-in (slice 4 of #16)
torbscript/language
#227 registry: TOTP and recovery codes (slice 5 of #16)
torbscript/language
Reference
torbscript/language#228
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Enforce RELEASE.md 7.6's "mandatory second factor (TOTP or a passkey) for every account that can publish": such an account cannot mint or use a publishing token without an enrolled factor.
Owner decision (recorded on #16)
Pinned records
Acceptance criteria
ownerorpublisherrole.POST /api/1/tokenswith thepublishaction (and tokens minted from the account page) is refused with a clear message while the account has no enrolled second factor; a token minted after enrolment records that it was.torb test tools/registry/testsgreen natively and in the VM.tools/registry/README.mdupdated; "Not built yet" no longer lists sign-in or a second factor.Seed impact
None: TorbScript in
tools/registry; no syntax change, no native, no driver flag, no looked-up std name.Size and dependencies
One PR, one or two Conventional Commits. Depends on slice 4 (#226, passkeys) and slice 5 (#227, TOTP). Parent: #16. Not
readyuntil both have landed. Security-relevant: architect review of the diff.[loop:torbscript] intake: in scope (author orion, label loop), slice 6 of #16 filed by the split, not a duplicate, no collision with a design record, no seed impact. next: waiting (slices 4 #226 and 5 #227 have not landed) until 2026-10-10T04:00:00Z
[loop:torbscript] intake: dependencies #226 and #227 have not landed (#227 is being refined now). next: waiting (dependencies #226, #227) until 2026-10-10T04:00:00Z
[loop:torbscript] correction: slice 4 (#226) has landed; only slice 5 (#227) is outstanding (being refined now). next: waiting (dependency #227) until 2026-10-10T04:00:00Z
[loop:torbscript] intake: unchanged. #227 waits on #264 (std/cipher), so this slice follows both. next: waiting (dependencies #227, #264) until 2026-10-10T04:00:00Z
[loop:torbscript] decided by the loop: dependencies #226 and #227 landed (main green on
173c9c66), criteria complete, so set ready. claim implement by session:loop-torbscript-20261009 until 2026-10-09T22:04Z[loop:torbscript] implement: PR #273 opened, CI green, mint and use of publishing tokens now need a second factor (passkey alone counts); removing the last factor of a publisher is refused (409), documented in RELEASE.md 7.6. Known limits listed in the PR (owners action and operator/first tokens not bound). next: review (waiting on the merge gate argus). Claim released.
[loop:torbscript] close: PR #273 approved and merged by argus as
d87348ed; main CI green on that commit. Follow-up for the three limits the review raised: #274. Claim released.