Privacy — what's encrypted, what isn't, and why

Thoute is zero-knowledge for the contents of your vaults: every block, page, tag, task, and attachment is encrypted in your browser before it reaches our servers, and your encryption key never leaves your device. Read on for the specifics — and a frank list of where this story isn't yet complete.

How encryption works

When you create a vault, you pick a passphrase.

Your browser derives a 256-bit key from that passphrase using PBKDF2-SHA-256 with 100,000 iterations and a random 16-byte salt — a slow, salted key derivation designed to make brute-force expensive.

That derived key encrypts every block, page, tag, and attachment using AES-GCM (256-bit) before anything is sent to the server.

The server has neither your passphrase nor your derived key, so it cannot decrypt your content. Your encrypted keystore (the passphrase-wrapped key) is stored on the server so you can sync across devices and restore from backup — without your passphrase, the wrapped key is useless.

What the server CAN see

What the server CANNOT see

Where your key lives

What you lose

If you forget your passphrase, your data is unrecoverable. This is the cost of zero-knowledge. We can't reset it. A password manager is strongly recommended.

AI features

Thoute AI is an optional assistant that runs on top of leading commercial language models. You can use it to summarize attachments, ask questions about your notes, draft new entries, and have ongoing chats against the contents of a vault.

Thoute AI is opt-in per vault. By default, no plaintext ever leaves your device.

If you opt in for a vault, the relevant content is decrypted in your browser at the moment you make a request and sent to Thoute Cloud, our managed AI service. Anything that comes back (summaries, answers, drafts) is encrypted again before being stored in your vault.

Thoute Cloud only routes requests to model providers whose terms commit them to not retaining your data and not using it to train future models. The underlying providers may change over time as the landscape evolves; the non-retention requirement does not.

You can opt out per-vault at any time. Existing AI-generated content stays encrypted in your vault.

Scheduled automations

An automation you put on a repeat can run in the background, with Thoute closed. That only works for automations that read nothing from your vault — checking a temperature, watching a price, following a public feed. Our servers hold no key, so an automation that reads your notes cannot run there at all; those run only while Thoute is open, and the app says so before you schedule one.

For a background schedule, two things sit on our servers unencrypted:

This is a deliberate, narrow exception to the zero-knowledge model, the same shape as publishing a page to the web: it happens only for the automation you scheduled, only after you confirm it in the schedule dialog, and stopping the schedule removes it. Automations you never schedule stay entirely on your device.

Where outside data comes from

When Ask or an automation looks something up beyond your notes, it uses Brave Search for web searches and WeatherAPI.com for weather. Only the question — or, for weather, the place name — leaves your device; your notes are not sent to either. Both are used only when Cloud AI is enabled for the vault.

Backup and restore

Backups are encrypted end-to-end. A backup file contains the encrypted Yjs document state, the encrypted attachment blobs, and your encrypted keystore — no plaintext content and no plaintext key material. Restoring requires your passphrase to unwrap the keystore.

Threats this protects against

Threats this does NOT protect against

Honest gaps

We'd rather flag these than have you discover them.

If any of these matter to your use case, tell us — the priority on closing them rises with demand.

What's next