- Shipped
- September 4, 2026 at 3:06 AM UTC
- Author
- Kamo
- Commit
- 7a52118
Force-logout deletes *** sessions, which ends a browser. It does NOT end a phone: KamoMobile holds a durable device token and mints a fresh *** from it the moment it needs one, so force-logout ends the phone's current session and the phone silently starts another. Revoking the device tokens is the only thing that locks a handset out. This is the control that makes a lost phone survivable now that KamoMobile can open a fully interactive terminal on the member's dev machine — a root-equivalent shell on a box holding a cluster-admin kubeconfig. Whoever is holding an unlocked handset has that until this runs. Devices are revoked BEFORE the sessions are deleted; the other order leaves a gap in which the app can re-mint from a token that is still valid and come back signed in. Push registrations go with the device, or the phone keeps buzzing for an account it can no longer open. Logged as FORCE_LOGOUT rather than a new event type: appending to an ordinal-persisted enum is a schema change, and the message says which kind it was. Same MANAGE_MEMBER_SECURITY gate as its siblings.