
What Is Zero-Knowledge Encryption? (Explained Simply)
If you've shopped around for a diary or journaling app, you've probably seen the phrase "zero-knowledge encryption" thrown around as a selling point. Most explanations either drown you in cryptography jargon or wave their hands and say "trust us, it's secure." Neither actually tells you what's happening to your words.
Here's the plain version, using how it actually works under the hood in Vaultifier as the example.
The short answer
Zero-knowledge encryption means the company running the app never has the ability to read your data — not because they promise not to, but because they genuinely don't hold the key that would let them.
Compare that to how most apps handle your data:
Normal encryption (most apps, including Vaultifier's free-tier "Normal Security" mode): the app generates an encryption key, stores it on its own servers, and uses that key to encrypt and decrypt your entries. Your notes are protected from outside attackers, but the company itself technically could decrypt them if it wanted to, or if it were compelled to.
Zero-knowledge encryption: the key is derived from something only you know — your password — and it's generated and used entirely inside your browser. It's never transmitted to the server, and the server never has a copy of it. If the company can't reconstruct your key, it can't reconstruct your diary entries either.
How the key actually gets made
In Vaultifier's zero-knowledge mode, the process looks like this:
Your Password
└─→ PBKDF2 (600,000 iterations, SHA-256)
└─→ Master Key (never stored raw)
└─→ Wraps Vault Keys (one per vault)
└─→ Encrypts all entries (AES-GCM 256-bit)
Walking through that:
You type your password. That password itself is never stored or sent anywhere.
PBKDF2 stretches it 600,000 times. PBKDF2 is a "key derivation function" — it's deliberately slow, running the password through the same cryptographic hash (SHA-256) hundreds of thousands of times. This isn't overkill for the sake of it: the whole point is to make guessing your password by brute force computationally expensive, even if someone got hold of the encrypted data.
That produces a master key, which lives only in your browser's memory for the session — it's never written to a database anywhere.
The master key wraps (encrypts) individual vault keys. Each vault you create has its own key, so compromising one vault's key doesn't expose the others.
Vault keys encrypt your actual entries using AES-GCM with 256-bit keys — the same encryption standard used to protect classified government data and most modern banking systems.
All of this happens using the Web Crypto API, a set of encryption tools built directly into your browser. Nothing gets sent to a server for processing; the math happens on your device.
What this means practically
If the company gets hacked, attackers get encrypted blobs they can't read, because the keys needed to decrypt them were never on the server in the first place.
If the company receives a legal request for a specific user's data, there's genuinely nothing readable to hand over.
If you forget your password, there's no "reset and recover your old entries" option — because recovering them would require the company to have a way in, which is exactly what zero-knowledge means they don't have. This is the real trade-off: maximum privacy costs you the safety net of account recovery.
Why it's not the default for everyone
Zero-knowledge sounds like it should always be better, so why do apps like Vaultifier offer a "Normal Security" mode at all?
Because the trade-offs are real:
Losing your password means losing your entries, permanently, with no support-desk workaround.
Every device you use has to redo the key derivation, which — while fast — is an extra step compared to a server just handing you your data.
Some people are fine with "the company could theoretically read this but promises not to and has no business reason to," especially for lighter, low-stakes journaling.
That's why Vaultifier treats it as a choice rather than forcing it: you can start on system-managed encryption and switch to zero-knowledge later (a Premium feature), with your existing entries re-encrypted in the background rather than lost.
The one-sentence test
When you're evaluating whether an app's "zero-knowledge" claim is real, ask one question: could the company technically decrypt my data if they had a good enough reason to? If the honest answer is yes, it's not zero-knowledge — it's just encryption with a very reassuring name attached.
