Last updated: 2026-07-06
TnC IPTV Player ("the App") is a Bring-Your-Own-Playlist Xtream Codes client built for personal use on iPhone, Android phones and tablets, Android TV, and Fire TV. The App does not provide any media content; you supply your own provider URL and credentials.
This document describes what data the App handles, where it goes, and what your rights are.
The App does not collect, transmit, or share personal data with the developer or any third party for analytics, advertising, or profiling.
| Data | Where it is stored | Why |
|---|---|---|
| IPTV provider URL, username, password | iOS: Keychain (hardware-backed Secure Enclave where available). Android: EncryptedSharedPreferences (AES-256, hardware-backed where available). | So you don't have to log in every launch |
| Playlist cache (channel / movie / series metadata) | App-private files (iOS sandbox / Android app-private storage) | Offline browsing, faster startup |
| Continue-watching positions | App-private storage (iOS UserDefaults / Android SharedPreferences) | Resume playback |
| Favorites list | App-private storage | "Favorites" tab |
| Recent search queries | App-private storage (plain text, not encrypted) | Recent-searches suggestions in the search screen |
| Parental-control PIN | App-private storage, stored only as a salted PBKDF2 hash (the PIN itself is never stored) | "Settings → Parental controls" |
| Language filter selections | App-private storage | "Settings → Languages" |
| EPG (TV guide) cache | App-private files | TV guide screen (Android only) |
This data never leaves your device. It may be included in the operating system's encrypted device backup (iCloud Backup on iOS, Back up to Google on Android) unless you have disabled that in system settings; on Android the App's backup rules explicitly exclude stored account credentials from any backup. Other locally-stored items — favorites, continue-watching positions, language filters, and recent search queries — are not excluded, so they are included in that encrypted OS backup unless you disable backups in your device settings.
The App connects only to:
User-Agent). This call is completely absent
from the Google Play and Apple App Store builds, which receive updates
only through their respective store.tnc-iptv-pair.pages.dev — only if you
use the "Pair with phone" sign-in flow (Android TV / Fire TV).
Pairing codes are random one-shot tokens with a short TTL; they are
deleted from the helper immediately after the TV reads them.test-streams.mux.dev,
tncdemo.pages.dev, archive.org, and
upload.wikimedia.org. No personal data is sent; these calls
stop as soon as you sign out of the demo and sign in with your own
provider.When loading images (posters, artwork) and demo streams, the App sends a
generic identifying User-Agent string of the form
TnCIPTV/<version> so hosts such as Wikimedia that require
one will serve the request. It contains no personal data. The App also
keeps a local HTTP response cache (up to 50 MB) in app-private storage to
speed up repeat requests; this cache is cleared when you clear the App's
data or uninstall it.
There are no analytics SDKs, no ad networks, no third-party trackers.
The App can optionally send anonymous crash reports to Sentry. This is off by default in store builds (no Sentry DSN compiled in). When it is enabled in a self-built version, Sentry receives only the stack trace, device model, OS version, and App version — never your provider credentials, playlist content, or any user-supplied text.
iOS: the App requests no special permissions. It does not access location, contacts, microphone, camera, photos, Bluetooth, or local network discovery.
Android:
| Permission | Why |
|---|---|
INTERNET, ACCESS_NETWORK_STATE | Talk to your IPTV provider |
WAKE_LOCK | Keep the screen on during playback |
REQUEST_INSTALL_PACKAGES (sideload / Amazon build only — not present in the Google Play build) | Install updates downloaded from GitHub Releases |
The App does not request location, contacts, microphone, camera, SMS, or call logs on any platform.
The App is not directed at children under 13. It is a generic media player; the content shown depends entirely on the provider URL you supply.
Because no personal data is sent to us, there is nothing for us to delete or export. To remove all locally-stored data, simply uninstall the App. On Android you can also use the "Clear data" option in App Info; on iOS, uninstalling the App removes the App's sandbox and Keychain entries immediately.
If this policy changes, the new version will be published at the same URL and the "Last updated" date above will be revised. Material changes will also be called out in the App's release notes.
Questions or concerns:
See also: Terms of Service.