Skip to main content

Privacy & safety

End-to-end encryption vs encryption at rest: who can actually read your messages

The three layers of encryption most apps use, what each one hides and from whom, and how to tell which one an app really offers.

By the Asyncbit teamReviewed 9 min read

End-to-end encryption (E2EE) means only the devices in a conversation hold the keys, so the company running the service cannot read your messages even though every message passes through its servers. Encryption at rest means messages are scrambled while they sit in the company's storage, but the company holds the key — it protects against someone who steals a disk or a copy of the database, not against the service itself.

Almost every modern app adds a third layer, encryption in transit (TLS, the padlock in your browser), which protects a message on its way between your device and the server. The useful question is never just “is it encrypted?” but “who holds the key at each stage?” This guide answers that for all three layers, shows who can read what, and explains the real trade-offs — search, moderation and multi-device sync — that push services toward one design or the other.

The three layers of encryption, in plain terms

In transit (TLS). When your phone sends a direct message, it travels over Wi-Fi, a mobile network and the internet before it reaches the service. TLS encrypts that journey, so the person running the café Wi-Fi or anyone watching the network sees scrambled traffic. But TLS ends at the server. The server decrypts the message to process it, which means the service sees the plain text.

At rest. Once the server has the message, it has to store it somewhere — a database, a disk, a backup. Encryption at rest scrambles it in storage using a key the service controls. If someone walks off with a hard drive or gets hold of a leaked database dump without the key, they get unreadable data. The service itself can still decrypt, because its application needs to show you your chat history.

End to end. With E2EE, your device encrypts the message using keys that exist only on the devices of the people in the conversation. The server stores and forwards ciphertext it has no way to open. The Signal Protocol, used by Signal and WhatsApp, is the best-known example; Telegram offers E2EE in its optional Secret Chats, while its default cloud chats use client–server encryption.

Who can read your messages under each model

Who can read message content, by encryption model
Someone snooping on public Wi-Fi
TLS only:No
TLS + encryption at rest:No
End-to-end encryption:No
The service's servers and staff with access
TLS only:Yes
TLS + encryption at rest:Yes — the service holds the key
End-to-end encryption:No — only metadata
Someone who steals a disk or database backup
TLS only:Yes, if stored in plain text
TLS + encryption at rest:No, if the key is kept separately
End-to-end encryption:No
The service, when legally compelled
TLS only:Can hand over content
TLS + encryption at rest:Can hand over content
End-to-end encryption:Can hand over metadata it keeps, not content
An attacker who takes over the running server
TLS only:Yes
TLS + encryption at rest:Usually yes, because the app can decrypt
End-to-end encryption:Not stored content, though they may see metadata
Someone holding your unlocked phone
TLS only:Yes
TLS + encryption at rest:Yes
End-to-end encryption:Yes

The last row matters more than people expect. Encryption protects data in places you can't see; it does nothing once the message is on a screen. A shared tablet, a friend's screenshot or a phone left unlocked defeats every model equally.

What encryption at rest is good for — and where it stops

Encryption at rest gets undersold because it isn't end-to-end. It still closes real gaps. Cloud providers retire disks, backups get copied to other systems, and databases are sometimes exposed by misconfiguration. In each case, data encrypted at rest with a separately held key is useless to whoever finds it.

  • Protects against: stolen or discarded storage, leaked backups and database dumps, and staff or contractors who can reach the database but not the keys.
  • Does not protect against: the service reading messages through its own application, a compromise of the running application server, or a legal order served on the service.
  • Depends on: how the keys are stored. At-rest encryption with the key sitting next to the data in the same database is mostly theater.

What end-to-end encryption does not hide

E2EE protects the content of a message. It doesn't make you invisible, and it helps to know its edges before you rely on it.

  • Metadata. The service generally still knows your account, who you talk to, when, how often and from which IP address. Some apps work hard to minimize this; many don't.
  • The other person. E2EE stops the service reading your message. It does not stop the recipient forwarding, screenshotting or showing it to someone.
  • Backups. If your chat history is backed up to a cloud drive without its own end-to-end protection, the backup can be the weak point. Check whether your app offers encrypted backups and whether they are switched on.
  • Notifications. Message previews on a lock screen are visible to anyone nearby, and notification text is handled by your phone's system software.
  • The app itself. You are trusting the app on your device to encrypt properly and not leak keys. Open-source clients and published security reviews make that trust easier to check.

Why not every app uses end-to-end encryption

