OMP Session Gateway

Security

Private by design, fail-closed by default

Open the session, not a secret link. View can read sensitive work; Control can steer it. The gateway treats both as bearer capabilities and fetches one only for an authorized launch.

Stock OMP >= 18.1.20 supplies the native collaboration controller and local registry. No fork, custom OMP build, or gateway-specific OMP plugin is required. The gateway is still a separate installation, and native integration does not relax the boundaries below.

Out of scope in v1: mutually untrusted local accounts on a shared shell host, Portal Tunnel, and self-hosted or proxied relays. Every release runs distinctive-synthetic-secret leak scans across logs, storage, caches, URLs, and CI artifacts before it is qualified.

The full threat model, boundaries, and acceptance gates: docs/SECURITY.md · report a vulnerability privately via the security policy.

Device lock and prompt tailnet revocation matter: a still-authorized unlocked phone can request Control. Passkey verification is proposed, not implemented. The accepted protection against upgrades interrupting a pending launch also has an unresolved implementation gap; see ADR-018.

Each stable release's core qualification names its exact OMP, Bun, Debian, macOS, and Pixel builds and a 1,800-second relay check, not eight hours; the current release's receipts and exclusions are on the status page. Testing more platforms and browsers in CI does not change this security boundary.