Updates are encrypted while moving between agents, Visti, and your devices.
Security
A narrow door,
by design.
An agent can send to one channel. It cannot look inside your inbox, see another channel, or manage your account. And when a channel is sealed, even Visti can't read what it stores.
Encrypted, with the distinctions that matter.
“Encrypted” can mean four different things. Here is exactly what Visti does today.
Cloudflare encrypts the storage underneath Visti and manages the keys. They are not device-only keys.
Seal a channel and its content is encrypted to keys only your devices hold. What Visti stores is ciphertext it cannot read.
On a sealed channel Visti sees content only for the instant it seals it — never in storage. Agent-side encryption, where Visti never sees it at all, is next.
Sealed channels: a vault only your devices open.
The key is minted on your device, and what leaves your device is only ciphertext the server files away. Same inbox, same agents — Visti just can't read along.
What protects the door.
Access is deliberately small, observable, and replaceable.
A channel key can publish to one channel. It cannot read messages or reach anything else.
The server stores publish keys, device credentials, and pairing codes as peppered hashes.
Each agent gets an independent key. Remove one without interrupting the rest, and see when it was last used.
Publishing is rate-limited. Pairing codes work once, expire after ten minutes, and are rate-limited too.
Where each thing lives.
Storage protections are documented by Cloudflare for Durable Objects, D1, R2, and SSL/TLS.
Today's boundaries.
Security is also knowing where the edges are.
- Sealing is per channel and opt-in today. On regular channels Visti still processes content to validate, store, and deliver it — treat those as private, not secret.
- Sealed is not yet end-to-end. Visti sees a sealed channel's content only for the instant it seals it at the door; nothing readable is ever stored. Agent-side encryption is the planned next step.
- Lose every device and the recovery key, and sealed history is gone. Visti holds no spare key and cannot reset it — that is the guarantee working as intended.
- The Mac app hasn't adopted sealed keys yet. Until it does, sealed updates appear there as “Encrypted update”; read them in the web inbox.
- Images use shareable capability links. The URL is unguessable, but anyone who receives it can fetch the bytes — on a sealed channel those bytes are ciphertext that is useless without the key inside the sealed message. Uploads are limited to PNG, JPEG, GIF, or WebP up to 5 MB; SVG is not accepted.
- Publish keys last until revoked. They do not expire automatically.
- Device credentials live locally. The Mac app currently uses its Application Support configuration; the web inbox uses browser local storage — including, if you use sealed channels there, your inbox key.
- Retention controls are not here yet. Visti does not currently offer self-service message deletion or retention settings.
- Pairing is the account recovery path. There is no email or OAuth recovery flow today.