Android Check
Glossary

Client Side Encryption

Updated Oct 1, 2026

Client-side encryption is a method of protecting data by encrypting it on the user's own device — a phone, laptop, or browser — before it is uploaded to a server or sent to another person. The service that stores or relays the data only ever handles ciphertext, and the keys needed to decrypt it never leave the user's control. This is the model behind zero-knowledge cloud storage, end-to-end encrypted messengers, and most password managers.

Core components of client-side encryption

Every client-side encryption system, regardless of the app, is assembled from the same building blocks:

  1. A symmetric cipher. The algorithm that scrambles the data itself — typically AES-256 (often in GCM mode) or XChaCha20. Modern schemes use authenticated encryption, meaning the ciphertext is also integrity-checked, so tampering is detected on decryption.
  2. A key source. Either a randomly generated key kept on the device (often inside a hardware-backed keystore such as Apple's Secure Enclave or a TPM chip), or a key derived from the user's password.
  3. A key derivation function. When a password is involved, functions like Argon2 or PBKDF2 stretch it into a strong encryption key, making offline brute-force attacks slow and expensive.
  4. A key exchange mechanism. When data must be shared with other people, public-key cryptography (for example X25519) lets devices agree on shared keys without ever sending them through the server.
  5. Client software. The app or library that performs all of the above locally. Its quality decides whether the whole scheme is trustworthy — a weak or backdoored client voids the strongest cipher.

Types of client-side encryption

End-to-end encrypted messaging. Apps such as Signal and WhatsApp encrypt messages on the sender's device and decrypt them only on the recipient's device. Telegram is a notable partial case: it applies this model only in its optional Secret Chats, one of the caveats covered in our guide to how anonymous Telegram really is.

Zero-knowledge cloud storage. Services like MEGA, Tresorit, and Proton Drive encrypt files on your device before upload. "Zero-knowledge" means the provider holds no key and therefore cannot read your files, even if legally compelled or breached.

Pre-upload file encryption. Tools such as Cryptomator or VeraCrypt let you encrypt files or containers yourself and then sync them to any cloud provider. This adds client-side encryption on top of a provider that does not offer it natively.

Password managers. Bitwarden, 1Password, and similar tools encrypt your entire vault on the device using a key derived from your master password. The server only ever syncs the encrypted blob.

Client-side field-level encryption in databases. Some database systems — MongoDB's Client-Side Field Level Encryption is a documented example — let applications encrypt specific fields before sending them, so the database server never sees sensitive values in plaintext.

How client-side encryption works, step by step

  1. You create data on your device: a message, a document, a password entry.
  2. The app generates a random encryption key, or derives one from your passphrase with a key derivation function.
  3. The app encrypts the data locally with an authenticated cipher. The plaintext never leaves the device.
  4. The ciphertext travels to the server, usually inside a normal TLS connection as an additional transit layer.
  5. The server stores or forwards the ciphertext. Holding no key, it can expose only encrypted data if breached.
  6. When you — or an authorized recipient — retrieve the data, the app downloads the ciphertext and decrypts it locally with the same key.

What client-side encryption protects — and what it doesn't

Client-side encryption offers a strong guarantee, but it has real edges worth knowing:

  • Key loss means data loss. If you forget the password and the service has no recovery key, the data is mathematically unrecoverable. That is the price of the provider having no access.
  • Server-side features shrink. The provider cannot index your content, so full-text search, thumbnails, and server-side processing are limited or absent.
  • Metadata usually stays visible. File sizes, access timestamps, and who communicated with whom are often still exposed, even when content is encrypted.
  • Endpoint compromise defeats it. Malware or a keylogger on your device reads data before encryption or after decryption.
  • You must trust the client. Closed-source apps require faith that the implementation matches the marketing.

It also protects a different layer than network tools do. Client-side encryption secures content at rest and in transit between endpoints, but it does not hide your IP address or which services you connect to — that is the job of a VPN or proxy, and the difference between a VPN and a proxy matters when you choose one.

On legality: using client-side encryption is legal in most countries. A small number of jurisdictions restrict the export or use of strong cryptography, and debates over mandated backdoors resurface regularly, but ordinary personal and business use faces no general prohibition.

Client-side vs server-side encryption

The nearest relative of client-side encryption is server-side encryption, where the provider encrypts your data after receiving it. The difference is who holds the keys — and therefore who can read the data.

Client-side encryptionServer-side encryption
Where encryption happensYour device, before uploadThe provider's servers, after upload
Who holds the keysYouThe provider
Can the provider read your data?NoYes
A server breach exposesCiphertext onlyPotentially plaintext, if keys are also compromised
Server-side search and processingNot possible on contentFully possible
Account recoveryUsually impossible without a recovery keyProvider can reset your access
Typical examplesSignal, Proton Drive, CryptomatorGoogle Drive, Dropbox, most SaaS platforms

End-to-end encryption, often treated as a separate category, is best understood as client-side encryption applied to communication between two specific devices.

FAQ

End-to-end encryption is a specific case of client-side encryption. Client-side encryption means data is encrypted on your device before it reaches a server; end-to-end encryption applies that model to messages between two people, so only the sender’s and recipient’s devices can read them.
No — not the contents. With a properly implemented zero-knowledge system, the provider stores only ciphertext and holds no keys. It can usually still see metadata such as file sizes, timestamps, and account activity, so read the provider’s privacy policy for what falls outside the encryption boundary.
In most client-side encrypted services, your data is gone for good. Because the provider has no key, it cannot reset your access the way a conventional service can. Some services offer a recovery key or recovery phrase — store it somewhere safe and offline when you set the account up.
It protects the content of the apps that use it, but not your whole connection. Other traffic, your IP address, and the sites you visit remain visible on the network. For connection-level protection you need a VPN — see our ranked list of the best VPN services for privacy and speed.

The bottom line

Client-side encryption moves the trust boundary from the provider to your own device: the server stores ciphertext, you keep the keys, and a breach or legal demand yields nothing readable. The trade-offs are real — no password reset, limited server-side features, and exposed metadata — so pair it with a safely stored recovery key and, where your connection itself needs protection, a separate tool like a VPN.

Back to glossary

Definitions only get you so far

Run the check and see which of these signals your own browser is handing over right now.

Run the fingerprint check