• Latest
  • Trending
  • All
Official Google diagram of a client connection in three numbered steps: a DNS lookup with a query and an address, a TLS ClientHello and ServerHello, then a content exchange with a website. A callout on the DNS step reads 25% of global web traffic is now protected by encrypted DNS, and a callout beside an Android phone on the ClientHello step reads Android 17 supports ECH GREASE by default.

Android 17 hides the SNI, not your DNS or destination

3 September 2026
Answer card stating that Mullvad announced on 3 September 2026 that it is shutting down its public encrypted domain name system servers on 2 November 2026 and sponsoring the Quad9 Foundation instead, with 194.242.2.2 and its five sibling addresses all going away, and virtual private network customers unaffected.

Mullvad’s DNS servers go dark on 2 November, and Quad9 blocks no ads

5 September 2026
OpenAI announcement image for GPT-6 Astra, a spiral galaxy of white, blue and amber points of light curling around a bright core on a near black star field.

GPT-6 Astra lists at $10 and $50, 2.5x what GPT-5.6 Sol costs

6 September 2026
Google's official announcement image for the release, reading Introducing Gemini 3.8 Flash and 3.8 Flash Cyber in black type over a pale blue background with a blurred white chevron and the four colour Gemini spark below.

Gemini 3.8 Flash keeps the price and the 1 January cliff

3 September 2026
Answer card stating that Anthropic announced Enterprise Frontier Safeguards on 1 September 2026, that activity data used for misuse monitoring moves into cloud storage the customer controls under the customer own encryption keys, that Anthropic charges nothing for the feature while the cloud provider bills storage and egress, and that the phased rollout starts later in autumn 2026 with interim zero data retention on Fable 5 and Fable 5.1 for eligible customers.

Anthropic moves retention into your own cloud, for 30 days

3 September 2026
Still frame from the Claude Fable 5.1 launch video showing model-designed protein binders in orange docked against twelve grey target proteins, rendered as ESMFold2 structure predictions.

Claude Fable 5.1 breaks forced tool use, cuts cache 75%

1 September 2026
Answer card stating that on 31 August 2026 the European Commission designated ChatGPT a Very Large Online Search Engine under the Digital Services Act, the first conversational AI service classified that way, because it answers user prompts and queries including by searching the web, with OpenAI having declared roughly 159.1 million average monthly users in the European Union for ChatGPT search.

The EU now calls ChatGPT a very large search engine

3 September 2026
Answer card stating that on 31 August 2026 the Department of War added OpenAI ChatGPT Mil and Starshield AI Grok for Government to the GenAI.mil portal alongside Google Gemini, all three accredited at Impact Level 5 for Controlled Unclassified Information, with 1.7 million unique users onboarded out of roughly 3 million eligible personnel, and ChatGPT Mil currently serving GPT-5.4 Terra with GPT-5.6 Terra said to be rolling out.

ChatGPT Mil and Grok reached IL5 on GenAI.mil

3 September 2026
Answer card stating that Anthropic opened a research preview of the Model Hardware Standard on 27 August 2026, standardising the driver layer between an operating system and a laboratory instrument with read and write primitives plus discovery and safety limits, reachable through MCP as well as a command line and code files, with no public specification published.

Anthropic’s Model Hardware Standard is gated, and sits under MCP

3 September 2026
Official Cohere key art for the Parse 5 launch: the Cohere mark and the wordmark Parse with a superscript 5 in white, centred on a soft out of focus gradient of deep blue, violet and amber curves.

Cohere Parse 5 is $1.50 per 1,000 pages, on three of five dimensions

3 September 2026
Title card from the OpenAI announcement video: a man sits on a blue sofa in a loft with tall windows and potted plants, a laptop open on the coffee table in front of him, with the words WebMCP in ChatGPT in large white type across the lower left.

WebMCP in ChatGPT needs GPT-5.6 Sol or Terra

3 September 2026
The Agentic Coding section of the official Hy4 preview benchmark appendix published by Tencent, a table comparing Hy3 and Hy4 preview against DeepSeek V4 Pro 0813, Qwen 3.8 Max, GLM 5.3, Kimi K3, GPT 5.6 Sol and Claude Opus 5 across SWE-bench Multilingual, SWE-bench Pro, DeepSWE, three SWE Atlas tasks, SWE-Marathon, Terminal-Bench 2.1, NL2Repo-Bench, CyberGym, ProgramBench, PostTrainBench and Harbor-Index.

Tencent’s 770B Hy4 tops one benchmark row in 46

