Consumer-side defence for smart TVs
Your television works for someone else.
Modern TVs fingerprint what is on screen, scan your home network, and sell what they learn. You can stop most of it in an afternoon. Pick your set and follow the steps.
Free, open source, no account. This site sets no cookies and loads nothing from a third party.
acr.vendor.tvads.vendor.commetrics.vendor.netlogs.vendor.io
What the measurements say
This is documented, not speculation.
of smart TVs ignore the DNS server your router hands them and talk to Google's resolver directly. Changing the setting on the TV is not enough.
between content fingerprints from an LG set, built from frames sampled every 10 milliseconds. Samsung sends about once a minute.
the FTC fined Vizio in 2017 for capturing second-by-second viewing data from 11 million televisions and selling it with demographics attached.
The encouraging part. The same 2024 study found that turning content recognition off actually works. After opting out, the researchers saw no traffic at all to any recognition endpoint they had identified, and no new ones appeared. So the free five-minute step is also the most effective one.
How far you want to go
Four tiers. Stop wherever you like.
Every tier states what it breaks and how to undo it. Most people do the first two.
There is a fifth tier, rooting and custom firmware. We explain what it achieves and what it risks, then link the projects that maintain it. We do not reproduce the steps here.Why.
Find your set
What can you actually do?
Brand does not determine platform. A TCL might run Roku, Google TV or VIDAA depending on the model. Check Settings, then About.
| Platform | Sold as | DNS on the device | Ceiling | Guide |
|---|---|---|---|---|
| LG webOS webOS 1 through 25, 2014 to 2025 | LG | Yes, with static IP | Tier 4 | Open |
| Samsung Tizen 2015 through 2025 model years | Samsung | Yes, on its own | Tier 2 | Open |
| Roku OS Roku OS 9 through 14, players and Roku TVs | Roku, TCL, Hisense, Philips, Sharp, Insignia, onn | No DNS field | Tier 1 | Open |
| Amazon Fire OS Fire OS 5 through 8, sticks, Cubes and built-in TVs | Amazon, Insignia, Toshiba, Panasonic, JVC | Yes, with static IP | Tier 4 | Open |
| Google TV Google TV, 2020 onward | Google, Sony, TCL, Hisense, Philips, Sharp, onn | Yes, with static IP | Tier 4 | Open |
| Android TV Android TV 8 through 14 | Sony, TCL, Hisense, Philips, Nvidia, Xiaomi | Yes, with static IP | Tier 4 | Open |
| Hisense VIDAA VIDAA 4 through 7 | Hisense, Toshiba | Yes, with static IP | Tier 2 | Open |
| Vizio SmartCast SmartCast, 2016 onward | Vizio | Yes, with static IP | Tier 1 | Open |
| Apple tvOS tvOS 14 through 18 | Apple | Yes, on its own | Tier 2 | Open |
| Philips Titan OS 2024 onward, mostly European models | Philips | Unknown | Tier 1 | Open |
| Panasonic My Home Screen Firefox OS derived, through 2023 | Panasonic | Yes, with static IP | Tier 1 | Open |
Tier 1 in that last column means the device itself offers nothing and the router is your only option. Roku and Vizio owners are in that position, and we say so on their pages rather than padding them out.
Blocklists
Knowing what not to block is the hard part.
A blocklist is easy to write. Working out which entries break the app store, the firmware updater, the programme guide or the clock takes evidence, and several widely used lists get it wrong.
So we publish both. 118 endpoints with no documented breakage, and 73 domains that break a television, as an allowlist you can paste into your resolver.
Every entry carries a source and a stated consequence. Generated from the data files, never hand-edited, and the generator refuses to emit a list containing a domain marked as breaking something.
Examples of what not to block
time.samsungcloudsolution.com | Breaks Plex, YouTube and Prime Video |
mas-ext.amazon.com | Apps can no longer be installed |
ngfts.lge.com | LG Content Store thumbnails disappear |
ns11.whois.co.kr | Series 7 Samsungs cannot open YouTube |
gracenote.com | The TV guide stops working |
Help the project
Send us what your TV contacts.
If you already run Pi-hole, AdGuard Home or NextDNS, one command turns your query log into a report. It strips everything identifying, shows you the exact file, and sends nothing until you say so.
python collector/router/fightback.py \
--source adguard-file --log querylog.json \
--device 192.168.1.42 --vendor lg \
--model "LG OLED C3" --region GB \
--acr optout --previewLocal-only is the default. There is no code path that uploads a report you have not been shown first.
What a report contains
Vendor, model family, firmware major version, country, the hostnames contacted, how often, and whether content recognition was switched off.
What it never contains
Your IP address. The TV's address. MAC addresses. Serial numbers. Your Wi-Fi network name. Other devices on your network. URL paths. Payload contents. Timestamps finer than an hour.
Those fields do not exist in the schema, so a report cannot carry one even by accident. Read the detail.
Scope
What this project does not do.
It records which endpoints a television contacts, and when. Hostnames, ports, protocols, byte counts. Nothing else.
It does not decrypt traffic. It does not bypass certificate pinning. It does not impersonate a vendor service, modify firmware, or ship exploit code. Those limits are deliberate, and they are the same choices the peer-reviewed studies made.
We also try not to overstate what we find. A television contacting an advertising endpoint 1,400 times while idle is a claim we can support. A television sending your viewing history to an advertiser is not, unless somebody has shown the payload.