As an operator, I can issue scoped tokens or use a trusted local/Tailscale operator session, see live agent sessions, rotate credentials, and revoke access.
- Where it lives
- Agent settings, token/session APIs.
- Current evidence and next check
- review-first tokens are genuinely read-only, mutation scopes are stripped at submission, and model credential tests require an operator session. Remote browser pairing offers an optional owner-created master password that is unset by default, locally administered, Argon2id-protected, rate-limited, and restricted to sender-bound non-operator browser credentials. Browser recovery now tries a surviving HttpOnly refresh cookie without depending on disposable browser storage, automatically tries discoverable passkey restoration before another pairing request, and requests one device-passkey verification immediately after the single approved pairing. A stalled post-pairing device-enrollment ceremony is bounded to fifteen seconds, and the already-approved browser-session fallback remains available throughout the attempt. Choosing the session-only fallback or leaving the pairing view invalidates that exact trust attempt, including while the registration-begin request is still pending, so a late response cannot start or complete durable device trust. Trusted-personal-assistant browsers carry ordinary
work.read and work.write; existing generic read/write sessions derive only those non-sensitive scopes without re-pairing. Compatible browsers using the same credential provider and exact HTTPS relying party can restore only the original non-operator client, profile, scopes, installation, data-root binding, key, and security epochs; every restore requires user verification, authority drift revokes trust, and declining WebAuthn keeps the paired session usable. npx forge-memory ui also attempts the verified rollback-protected OpenClaw runtime transfer automatically when the live API lacks the current local-browser handler, while managed configuration drift still fails closed. A packaged OpenClaw-started server now derives its own package identity from the installed manifest, so Forge Memory can verify and adopt that recovered runtime without accepting an unverified process; source and development launches do not claim the packaged identity. Master-password setup now enforces only a transparent 15-to-128-character length boundary and matching confirmation. The settings card shows a non-blocking strength estimate, but does not reject a password because of its symbols, character mix, repeated text, product wording, or predictable sequences. The 45 focused browser/API checks, 31 runtime-ownership checks, packed-runtime identity regression, TypeScript check, and Strict Mode recheck pass; finish live same-device two-browser passkey acceptance plus the remaining bootstrap-budget, heartbeat, reconnect, rotation, and revocation matrices before marking the broader story Verified.