Review and selectively revoke active operator devices #325

Closed
opened 2026-08-08 17:49:36 +00:00 by rockachopa · 0 comments
Member

Problem

Operators can revoke only the current session or every session. The durable session registry stores no safe management identifier or recognizable metadata, so a lost or suspicious remote device cannot be inspected and revoked without disrupting every trusted device.

Scope

Add a mobile-safe Active devices flow: name the device at sign-in, list unexpired sessions with created/expiry timestamps and a current-device marker, and revoke one selected session using an opaque management ID. Preserve existing current/all-device sign-out behavior and migrate existing session databases in place.

Acceptance criteria

  • Authenticated operators can list only their unexpired sessions without exposing cookies, session hashes, CSRF tokens, or IP addresses.
  • A remote session can be revoked selectively; its next request is 401 while other sessions remain valid.
  • Selective revocation requires same-origin CSRF proof and returns sanitized failures.
  • Device labels are bounded and rendered as text.
  • Existing two-column registries migrate without invalidating live sessions.
  • The Active devices UI is usable at 320px width and all behavior is covered by tests.
## Problem Operators can revoke only the current session or every session. The durable session registry stores no safe management identifier or recognizable metadata, so a lost or suspicious remote device cannot be inspected and revoked without disrupting every trusted device. ## Scope Add a mobile-safe Active devices flow: name the device at sign-in, list unexpired sessions with created/expiry timestamps and a current-device marker, and revoke one selected session using an opaque management ID. Preserve existing current/all-device sign-out behavior and migrate existing session databases in place. ## Acceptance criteria - Authenticated operators can list only their unexpired sessions without exposing cookies, session hashes, CSRF tokens, or IP addresses. - A remote session can be revoked selectively; its next request is 401 while other sessions remain valid. - Selective revocation requires same-origin CSRF proof and returns sanitized failures. - Device labels are bounded and rendered as text. - Existing two-column registries migrate without invalidating live sessions. - The Active devices UI is usable at 320px width and all behavior is covered by tests.
timmy was assigned by rockachopa 2026-08-08 17:49:36 +00:00
Sign in to join this conversation.
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#325
No description provided.