3 September 2026
Official Qwen architecture diagram for Qwen3.8-Flash-Next, showing input tokens feeding a vocabulary embedding and a separate n-gram embedding layer at layer 2, a stack of Gated DeltaNet layers punctuated by Qwen Sparse Attention layers in a three to one hybrid block, Gated Residual read and write gates around each MoE block, and MTP modules beside the prediction head.

Qwen3.8-Flash-Next runs 6B active and weighs 173 GiB

3 September 2026
  • About
  • Contact
  • Privacy
  • Legal
Sunday, September 6, 2026
  • Login
Packet Nebula
  • Home
  • Articles
    • Security
    • Network
    • Dev
    • Sysadmin
    • SEO
    • Email & DNS
  • Tools
    • Network tools: free, fast, no signup
    • Security tools: free, fast, no signup
    • Developer tools: free, fast, no signup
    • Sysadmin tools: free, fast, no signup
    • SEO tools: free, fast, no signup
    • Email & DNS tools: free, fast, no signup
  • Download
  • About
No Result
View All Result
Packet Nebula
No Result
View All Result
Home Network

Android 17 hides the SNI, not your DNS or destination

by stephane
3 September 2026
in Network
0
Official Google diagram of a client connection in three numbered steps: a DNS lookup with a query and an address, a TLS ClientHello and ServerHello, then a content exchange with a website. A callout on the DNS step reads 25% of global web traffic is now protected by encrypted DNS, and a callout beside an Android phone on the ClientHello step reads Android 17 supports ECH GREASE by default.
492
SHARES
1.4k
VIEWS
Share on FacebookShare on Twitter

Somebody on the network team pulls a capture off the guest wifi, filters for TLS, and half the hostnames are gone. The Android half. That is Android 17 doing what Google announced on 27 August: Encrypted Client Hello is on by default, so the SNI field that used to spell out the destination in clear text is encrypted now. What most of the coverage skipped is how narrow that is. We went through the developer docs, and the short version is that your DNS query still carries the same hostname unless the device uses private DNS, the destination IP never moved, and ECH only fires when four separate things line up. Miss one and Android still sends an ECH extension. It is just full of random bytes.

The short answer

Android 17 enables Encrypted Client Hello by default for apps that target API 37. It encrypts the SNI in the TLS handshake, so a box on the path stops reading the hostname there. It does not touch your DNS query or your destination IP. And it only encrypts anything when the app, its HTTP library, DNS and the far end server all cooperate. Otherwise Android sends decoy bytes that look identical on the wire.

API 37the target level that switches ECH on
5.5.0the OkHttp release Google points developers at
740internet providers Jigsaw tested GREASE across
Answer card stating that on 27 August 2026 Google announced that Android 17 enables Encrypted Client Hello by default for apps targeting application programming interface level 37, that Encrypted Client Hello encrypts the Server Name Indication in the transport layer security handshake so network observers stop reading the hostname, that the domain name still appears in the plain text domain name system query unless the device uses private domain name system, that the destination internet protocol address and the traffic volume are unchanged, and that Google tells developers to upgrade to OkHttp version 5.5.0 and enable Encrypted Client Hello.
One card. The feature is real and the scope is smaller than the headlines.

What the 27 August post actually says

Official Google diagram of a client connection in three numbered steps: a DNS lookup with a query and an address, a TLS ClientHello and ServerHello, then a content exchange with a website. A callout on the DNS step reads 25% of global web traffic is now protected by encrypted DNS, and a callout beside an Android phone on the ClientHello step reads Android 17 supports ECH GREASE by default.

Image: Google

The mechanism first, because it is the part people get backwards. HTTPS has always encrypted the page. The ClientHello that opens the connection has always named the site in clear, because the server needs to know which certificate to hand back. ECH wraps that inner ClientHello in encryption only the destination can open and sends an outer one carrying the provider’s public name instead. Google calls Android 17 the first major mobile OS with broad ECH support and says it works in tandem with private DNS, which is a more honest framing than most of what got written about it.

Read Google’s own diagram above for the giveaway. The 25 percent figure sits on the DNS step, not the TLS step. Encrypted DNS covers a quarter of global web traffic by their count, which means for the other three quarters the hostname is already out loud, one round trip before the handshake ECH just protected.

Three more changes landed in the same post, on the same handsets. Certificate Transparency is now on by default, so a certificate has to be logged in a public registry. Local Network Protection is enforced, meaning an app has to hold permission before it scans for or connects to devices on your LAN. And participating carriers can switch 2G off for their subscribers with nothing required from the user. That LAN one probably deserves its own article, because it quietly changes what a mobile app can discover on a corporate wifi.

