← Cathode
Privacy Policy
Last updated: 1 October 2026
Cathode is a media player for iPhone, iPad and Apple TV. It connects to media servers and playlists that you configure. This policy explains what data the app handles, what leaves your device, and what it does not.
The short version: Cathode has no account system and no server of ours that stores your content or credentials. Your server details stay on your device. The only data that leaves the app to us is anonymous usage and crash diagnostics through Google Firebase, plus — in TestFlight beta builds only — anonymous performance diagnostics sent to us directly. Both can be switched off in Settings.
1. Your servers and credentials
- When you add a source (Xtream Codes, M3U/XMLTV, Jellyfin, Emby or Plex), the server address and your username, password or token are stored in the Keychain on your device.
- Those credentials are never sent to us. Cathode connects directly from your device to the server you entered.
- What you browse, play and download is a conversation between your device and your server. We do not see it, log it, or receive it.
- Backups you export are encrypted with a passphrase you choose. Without that passphrase the backup cannot be read, and we cannot recover it.
- Sending your sources from a phone to an Apple TV uses that same encrypted backup. It travels directly between your devices on your local network, and the passphrase is typed on the TV, never sent over the network. It does not pass through us.
2. Analytics & crash reporting (Google Firebase)
Cathode uses Google Firebase Analytics and Firebase Crashlytics to understand how the app is used at an aggregate level and to be alerted when it crashes. This may include:
- Anonymous usage events (for example, that a screen was opened) and general device information such as model, iOS version, language and region.
- Crash reports, including diagnostic logs and the state of the app at the time of a crash.
- An anonymous app-instance identifier that Firebase assigns so usage and crash reports can be grouped into sessions. It is not linked to your name, email or any account, is not shared with advertisers, and is not used to track you across other apps or websites. It is reset if you delete and reinstall the app.
This data is processed by Google as part of Firebase. It is not used to identify you personally, and it does not include your server addresses, usernames, passwords or the media you watch. You can turn Analytics and Crashlytics off at any time in Settings › Privacy; they are a single switch. See Google's Firebase Privacy and Security and Google Privacy Policy.
3. Beta diagnostics (TestFlight builds only)
Builds distributed through TestFlight also send us anonymous diagnostics directly, so we can find and fix problems during testing. The version on the App Store sends none of this, whatever its settings.
- The app version, device model (for example "iPhone15,3", never the name you gave your device), operating system version, and a random identifier created when the app was installed. That identifier is not linked to you, your Apple ID or any account, and is replaced if you reinstall the app.
- How the app performed: launch times, how long channel lists and guides took to load and how large they were, whether playback started, and short failure codes such as an HTTP status. Which kinds of source are configured (for example "Jellyfin" or "M3U") and how many — never their addresses, names, usernames, passwords or tokens.
- It does not include what you watch, channel or title names, or any server address.
These reports are sent when the app goes into the background, to a service we operate, and are stored privately in our own cloud storage account (Dropbox). They are switched off whenever Analytics is switched off, and can also be turned off on their own in the Apple TV app's Settings › Beta.
4. Optional third-party services
These are used only if you choose to enable them by adding your own token in Settings:
- TMDB (The Movie Database) — if you add a TMDB Read Access Token, Cathode queries TMDB to fetch artwork and metadata for titles you look at. Those search terms are sent to TMDB.
- OpenSubtitles — if you add an OpenSubtitles token, Cathode queries OpenSubtitles to find and download subtitle files for what you are watching.
If you do not add these tokens, these services are never contacted.
5. Media artwork and streams
To show posters, channel logos and video, the app loads images and streams from the servers you configured and from any artwork URLs those servers or playlists provide. These requests go directly from your device to those hosts.
6. What we do not do
- We do not sell your data.
- We do not require an account or ask for personal information.
- We do not collect your server credentials or your viewing history.
- We do not serve third-party advertising.
- We do not track you across other companies' apps or websites, and the app shows no App Tracking Transparency prompt because it does no such tracking.
7. Children
Cathode is not directed at children under 13 and does not knowingly collect personal information from them.
8. Data retention & your choices
Source credentials live only on your device — remove a source, or delete the app, to remove them. Analytics and crash data retention follows Google Firebase's standard retention settings. Beta diagnostics are kept privately and used only to diagnose and improve the app. You can switch all of it off in Settings › Privacy, and limit some diagnostics sharing through your device's privacy settings.
9. Changes to this policy
If this policy changes, the "last updated" date above will change. Material changes will be noted on this page.
10. Contact
Questions about privacy? Email support@mediaserver.pw, or reach us on the Cathode Discord. See our support page for common questions.
Cathode is an independent media player. It is not affiliated with, or endorsed by, Jellyfin, Emby, Plex, TMDB, OpenSubtitles, Google, or any content provider. You are responsible for the sources you connect to it.