Zero-Knowledge Encryption Explained Simply
Zero-knowledge encryption means a service can store your data without ever being able to read it. The service provider has "zero knowledge" of what you've stored — they hold encrypted data but don't have the key to decrypt it.
This is fundamentally different from how most online services work. When you send a message on most platforms, the company can read it. When you store a file in most cloud services, the company can access it. Zero-knowledge encryption changes that equation entirely.
How Zero-Knowledge Encryption Works
The core idea is simple: encryption and decryption happen on your device, not on the server.
- You create or enter data on your device (a password, a message, a file)
- Your device encrypts the data using a key that only you have
- The encrypted data (ciphertext) is sent to the server for storage
- The server stores the ciphertext — it never sees the encryption key or the original data
- When you (or your recipient) need the data, the ciphertext is downloaded and decrypted locally
The critical point: the encryption key never touches the server. The server is just a blind storage locker.
Zero-Knowledge vs. Standard Encryption
Many services advertise "encryption" but it's not zero-knowledge. Here's the difference:
Standard encryption (encryption at rest): The service encrypts your data on their servers using their own keys. This protects against external hackers, but the service itself can decrypt and read your data anytime. Think of it like a bank vault where the bank has a master key.
Zero-knowledge encryption: You encrypt the data before it reaches the server, using a key the server never sees. Even if the server is hacked, subpoenaed, or the company turns malicious, your data remains unreadable. Think of it like storing a locked safe in a warehouse — the warehouse owner doesn't have your combination.
Why Zero-Knowledge Matters
Protection from Data Breaches
When a service with standard encryption gets breached, attackers may gain access to the encryption keys along with the data. With zero-knowledge, even a complete server breach yields only useless ciphertext.
Protection from the Service Provider
Companies can be compelled by governments to hand over user data. Employees can be bribed or compromised. With zero-knowledge encryption, even if the company cooperates fully with a data request, they physically cannot provide the plaintext — they don't have it.
Protection from Insider Threats
Rogue employees, curious administrators, or compromised accounts within the service provider cannot access your data. The encryption key simply doesn't exist on their systems.
Real-World Examples of Zero-Knowledge Encryption
- Password managers (1Password, Bitwarden) — Your vault is encrypted with your master password before syncing to the cloud
- End-to-end encrypted messaging (Signal) — Messages are encrypted on the sender's device and decrypted on the receiver's device
- Encrypted file storage (Tresorit, SpiderOak) — Files are encrypted locally before upload
- Secret sharing tools (Authly Send) — Secrets are encrypted in the browser; the key is in the URL fragment, never sent to the server
How Authly Send Uses Zero-Knowledge Encryption
When you create a secret on Authly Send, here's what happens:
- Your browser generates a random AES-256 encryption key
- Your secret is encrypted using this key with the Web Crypto API — in your browser
- Only the encrypted ciphertext is sent to our server
- The encryption key is encoded into the URL fragment (the
#part of the URL), which browsers never send to servers per the HTTP specification - When the recipient opens the link, their browser extracts the key from the fragment and decrypts the secret locally
At no point does the Authly Send server have access to the encryption key or the plaintext. Even if our entire database were leaked, every secret would remain encrypted and unreadable. That's zero-knowledge encryption in practice.