Checklist separating what Encrypted Client Hello on Android 17 removes from what a network operator can still observe, listing on the removed side the Server Name Indication in the ClientHello and the fact that Certificate Transparency is also on by default in Android 17, and on the still visible side the plain text domain name system query when private domain name system is not configured, the destination internet protocol address and the traffic volume, the public name of the content delivery network that the outer ClientHello now carries, and the hostname based filtering and transport layer security inspection rules that stop matching.
Two things go away. Four do not.

What it costs you, if you run the network

If you filter, log or bill on SNI, those rules stop matching for Android 17 traffic that clears every gate below. That is the whole operational story, and it is enough.

Two consequences worth planning for. Hostname policy needs a second source of truth, and the obvious one is DNS: run the resolver, enforce there, and Android’s own private DNS setting works with you rather than against you. If your policy instead lives in a TLS inspection box keyed on the SNI it reads off the wire, that box now sees a provider’s public name on some connections and a real hostname on others, with no way to tell which is which from the extension alone. Second thing, and the one that will actually bite: go check what your rules do when the hostname is missing rather than wrong. Most fail open. Ours did.

Honestly, both readings of this are correct at the same time. It is a genuine privacy win for someone on a hostile network, and a real headache for someone running an honest one. Google picked a side, and I think they picked the right one, though the people who have to rewrite a filtering policy this quarter are allowed to be annoyed about it.

Four gates, then encryption

Diagram of the four conditions that must all hold before Encrypted Client Hello actually encrypts the Server Name Indication on Android 17, namely that the application targets application programming interface level 37, that its networking library supports Encrypted Client Hello such as OkHttp 5.5.0 or WebView or HttpEngine, that the domain name system returns an HTTPS resource record carrying an EchConfigList, and that the destination server supports the protocol, with the outcome being real Encrypted Client Hello when all four hold and Encrypted Client Hello GREASE with a randomised extension and a clear text hostname when any one is missing, and noting that the two cases look alike on the wire.
Default on, in the docs, means default on for apps that target API 37 and use a library that speaks it.

The developer documentation is blunter than the blog post. ECH is used for TLS connections in apps targeting API level 37 or higher, and it is active only if the networking library has integrated ECH support and the remote server supports the protocol. So an app compiled against API 35 on a brand new Pixel keeps doing exactly what it did last month.

The config itself comes out of DNS. The client queries an HTTPS resource record for the hostname, pulls an EchConfigList out of it, and feeds that to the handshake. No record, no ECH. That dependency is why the private DNS pairing matters twice over: without it, the lookup that fetches the ECH config is itself in clear, naming the site you are about to hide.

When any gate fails, Android sends ECH GREASE, an ECH extension with randomised contents. It is there so middleboxes tolerate the extension instead of dropping it, and so real ECH does not stand out by existing.

If you ship the app rather than the network, the opt-out is per domain, in the Network Security Configuration:

<network-security-config>
 <base-config>
 <domainEncryption mode="enabled"/>
 </base-config>
 <domain-config>
 <domain includeSubdomains="true">disable-ech.example.com</domain>
 <domainEncryption mode="disabled"/>
 </domain-config>
</network-security-config>

Two values, enabled and disabled, set globally in base-config or overridden per domain. Google’s docs are clear that the element only does anything when your networking library has adopted ECH, which is the OkHttp 5.5.0 line again. There is also an EchConfigMismatchException for the case where a server has rotated its config: the retry list arrives in the exception, and you have to verify the public hostname before trusting it.

To see what a given server negotiates today, our SSL checker reports the protocol version and the certificate chain. And ECH is a TLS 1.3 extension, so if the version story underneath it is fuzzy, we wrote up TLS 1.2 versus TLS 1.3 a while back.

Sources

Google, Android 17 introduces 4 new network security features, 27 August 2026 (the announcement and the diagram above). Android Developers, Adopting Encrypted Client Hello and Behavior changes: apps targeting Android 17 or higher (API 37 default, the DNS HTTPS record, GREASE, the exception handling). Android Developers, Network security configuration (the domainEncryption element and the example above). Engadget, Google deploys support for Encrypted Client Hello on Android 17, 27 August 2026. Help Net Security, Android 17 adds new protections against sneaky Wi-Fi tracking and web snooping, 28 August 2026 (the Jigsaw testing figures).

Frequently asked questions

Does Encrypted Client Hello hide my browsing from my ISP?

Partly, and only if several things hold at once. ECH encrypts the Server Name Indication inside the TLS handshake, so the hostname stops appearing there. It does nothing about the DNS query that came first, which still names the destination in clear unless the device is set up for private DNS, and it does nothing about the destination IP address or the amount of data you move. Google frames ECH as working in tandem with private DNS for exactly that reason.

Is ECH on for every app on an Android 17 phone?

