Witbitz docs PlatformTrustAll docs

The Companion — an optional device runtime

Status: roadmap, and now optional. The three things this was meant to add — notifications, durable keys, local decryption — the verifiable web app already does. The Companion remains a worthwhile convenience (more reliable background notifications, a Secure-Enclave keystore), but it is no longer a pillar of the platform, and nothing on the roadmap depends on it shipping.

A Witbitz app is a pure static page — which is exactly what makes its privacy checkable. A static page famously can't, on its own, hold a key safely, notify you while you're away, or decrypt locally. The Companion was conceived as the one native app that would carry those "un-static" capabilities for every Witbitz app.

Since then, the web caught up. Here is how each capability is handled today, with no app — and what a Companion would still add on top.

How it's handled without the Companion

That covers the essentials — and the web version is, if anything, more verifiable than an app would be: a CSP-locked, reproducible static page is something a third party can check; an app-store binary is not.

What a Companion would still add

A thin native app is worth building as a convenience, never a foundation:

The honest boundaries

Where it sits

Capability Today, no app A Companion would add
Key storage passkey (hardware-backed) + link fragment Secure-Enclave keystore
Recovery user-held code / passkey-derived secret same, device-native
Notifications content-free push on an installed PWA more reliable background delivery
Local decrypt in the verifiable tab; Sealed Spaces removes the key from the server one audited runtime
Agent turn (in use) server-side until the attested tier unchanged — not what a client app fixes

See also: the double blind (incl. Sealed Spaces) and the verified room § lifecycle.

Machine-readable source: the-companion.md · every doc in one fetch: llms-full.txt · ← delegated-authority · on-prem