Require fresh authorization for high-impact actions #342

Merged
timmy merged 1 commits from timmy/341-fresh-authorization into main 2026-08-08 21:06:04 +00:00
Owner

Closes #341

What changed

  • added durable 90-second, single-use grants bound to session/action/target
  • enforced fresh authorization before merges, issue closure, remote-device revocation, and global sign-out
  • preserved and retried the exact browser operation once after a mobile/keyboard-accessible authorization prompt
  • migrated existing session registries in place and invalidated grants with parent sessions

Verification

  • RED observed for grant binding/replay/expiry, route enforcement, schema migration, managed-session invalidation, and browser retry
  • focused suite: 122 passed
  • full suite: 637 passed
  • python3 -m compileall -q src tests
  • node --check frontend/session.js
  • git diff --check
Closes #341 ## What changed - added durable 90-second, single-use grants bound to session/action/target - enforced fresh authorization before merges, issue closure, remote-device revocation, and global sign-out - preserved and retried the exact browser operation once after a mobile/keyboard-accessible authorization prompt - migrated existing session registries in place and invalidated grants with parent sessions ## Verification - RED observed for grant binding/replay/expiry, route enforcement, schema migration, managed-session invalidation, and browser retry - focused suite: 122 passed - full suite: 637 passed - `python3 -m compileall -q src tests` - `node --check frontend/session.js` - `git diff --check`
timmy added 1 commit 2026-08-08 21:05:01 +00:00
security: require fresh authorization for high-impact actions (#341)
All checks were successful
CI / lint (pull_request) Successful in 35s
CI / build-release (pull_request) Successful in 5s
CI / release-candidate (pull_request) Has been skipped
3726360baa
timmy merged commit fa4ad28961 into main 2026-08-08 21:06:04 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#342
No description provided.