Skip to content
hashkey.bond

Archivetls

SNI Leaks Every Domain You Visit

Encrypted Client Hello closes the last plaintext metadata hole in TLS — where it is deployed.

Published
Reading time
1 min read

The TLS ClientHello carries the server name in plaintext, because the server needs it to pick a certificate. Anyone on-path sees which site you are visiting, even when the content is encrypted.

ECH in one paragraph

The client fetches a public key via DNS HTTPS records, encrypts the inner ClientHello (including the real SNI) to that key, and sends an outer ClientHello with a cover name. The server decrypts, completes the handshake, and the outer name never reveals the target.

What still leaks

  • DNS queries, unless DoH/DoT is used (and even then, resolver metadata).
  • IP addresses and traffic patterns.
  • The cover name must be a valid, co-hosted domain, which narrows deployment.

Practical stance

ECH is deployed by major CDNs and browsers, but it is not universal. For high-risk users, pair it with encrypted DNS and a network that does not profile destinations. For most apps, the bigger privacy win is removing third-party trackers.

Takeaway: TLS hides content, not metadata. ECH fixes one metadata channel; it does not make traffic anonymous.