TnC IPTV Player — Privacy Policy
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.
1. Data we collect
The App does not collect, transmit, or share personal data with the developer or any third party for analytics, advertising, or profiling.
Stored locally on your device only
| 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.
2. Network requests the App makes
The App connects only to:
- Your own IPTV provider — the URL you typed in at sign-in. This is required for the App to function. The App does not modify the URL or route it through any proxy.
- api.github.com (Android sideload and Amazon Appstore builds only) —
only when you tap "Check for Updates" or once on first launch per
process, to ask whether a newer release of the App itself is available.
No request body, no personal data; only the App's own version number is
implicit (via the
User-Agent). This call is completely absent from the Google Play and Apple App Store builds, which receive updates only through their respective store. - A pairing helper page at
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. - Demo content sources (only if you tap "Try Demo") — when the
built-in demo profile is active, the App fetches public test streams and
royalty-free artwork from
test-streams.mux.dev,tncdemo.pages.dev,archive.org, andupload.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.
3. Crash reporting
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.
4. Permissions and capabilities the App requests
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.
5. Children
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.
6. Your rights
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.
7. Changes to this policy
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.
8. Contact
Questions or concerns:
- Email: tnc.appteam@gmail.com
See also: Terms of Service.
IPTV Player