If E2EE is stronger, why do so many services choose encryption at rest? Because a server that can't read messages also can't do things people expect from it. These are real engineering trade-offs, not excuses.

  1. 1

    Search

    Server-side search across years of messages needs readable text. E2EE apps search on your device instead, which only covers what that device has downloaded.

  2. 2

    Moderation of reported messages

    On an at-rest service, a moderator can open a reported conversation and see what happened. On an E2EE service, the report has to include the messages from the reporter's own device, because the server can't decrypt anything.

  3. 3

    Multi-device sync and history

    With at-rest encryption, you log in on a new browser and your full history is there. With E2EE, every device needs its own keys, and history on a new device depends on a transfer or an encrypted backup. Lose your only device without one and your history can be gone for good.

  4. 4

    Account recovery

    A password reset on an at-rest service restores everything, because the service holds the keys. With E2EE, the service often can't restore what it never could read.

  5. 5

    Large groups and web access

    Encrypting for every member's devices gets more complex as groups grow, and web clients have to handle keys carefully. Many E2EE apps solve this well today, but it is more work.

None of this makes E2EE optional for high-risk conversations. It explains why a community app and a secure messenger can reasonably make different choices, and why you should know which one you're using.

A worked example: an app that encrypts at rest

Asyncbit's messaging is a clear example of the at-rest model, and it says so. Messages are encrypted at rest on the server with Fernet, a standard scheme that combines AES-128 in CBC mode with an HMAC-SHA256 signature, so stored messages are both scrambled and tamper-evident. Messages are not end-to-end encrypted.

What that means in practice: a leaked copy of the message store without the key is unreadable, but the service itself can decrypt. That is what lets moderators review a message someone has reported, which matters on a social network where content moderation depends on seeing what was actually said. Push previews stay generic — “New message” — so the text of a chat is not placed in a push notification that passes through your phone's notification system.

How to tell which kind of encryption an app uses

  1. Read the exact wording. “Messages are encrypted” with no qualifier usually means in transit, at rest, or both. Services that offer E2EE say “end-to-end” explicitly, and say which chats it covers.
  2. Check whether it's on by default. Some apps offer E2EE only in a special chat mode you have to start deliberately.
  3. Look for security codes. E2EE apps usually let you compare a safety number or QR code with a contact to confirm no one is sitting in the middle.
  4. Think about recovery. If you can reset your password on a brand-new device and see your full history with no backup step, the service very likely holds the keys.
  5. Read the moderation policy. If staff can review reported messages from the server, those messages aren't end-to-end encrypted.

For the wider picture beyond messages — profiles, posts and who can find you — see our guide on protecting your privacy on social media, and the plain-language definitions of end-to-end encryption and encryption at rest.

Which one do you need?

Matching the encryption model to the situation
Planning a weekend with friends
What matters most:Convenience, history on every device
Reasonable choice:At rest is fine
Chatting with people from an online community
What matters most:Safety tools, reporting that works
Reasonable choice:At rest with good moderation
Discussing a medical or legal problem
What matters most:Nobody but the recipient reads it
Reasonable choice:End-to-end encrypted messenger
Talking to a journalist or whistleblowing
What matters most:Content and ideally metadata protected
Reasonable choice:E2EE with minimal metadata, careful habits

Whatever you choose, the basics still carry most of the weight: a strong unique password, a locked phone, and thinking twice before sending something you'd hate to see screenshotted.

The short version

  • TLS protects messages on the network, encryption at rest protects them in storage, and only end-to-end encryption keeps them from the service itself.
  • With encryption at rest, the service holds the key and can read messages; with E2EE, it sees metadata but not content.
  • E2EE costs server-side search, easy multi-device history and moderator review of reported messages, which is why some apps choose at-rest encryption.
  • Asyncbit encrypts messages at rest with Fernet and is not end-to-end encrypted; use an E2EE messenger for high-risk conversations.

Frequently asked questions

Is HTTPS the same as end-to-end encryption?
No. HTTPS (TLS) encrypts the connection between your device and the server, but the server decrypts it on arrival. End-to-end encryption keeps the message encrypted until it reaches the other person's device.
Can the company read my messages if they are encrypted at rest?
Its systems can, because the company holds the key. Encryption at rest protects stored data from outsiders who get hold of disks or backups, not from the service itself.
Are Asyncbit messages end-to-end encrypted?
No. They are encrypted at rest on the server using Fernet (AES-128-CBC with HMAC-SHA256). Push previews are generic, and moderators can review messages that are reported.
Does end-to-end encryption hide who I am talking to?
Usually not fully. The service typically still knows which accounts talk to each other and when, even though it cannot read the content.

Tools that stay in your hands

Block, mute and report are available on every profile, post and conversation on Asyncbit.

Read how safety works