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.

What the measurements say

This is documented, not speculation.

68%

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.

Mazhar and Shafiq, IoTDI 2020

15s

between content fingerprints from an LG set, built from frames sampled every 10 milliseconds. Samsung sends about once a minute.

Anselmi et al., IMC 2024

$2.2M

the FTC fined Vizio in 2017 for capturing second-by-second viewing data from 11 million televisions and selling it with demographics attached.

FTC press release

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.

PlatformSold asDNS on the deviceCeilingGuide
LG webOS
webOS 1 through 25, 2014 to 2025
LGYes, with static IPTier 4Open
Samsung Tizen
2015 through 2025 model years
SamsungYes, on its ownTier 2Open
Roku OS
Roku OS 9 through 14, players and Roku TVs
Roku, TCL, Hisense, Philips, Sharp, Insignia, onnNo DNS fieldTier 1Open
Amazon Fire OS
Fire OS 5 through 8, sticks, Cubes and built-in TVs
Amazon, Insignia, Toshiba, Panasonic, JVCYes, with static IPTier 4Open
Google TV
Google TV, 2020 onward
Google, Sony, TCL, Hisense, Philips, Sharp, onnYes, with static IPTier 4Open
Android TV
Android TV 8 through 14
Sony, TCL, Hisense, Philips, Nvidia, XiaomiYes, with static IPTier 4Open
Hisense VIDAA
VIDAA 4 through 7
Hisense, ToshibaYes, with static IPTier 2Open
Vizio SmartCast
SmartCast, 2016 onward
VizioYes, with static IPTier 1Open
Apple tvOS
tvOS 14 through 18
AppleYes, on its ownTier 2Open
Philips Titan OS
2024 onward, mostly European models
PhilipsUnknownTier 1Open
Panasonic My Home Screen
Firefox OS derived, through 2023
PanasonicYes, with static IPTier 1Open

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.

Browse the lists

Examples of what not to block

time.samsungcloudsolution.comBreaks Plex, YouTube and Prime Video
mas-ext.amazon.comApps can no longer be installed
ngfts.lge.comLG Content Store thumbnails disappear
ns11.whois.co.krSeries 7 Samsungs cannot open YouTube
gracenote.comThe 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 --preview

Local-only is the default. There is no code path that uploads a report you have not been shown first.

How to contribute

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.

Legal position ·Privacy ·Security