Cryptography

Zero-Knowledge Email: What It Means, What It Doesn't, and How to Tell the Difference

7 min read Haven Team

"Zero knowledge" has become the privacy industry's most reliable marketing phrase — and its most abused one. Services claim it while doing things that are plainly incompatible with what the term actually means. Here's the technical reality.


In cryptography, a zero-knowledge proof is a method by which one party (the prover) can demonstrate to another (the verifier) that they know something, without revealing what that something is. It's a precisely defined concept with formal properties. The term has a specific meaning in the academic literature, and that meaning does not include "we promise not to look."

The privacy services industry borrowed the term, stripped it of its precision, and started applying it to any service where the company doesn't hold your encryption keys in plaintext. That's a much lower bar — and some services don't even clear that.

The Actual Requirement

For an email or messaging service to make a meaningful zero-knowledge claim, the following must be true:

That last point is the tell. Services that offer password reset via email, or account recovery via support ticket, or "emergency recovery codes" stored on their servers, are not zero-knowledge. They have a key. They've just chosen not to use it — which is a policy, not a cryptographic guarantee.

What Most Services Actually Do

The pattern most "zero-knowledge" email services follow is closer to this:

  1. You choose a passphrase
  2. The service derives an authentication credential from it (often the passphrase hashed with bcrypt or Argon2)
  3. Your passphrase is also used to derive an encryption key — client-side
  4. That encryption key wraps your private key, which the server stores as an encrypted blob
  5. At login, you authenticate, download the encrypted key blob, and decrypt it locally

This is genuinely better than storing keys in plaintext. The server cannot read your email contents. If someone breaches the database, they get encrypted blobs, not your messages.

But here's what this model does not protect against:

The native app advantage

A native app (iOS, Android, desktop) is harder to retroactively compromise via a server-side code change than a web app. The code you downloaded is the code you run. This is one concrete security advantage of native apps over pure web-based email clients.

The Two-Key Model

A well-designed zero-knowledge system uses your passphrase to derive two separate credentials through distinct derivation paths:

The separation is the point. If the authentication credential is compromised — say, through a database breach — an attacker gets something they can use to log in, but not something they can use to decrypt your data. Decrypting your data requires the wrapping key, which the server has never seen.

Haven derives both from your passphrase using PBKDF2 with different salts:

The auth password goes to the server. The wrapping key stays local — it decrypts your randomly-generated 256-bit database master key, which was stored on the server only in encrypted form. The server has never seen the wrapping key, and cannot derive it from the auth password (they're independent PBKDF2 outputs with different salts).

This is the same model ProtonMail uses for their "zero access" encryption, and it's the same model that makes ProtonMail unable to recover your account if you forget your passphrase. Haven applies the same principle.

What Even This Model Can't Protect Against

Honest disclosure is part of what zero-knowledge actually requires. No current commercial email service protects against:

Knowing these limitations isn't a reason to give up on encrypted email. It's a reason to understand what you're buying and to calibrate your expectations accordingly. Encrypted email dramatically raises the cost of surveillance. It does not make it impossible for a determined nation-state adversary.

How to Audit a Service's Claim

Before trusting a "zero-knowledge" claim, ask these questions:

  1. Can I recover my account without my passphrase? If yes, it's not zero-knowledge — the service holds a key.
  2. Is the source code open? Proprietary code makes independent verification impossible.
  3. Has it been independently audited? Audits aren't perfect, but they're better than self-assessment.
  4. Does the login happen in a native app or a browser? Web apps are more vulnerable to server-side code substitution.
  5. What does the privacy policy actually say about data sharing with governments? "We comply with lawful orders" is different from "we cannot comply because we don't have your key."

The Takeaway

Zero-knowledge encryption, properly implemented, provides a meaningful and important protection: the service genuinely cannot read your content, and a breach of their servers reveals nothing about what you wrote. That's a real guarantee worth having.

But it requires the technical implementation to match the marketing claim. Client-side key derivation with separated auth and encryption paths, no recovery mechanism that bypasses the passphrase, and an open codebase that allows verification. Without those, "zero knowledge" is a promise without a mechanism.

Read the technical documentation of any service you trust with sensitive communication. If they can't explain how key derivation works and where the passphrase goes, assume the answer is "we have it."

Encryption you can verify

Haven's key derivation model is documented and auditable. Your passphrase never leaves your device.

Try Haven Free →