Clavarius

Threat model

Version of 30 September 2026. This page states what the design protects, what it does not, and what is still unverified. It is written to be held against; a claim that is missing here is not being made.

1. Goal

The content you capture (clips, screenshots, recordings, transcripts, notes, AI conversations) is readable only on your own devices. The relay that moves it between them, and the person operating the relay, cannot read it, at rest or in transit, even under compulsion.

2. What the relay is

A server at api.clavarius.com with an auth service (accounts, sign-in, device pairing, OAuth for connected apps) and a relay (mailboxes of sealed envelopes, presence, remote-procedure routing). The relay does not index, search, or embed anything. There is no server-side plaintext storage mode.

3. How content is sealed

4. Keys: the account-password caveat

There are two key generations, and which one you are on matters.

v1: password-derived keyv2: device key
How it is madePBKDF2 (600,000 iterations) of your account password and a random salt the auth server stores.32 random bytes generated on the device.
WhenAt sign-in. This is the default for a new account.When you choose "Migrate to device key" in Settings, Sync. Existing data is re-encrypted; the old key is retained read-only.
Where it livesKeychain of each signed-in device.Keychain of each device.
How a new device gets itBy QR code. The paired device seals the key and its sign-in tokens with a one-time random key, uploads that ciphertext to the auth server (kept two minutes, consumed once), and shows a QR code carrying the pairing token and the one-time key. The one-time key never reaches the server.
What the operator could doAt sign-in the auth server receives your password (it must, to check it). A malicious operator who captured it at that moment could derive the v1 key. Nothing stored on the server allows this later; the stored hash does not.Nothing. The key is never derived from anything the server sees and never sent to it.
RecoveryYour password and the salt.A recovery code shown once at migration (the key in base64). Save it. Without it, and without any device that still holds the key, sealed data cannot be recovered by anyone.

Recommendation: migrate to the device key and store the recovery code somewhere that is not one of the synced devices.

5. What the operator can see

Metadata. Stated before anyone asks:

6. Where plaintext does pass through the relay

Relay MCP: an app you connected through OAuth (for example a support desk that wants your Mac's answer) sends a question addressed to your Mac. The relay queues it while the Mac is offline, the Mac answers, the relay passes the answer back. The question and the answer are readable by the relay while they wait, because the connected app has no key of yours. The payload is erased the moment the request leaves the pending state (answered, cancelled or expired); expired rows are swept hourly. What the Mac will do with such a request is limited by policy on the Mac: read-only tools inside a scratch workspace, no clipboard access, no settings files.

7. What the operator cannot see

8. Retention on the relay

9. Not protected

10. Verification status

11. Reporting a weakness

Write to support@clavarius.com with "security" in the subject. You will get an answer from a person, and the fix and the date will be added to this page.