← Blog
Photos6 min read

End-to-end encrypted photos: how it works and how to verify a provider's claim

End-to-end encrypted photos means the provider never holds a usable key. Here is the exact chain — key derivation, per-file keys, thumbnails, sharing — and the questions that expose a weak implementation.

Try it in one click.

Three private surfaces. Same zero-knowledge architecture.

The definition, precisely Photos are end-to-end encrypted when they are encrypted on the sending device and can only be decrypted on devices holding the recipient key. The service in the middle stores ciphertext and cannot produce plaintext, even under pressure.

Encryption "in transit and at rest" is not the same thing: it protects against network attackers and stolen disks, while leaving the provider fully able to read your library.

The chain, step by step 1. Your password is stretched on your device with Argon2id into an account key. The password itself is never sent. 2. That account key unwraps a private key (X25519) held encrypted in your account. 3. Each photo gets a fresh symmetric key (XChaCha20-Poly1305) generated in the browser. 4. The image and its thumbnail are encrypted locally; the per-file key is sealed to your public key. 5. The server receives opaque bytes and a sealed key it has no way to open.

Where implementations quietly break - **Thumbnails generated server-side** — that requires a readable image. - **Filenames and albums stored in the clear** — a plaintext index of an encrypted library. - **Cloud-side "smart search"** — impossible without decryption. - **Support-side recovery** — if staff can restore your photos without your password, there is a second key.

How sharing stays end-to-end Each recipient receives their own sealed copy of the file key, wrapped to their public key. Public links carry the key in the URL fragment, which browsers never transmit to the server, and are additionally protected by a passphrase and a short expiry. Revoking access rotates the remaining keys.

Verifying a provider in three questions - What exactly does your server store for one uploaded photo? - Can you show me a photo from my account if I lose my password? - Which features stop working because you cannot read my files?

An honest end-to-end provider answers: ciphertext plus a sealed key; no; server-side visual search and content moderation.

Why the missing features are the proof When a provider tells you what it *cannot* do, it is describing its architecture. That is the only privacy claim worth trusting.

Try it in one click.

Three private surfaces. Same zero-knowledge architecture.

Encrypted on your device · upload in 1 click
Upload