Encryption and identity

What is metadata, and does encryption hide it?

Metadata is the information about a message rather than its content, such as who sent it, who received it, when, how large it was and where it came from. End-to-end encryption hides the content but usually leaves much of the metadata visible to the networks and servers that carry it. Hiding metadata takes extra measures, such as sealed envelopes, padding, onion routing and rotating radio addresses.

Learning objectives

After reading this article you will be able to:

  • Identify the four kinds of metadata a message envelope can reveal
  • Explain what end-to-end encryption and MLS leave visible to networks and relays
  • Compare sealed sender, gift wraps, padding and onion routing for hiding metadata

Content and the envelope

Every message has two parts: what it says, and the information needed to deliver it. Signal compares this to physical mail. The service cannot see into the encrypted package, but it uses what is written on the outside to deliver it, and traditionally that includes both the sender and the recipient.

That outside information is metadata. It usually answers four questions:

  • Who. The sender, the recipient, and for groups, who the members are.
  • When. The time a message was sent and how often messages flow.
  • How much. The size of each message and the volume of traffic.
  • Where. The network address a message came from, and on local radios, the physical place a device was seen.

Metadata matters because it can be revealing on its own. RFC 9750, the MLS architecture document, notes that even fields that look harmless can let a network observer reconstruct sensitive information when they are correlated with other data.

What end-to-end encryption leaves visible

End-to-end encryption protects content. It was not designed to hide the envelope, and most systems leave several parts of it exposed.

The network sees endpoints. The Tor Project explains that every internet packet carries a source and destination address, and every router along the way learns that the sender is communicating with the receiver. A local internet provider is in a position to build a profile of a person’s internet use.

Group protocols expose some structure. RFC 9420 lists what MLS does not keep confidential, including key packages, the unencrypted header fields of encrypted messages, and the lengths of encrypted messages. From these, an observer might infer the group’s identifier, its current epoch and how often the group changes, how often messages are sent and who the members are. MLS is designed on the assumption that the transport layer keeps metadata private from network observers, and RFC 9750 recommends running it over TLS or QUIC.

Formats state their own limits. NIP-44, the encryption format used on Nostr, lists them plainly: relays and intermediaries may see a user’s IP address, the timestamp is public, and padding only partially hides message length.

Ways to hide more

Hiding metadata takes extra design, and each technique covers part of the envelope.

  • Sealed sender. In 2018 Signal described a way to drop the sender from the outside of the envelope. The sender’s certificate travels inside an encrypted envelope addressed to the recipient, and the message is handed to the service without authenticating. Signal said resistance to traffic correlation through timing and IP addresses was still being worked on.
  • Gift wraps. Nostr’s NIP-59 wraps an encrypted event inside another one signed by a random, one-time key, and says timestamps on the outer layers should be tweaked to resist time analysis. How can a relay carry a message it cannot read? describes the layers.
  • Padding. NIP-44 pads each message before encrypting it, using sizes related to powers of two, so the ciphertext reveals less about the true length. It still describes this as only a partial fix.
  • Onion routing. Tor encrypts traffic in layers and sends it through a series of proxies, so the local provider sees only that a user is talking to Tor. It has limits: the Tor Project says an observer who can watch both ends of a connection can correlate timing, and Tor does not defend against that threat model.

RFC 9750 recommends MASQUE, Tor or a VPN where privacy or anonymity is important, and notes that anonymous credentials alone might not be enough.

Metadata on the radio

Local radios have their own envelope. Bluetooth devices announce themselves through advertising, and the Bluetooth SIG notes that advertising packets contain a device address, which a hidden receiver could log with the time and place to track someone.

The countermeasure is a feature the SIG calls Bluetooth LE Privacy, available since Bluetooth Core 4.0. It replaces the address in advertising packets with a random value that changes at intervals the manufacturer chooses, so a series of sightings looks like different devices. Devices that have paired share an Identity Resolution Key, which lets them recognise each other’s changing addresses.

Application data sent over the radio can leak metadata too. Offline Protocol’s security docs give an example: in its mesh SDK, service advertisements and requests are signed plaintext, readable by any observer, and its Nostr sealing protects content but not all traffic metadata.

Planning for what stays visible

Hiding every piece of metadata is rarely possible, so the practical step is to decide which parts matter for your users.

  • Assume carriers see timing, volume and network addresses unless you add a layer that hides them.
  • Keep sensitive data out of fields that travel in the clear, such as headers, labels and advertisements.
  • Treat group membership and contact lists as sensitive in their own right.
  • Write down what each server, relay and nearby observer can learn, and review it when the design changes.

Frequently asked questions

Does a VPN hide metadata?

It can help with network-level metadata. RFC 9750 notes that a connection to a messaging service leaks information about where a request comes from, such as the device's IP address, and lists a VPN, along with Tor and MASQUE, as ways to improve metadata protection where privacy or anonymity is important.

Is padding enough to hide message size?

Usually not completely. NIP-44, for example, says its padding only partially obscures true message length.

Sources

Build it with Offline Protocol

The security docs separate what the mesh SDK encrypts with MLS from control traffic, such as service advertisements and requests, that is signed but readable by observers, and list the residual risks recorded for v0.27.0.

Read the security docs