← field notes

What your internet provider can actually see

isp-privacy dns traffic-analysis encryption

Under the UK’s Investigatory Powers Act, providers can be compelled to keep twelve months of “internet connection records” on every subscriber. The Home Office pitched them as the equivalent of an itemised phone bill: who was contacted, when, and for how long, minus the content. That is the most useful summary of modern network surveillance going, because an itemised bill is precisely what encryption left behind.

Nearly the whole web is encrypted now. A provider cannot read the page you loaded, the message you sent, or the video you watched. It can still reconstruct most of your evening.

The itemised bill your router writes

Drop the wiretap image first. Providers are generally not recording the contents of residential connections. Full packet capture at consumer scale is expensive to store, legally messy, and worthless against sealed payloads.

What happens instead is cheaper and much older. Routers export flow records: one summary line per conversation, listing the source address, the destination address, the port and protocol, the timestamps, and the packet and byte counts in each direction. NetFlow started life at a router vendor in the 1990s, and its standardised successor IPFIX is what most large networks run today.

Flow records cost close to nothing. They come out of hardware that had to parse the packet header anyway, they compress well, and a year of them for one household is small enough that retention is a policy question, not a budget one. Which is why the itemised bill is everywhere and full capture mostly is not.

What survives encryption on every packet

Encryption protects the payload. The header has to stay readable or the packet cannot be delivered.

Four things therefore leave your house in clear text on every packet, whatever the cipher:

  • the source address, which identifies your line
  • the destination address, which identifies the machine you reached
  • port and protocol, narrowing down the kind of service
  • the size of the packet and the moment it arrived

That last one gets ignored constantly. Nothing inside the packet describes its own length and arrival time; those are properties of the packet existing at all. QUIC and HTTP/3 pulled almost everything else into the encrypted envelope and changed nothing about them.

DNS is the confession

The richest single source sits one step earlier than the flow record. Before a device connects to anything, it has to turn a name into a number, and on most home connections the resolver doing that translation was handed out by the router, which got it from the provider. Classic DNS travels unencrypted on port 53. No inference is required: the device announces every destination in advance, in words.

Names carry meaning that addresses never will. An address is an integer. A name was chosen by a human to be memorable, so a resolver log reads like a diary, and it covers hardware as well as browsing. A smart TV phones home to vendor-specific domains on a schedule, and so does a thermostat, a doorbell camera and a games console. A week of lookups is enough to inventory the brand of nearly every connected device in a house.

Names beat addresses structurally, too. Most of the web now sits behind a handful of CDNs, and a single anycast address at one of those networks fronts tens of thousands of unrelated sites. A flow record to that address proves only that you loaded something behind Cloudflare or Fastly. The name collapses that ambiguity to exactly one site.

The handshake used to say it out loud

For most of the HTTPS era, encrypted connections opened by announcing their destination in plain text.

When a browser opens a TLS session it has to name the site it wants, because one server hosts many. That field, Server Name Indication, went out in the first message of the handshake, before any keys existed, readable by anything on the path. The padlock was genuine and the destination was public.

TLS 1.2 leaked more than that. The server sent its certificate in the clear, and a certificate carries the site name, the issuer, and any other names on the same cert. There was a third leak almost nobody remembers: browsers checked revocation by asking the certificate authority about that exact certificate, live, over unencrypted OCSP. A privacy hole shaped like a browsing history, streamed to a company the user had never chosen.

What TLS 1.3 and ECH changed

TLS 1.3, finalised in 2018, moved the certificate inside the encrypted part of the handshake. Revocation has since shifted mostly to stapling and short-lived certificates, which closed the OCSP hole as a side effect.

SNI took longer. Encrypted Client Hello wraps that first message using a public key the site publishes in DNS. Firefox switched it on by default in 2023 and the large CDNs support it.

The circularity in that design is worth sitting with. ECH hides the name in the handshake by publishing a key in DNS, so it only helps if the DNS lookup was itself encrypted. Get the lookup wrong and ECH buys nothing, because the destination was already announced a step earlier. None of it touches the destination address either, which the network needs to deliver anything.

Worth knowing too: the certificate was never a secret. Every publicly trusted certificate gets published to Certificate Transparency logs anyone can query. Encrypting the handshake certificate hides the link between you and a site, not the site.