No. It is enabled by default for apps that target Android 17, API level 37, and only when the networking library the app uses has integrated ECH support. Google names HttpEngine, WebView and OkHttp, and tells developers to upgrade to OkHttp 5.5.0. An app still targeting an older API level, or one that opens its own sockets with a hand-rolled HTTP stack, behaves the way it did before.

What is ECH GREASE and why does it matter to me?

When ECH cannot be negotiated, Android sends an ECH extension filled with randomised contents instead of leaving it out. The point is that middleboxes get used to seeing the extension, and that using real ECH does not become a distinguishing signal on its own. The practical consequence for anyone reading a capture: the presence of an ECH extension tells you nothing about whether the hostname was actually hidden. Google says Jigsaw tested GREASE against the top 10,000 domains, then across 202 countries and 740 internet providers, and reports interference staying near zero.

How do I turn ECH off for one domain in my Android app?

Android 17 adds a domainEncryption element to the Network Security Configuration file. It takes a mode attribute with the values enabled or disabled, and you can put it in base-config to set the global behaviour or in a domain-config block to override one domain. The element only has an effect if the app's networking library supports ECH in the first place.

What else shipped in the same Android 17 announcement?

Three other network changes. Certificate Transparency is enabled by default, so certificates have to be logged in a public registry. Local Network Protection is enforced, so an app has to hold permission before it scans for or connects to devices on the local network. And participating mobile operators can now switch 2G off for their subscribers with no action needed from the user.

Tags: androiddnsechnetworknewsprivacytls
Share197Tweet123
stephane

stephane

  • Trending
  • Comments
  • Latest
Answer card: Proton Lumo 2.0 is private by policy, not by locality. Saved history is locked so even Proton cannot read it, but the prompt is decrypted on a Proton EU server to answer it, then forgotten.

Proton Lumo 2.0 review: how private is it, really?

3 September 2026
Google's official announcement image for the release, reading Introducing Gemini 3.8 Flash and 3.8 Flash Cyber in black type over a pale blue background with a blurred white chevron and the four colour Gemini spark below.

Gemini 3.8 Flash keeps the price and the 1 January cliff

3 September 2026
Answer card stating that Anthropic announced Enterprise Frontier Safeguards on 1 September 2026, that activity data used for misuse monitoring moves into cloud storage the customer controls under the customer own encryption keys, that Anthropic charges nothing for the feature while the cloud provider bills storage and egress, and that the phased rollout starts later in autumn 2026 with interim zero data retention on Fable 5 and Fable 5.1 for eligible customers.

Anthropic moves retention into your own cloud, for 30 days

3 September 2026
Answer card: JWTs are not encrypted, anyone can read them; the signature proves who issued the token, not who may read it.

Are JWTs encrypted? No, and the difference will bite you

0
Answer card: a random 8 character password falls in under 2 hours offline, while 16 random characters hold for 1.4 trillion years at the same speed.

How long does it take to crack a password in 2026?

0
Answer card: three DNS records decide if your mail lands or bounces; SPF lists allowed senders, DKIM signs messages, DMARC sets the failure policy.

SPF, DKIM and DMARC explained: the records your email needs

0
Answer card stating that Mullvad announced on 3 September 2026 that it is shutting down its public encrypted domain name system servers on 2 November 2026 and sponsoring the Quad9 Foundation instead, with 194.242.2.2 and its five sibling addresses all going away, and virtual private network customers unaffected.

Mullvad’s DNS servers go dark on 2 November, and Quad9 blocks no ads

5 September 2026
OpenAI announcement image for GPT-6 Astra, a spiral galaxy of white, blue and amber points of light curling around a bright core on a near black star field.

GPT-6 Astra lists at $10 and $50, 2.5x what GPT-5.6 Sol costs

6 September 2026
Google's official announcement image for the release, reading Introducing Gemini 3.8 Flash and 3.8 Flash Cyber in black type over a pale blue background with a blurred white chevron and the four colour Gemini spark below.

Gemini 3.8 Flash keeps the price and the 1 January cliff

3 September 2026
  • About
  • Contact
  • Privacy
  • Legal

Copyright © 2026 Stephane Cardon.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Home
  • Articles
    • Security
    • Network
    • Dev
    • Sysadmin
    • SEO
    • Email & DNS
  • Tools
    • Network tools: free, fast, no signup
    • Security tools: free, fast, no signup
    • Developer tools: free, fast, no signup
    • Sysadmin tools: free, fast, no signup
    • SEO tools: free, fast, no signup
    • Email & DNS tools: free, fast, no signup
  • Download
  • About

Copyright © 2026 Stephane Cardon.