Skip to main content

Account and privacy

Account monitor​

For Xtream logins, a dedicated account page shows your active and maximum connections and your plan expiry, so you can see at a glance whether you have a free connection slot.

The reading is kept for about a minute, so opening the page again within that window reuses it instead of querying your provider. The Refresh button works differently: it forces a live check and always makes a request. So mashing Refresh will query your provider on every tap. Use it when you genuinely want an up-to-date number, and let the cached value stand the rest of the time.

Error log​

OpenTV keeps an in-app error log with full stack traces, including crashes from a previous session. Credentials are redacted, so you can share a log safely when reporting an issue.

Privacy​

The OpenTV project runs no hosted service and includes no analytics or ads. With standalone sources, your provider credentials and viewing state stay on your device. The app talks to:

  • your provider, to fetch playlists, the guide and streams, and
  • optional keyless metadata sources: TVMaze for series, iTunes for movie details, and Wikidata/Wikimedia Commons for movie cast portraits. OpenTV sends a cleaned title and, when known, its year; it never sends provider credentials or viewing history to those services.

If you add your own OpenTV server as a source, the app also talks to that server. The server holds the account, granted playlists, favorites, progress, playback leases, and server-side part of hub downloads; its provider credentials remain on the server. The Android session token is encrypted under Android Keystore and excluded from backup and device-to-device transfer.

The full source code is available on GitHub.