The shape is the tell

Classification does not require content. It requires rhythm.

A video call is a sustained stream of small packets in both directions with roughly balanced volume each way. Almost nothing else on a home line looks like that, and it can be labelled from a flow record alone.

Streaming is the mirror image: heavily downstream, arriving in bursts as the player refills its buffer. Those burst sizes track the encoded bitrate of the specific title, which varies scene by scene, so the sequence of segment sizes works as a fingerprint. Researchers identified individual titles on a major streaming service in 2017 from packet sizes alone.

Voice is worse, and the finding is older. A 2008 paper showed that encrypted VoIP using variable-bitrate codecs leaks phrase-level information, because the codec emits different packet sizes for different sounds. The cipher held. The shape talked.

Web pages have shapes too: connection counts, request ordering, response sizes. That is the whole basis of fifteen years of website fingerprinting research against anonymity networks.

Combine cheap flow storage with an ordinary classifier and a network operator can label every flow with an application name and a confidence score, without touching a payload. Vendors sell exactly this under headings like traffic visibility and application awareness, usually pitched as congestion management.

How long any of it is kept

Retention law is inconsistent enough that “what your provider knows” has a different answer per country.

The UK mandates up to twelve months of internet connection records. Australia’s 2015 scheme requires two years of metadata. The EU had a blanket directive until the Court of Justice invalidated it in 2014 as disproportionate, and member states have been litigating national replacements ever since. The US has no general mandate, which sounds better than it is: without one, retention is a commercial decision, and those run from 90 days to several years.

The buyers

In March 2017 the US Congress repealed FCC rules that would have required opt-in consent before providers monetised subscriber data. The Senate carried it by two votes.

Nobody is buying named browsing histories off a shelf. The product is aggregated audience segmentation, ad measurement and attribution: whether people exposed to a campaign later visited the advertiser, what share of a postcode subscribes to a service, which households started shopping for a car. It sells as deidentified, and destination patterns over time are distinctive enough per household that reidentification is often straightforward. The FTC’s 2021 staff report on ISP data practices found collection much broader than the privacy policies described.

One US provider was blunter about it than the rest. A fibre product was priced around thirty dollars a month lower if the customer accepted traffic-based ad targeting, and full price if they refused. Withdrawn in 2016, and still the only honest price tag anyone has put on the question.

Encrypted and private are different properties

Encryption delivers confidentiality. Nobody in the middle reads the contents. It promises nothing about whether that party can tell who you talked to, when, how often, and for how long.

What people mean by private is closer to unlinkability, and almost nothing in the default stack provides it. The network must know where to deliver a packet, and knowing where is the leak. On mobile lines this gets misread constantly: subscribers behind carrier-grade NAT share a small pool of public addresses and assume the crowd anonymises them, when the carrier holds the translation table. Seen from inside, there is no crowd.

What actually narrows the view

There is no single switch, and the levers that exist are unglamorous.

Encrypted DNS, pointed at a resolver chosen deliberately rather than inherited from the router, takes the names away from the local network and from the provider. For a normal household that is the largest single reduction available. It moves the list of names to whoever runs the resolver rather than deleting it, and that is an improvement only if the resolver operator is more careful than the provider.

A tunnel moves the entire flow record to whoever runs the far end, on the same terms, and only if the device’s lookups genuinely travel inside it. Lookups leaking around the side of a tunnel is a common misconfiguration, and invisible from the user’s side.

Nothing at consumer scale defeats traffic analysis. Padding and delaying traffic to hide its shape costs bandwidth and latency that no ordinary user will spend.

What makes the whole subject strange is that none of it is a breach. Every piece is the network working as designed. The provider has to know the address to route the packet, the resolver has to be told the name to answer, and timing exists because time exists. The surveillance capability was never bolted on afterwards. It falls out of the shape of the thing, which is why fifteen years of legislation has struggled to move it.

More on the machinery underneath at The Hidden Internet.

Get new guides and videos first — join the Telegram channel.

watch
The Hidden Internet on YouTube

Every field note starts as a short documentary. Watch the systems in this piece explained on screen.

subscribe →
read on
More field notes

The rest of the series on how the modern internet detects, tracks, and sorts the traffic that reaches it.

browse the archive →