Server Name Indication payload is not encrypted, thus the hostname of the server the client tries to connect to is visible to a passive eavesdropper. This protocol weakness was exploited by security software for network filtering and monitoring and governments to implement censorship. Presently, there are multiple technologies attempting to hide Server Name Indication:
Domain fronting Domain fronting is a technique of replacing the desired host name in SNI with another one hosted by the same server or, more frequently, network of servers known as a
content delivery network. When a client uses domain fronting, it replaces the server domain in SNI (unencrypted), but leaves it in the HTTP host header (which is encrypted by TLS) so that server can serve the right content. Domain fronting violates the standard defining SNI itself, so its compatibility is limited (many services check that SNI host matches the HTTP header host and reject connections with domain-fronted SNI as invalid). While domain fronting was used in the past to avoid government censorship, its popularity dwindled because major cloud providers (Google, Amazon's AWS and CloudFront) explicitly prohibit it in their TOS and have technical restrictions against it.
Encrypted Client Hello Encrypted Client Hello (
ECH) is a
TLS 1.3 protocol extension defined in in March 2026 that enables encryption of the whole Client Hello message, which is sent during the early stage of TLS 1.3 negotiation. ECH encrypts the payload with a public key that the relying party (a web browser) needs to know in advance, which means ECH is most effective with large
CDNs. Transmission of the public keys and configuration information via
HTTPS and SVCB DNS records is defined in . The initial 2018 version of this extension was called Encrypted SNI (ESNI). The short name was
ECHO in March 2020 and changed to
ECH in May 2020. In July 2023, in the
IETF117 meeting, members working on ECH informed Chrome and Firefox were doing a 1% sample trial, and the team expects the final draft to be submitted to the
IESG evaluation by January 2024. In September 2023, Cloudflare started to support ECH for hosted domains. In September 2023,
Chromium version 117 (used in
Google Chrome,
Microsoft Edge,
Samsung Internet, and
Opera) enabled ECH by default, also requiring keys to be deployed in
HTTPS resource records in DNS. ECH is enabled in Firefox by default since version 119 released in October 2023, and is recommended by Mozilla to be used along with
DNS over HTTPS. In April 2026,
OpenSSL 4.0 included support for ECH. Since its December 2025 release,
NGINX supports ECH with OpenSSL 4.0.
ESNI (2018–2020) The initial 2018 version of this extension was called Encrypted SNI (ESNI) and its implementations were rolled out in an "experimental" fashion to address this risk of domain eavesdropping. In contrast to ECH, Encrypted SNI encrypted just the SNI rather than the whole Client Hello. and required enabling
DNS over HTTPS (DoH). But it was removed in January 2021 with the release of Firefox 85. Both ESNI and ECH are compatible only with TLS 1.3 because they rely on KeyShareEntry which was first defined in TLS 1.3. In August 2020, the
Great Firewall of China started blocking ESNI traffic, while still allowing ECH traffic. In October 2020, Russian ISP
Rostelecom and its mobile operator
Tele2 started blocking ESNI traffic. In September of the same year, Russian censorship ministry
Roscomnadzor planned to ban a range of encryption protocols, among which were TLS 1.3 and ESNI, which hindered web site access censorship. ==Implementation==