Last updated: 2026-05-20
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 |
| 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.
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.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.