The short version
Bobcast is a player for TV sources you already have: M3U playlists and Xtream Codes logins from your own provider, and your own Plex servers. It comes with no channels or videos of its own. Your sources, logins, favorites and watch history stay on your devices and in your own private iCloud, or, if you turn on Bobcast Sync, on Liftbridge Labs' server locked with a key only your devices have. There is no Bobcast account, no analytics, no advertising and no third-party tracking. If Bobcast closes unexpectedly, it can send us a short technical report to help fix it, which you can turn off.
Your sources and logins
The playlists and logins you add are kept on your device; passwords are stored in the device's Keychain on Apple devices and in the Android Keystore on Android. Bobcast sends a login only to the provider you entered it for, to load that provider's channels, guide, movies and series and to play them. Channel logos and posters load from the addresses your provider gives. Liftbridge Labs never receives your sources, your logins or what you watch.
Sports scores and movie details
Scores, schedules, standings and team logos, and the artwork, plots, cast and ratings on movie and series pages, come from Bobcast's service at api.bobcast.app, which Liftbridge Labs runs on Cloudflare. It gets sports data from TheSportsDB and movie and series details from TMDB (The Movie Database). To show your teams, the app asks it for those teams' and leagues' games, and for anything you type into sports search; to fill in a title's page, it asks for that title by its TMDB number. Requests carry no account, name or device identifier, and the service keeps no record of who asked; like any website, it sees the internet address a request comes from, which is used only to stop abuse. TheSportsDB and TMDB never hear from your device.
So that only the real Bobcast app can use the service, the app proves itself with Apple's App Attest: your iPhone or Apple TV makes a key in its secure chip and Apple confirms it belongs to the genuine app. On Android, Google Play Integrity does the same job: Google confirms that the request comes from the genuine Bobcast app, installed from Google Play, on a certified device. The service learns nothing about you from this, only that the request comes from Bobcast.
Weather (optional)
Weather on Home is off until you choose a place in Settings › Weather. Bobcast never reads your device's location; it uses only the place you choose. On Apple TV, iPhone and iPad, the forecast comes from Apple Weather on your device. On Android TV and Fire TV, the app sends the place you chose, rounded to about a kilometer, to Bobcast's service (the same one that provides sports scores, above), which gets that spot's forecast from Apple Weather and passes it back. The service keeps the forecast for that spot for a short while so nearby viewers share one answer; it isn't tied to a device or a person, and nothing that identifies you is sent or kept with it. Like any website, the service sees the internet address a request comes from, which is used only to stop abuse; the stored forecast is filed under the rounded spot, never under an address.
iCloud sync
If you're signed into iCloud, Bobcast keeps your sources (with their logins), favorites, hidden channels and groups, settings, followed teams and watch history in your own private iCloud database, provided by Apple, so your iPhone and Apple TV stay in step. All of it is encrypted on your device before it is stored. Liftbridge Labs cannot see it. You can delete it in your device's iCloud settings under Manage Storage. On Android there is no iCloud; there, and between Apple and Android devices, Bobcast Sync (below) does this job if you turn it on.
Bobcast Sync (optional)
Bobcast Sync keeps your sources (with their logins), favorites, hidden channels and groups, settings, followed teams and reminders, and watch history the same on your other devices, Apple and Android alike. It is off until you turn it on in Settings › Sync. There is no account: the first device makes a random sync key, and another device joins when you enter the short code it shows on a device that already syncs. The key passes from one device to the other sealed, so our server can't open it.
Everything is encrypted on your device with that key before it is sent, and kept on Bobcast's service at api.bobcast.app, which Liftbridge Labs runs on Cloudflare. The service holds only the encrypted copies, under random identifiers. It cannot read them, and Liftbridge Labs never has the key. As with the rest of the service, it sees the internet address a request comes from, used only to stop abuse, and it checks that requests come from the genuine Bobcast app (App Attest or Play Integrity, above).
While Sync is on, iCloud sync is off on that device. Turning Sync off on one device stops it there, and that device keeps its settings. Turning it off everywhere deletes the synced copy from the service right away, and a synced copy that no device has used for a year is deleted. Because there is no account, if every device stops syncing, the synced copy can't be recovered; sources can be added again.
Adult content PIN and Face ID
If you set a PIN to guard adult content, only a scrambled (hashed) form of it is stored and synced, never the PIN itself. "Forgot PIN?" uses Face ID or your device passcode through iOS; Bobcast never sees your face data or passcode.
Organize from your phone (Apple TV and Android TV)
This screen lets a phone or computer on your home Wi-Fi edit your channels in a browser. The page comes from your TV itself, only while that screen is open, and only with the one-time code shown on it. Nothing goes through a server of ours.
Simkl (optional)
If you connect your Simkl account in Bobcast's settings, Bobcast and Simkl (simkl.com) exchange your watch history: when you finish or mark a movie or episode watched in Bobcast, it tells Simkl which one (by its TMDB number, with the time), and it reads what you've marked watched on Simkl to show it as watched here. You sign in on Simkl's own page; Bobcast never sees your Simkl password. The sign-in token stays in your device's Keychain and goes only to Simkl. Disconnecting in Bobcast deletes it and asks Simkl to cancel it. What Simkl does with your data is covered by Simkl's own privacy policy.
Plex (optional, iPhone and Apple TV)
If you sign in with Plex, you do it on Plex's own sign-in page; Bobcast never sees your Plex password. Plex gives Bobcast a sign-in token, which stays in your device's Keychain (it is not synced to iCloud) and goes only to Plex (plex.tv) and to the Plex servers your account can use. Bobcast asks plex.tv for that list of servers, then asks each server for its libraries, titles, artwork and video, and plays them straight from your server, over your home network when it can and otherwise through the server's own internet connection or Plex's relay. To keep your watch progress in step, Bobcast tells your server what you're playing, where you paused and what you finished or marked watched, and reads back what you've watched there. Plex and your server see these requests with Bobcast's name, a random identifier made for that install and your device's model name. Nothing from Plex reaches Liftbridge Labs. Signing out deletes the token on that device and removes your Plex titles from Bobcast; nothing changes on your Plex server. What Plex does with your data is covered by Plex's own privacy policy.
Skip intro and credits times
To offer Skip Intro and Skip Recap, the player asks TheIntroDB (theintrodb.org) for the times of the movie or episode you start, by its TMDB number and season and episode. That request goes straight from your device to TheIntroDB, which sees it like any website would, including your internet address. Nothing else about you is sent, and the answer is kept only while you watch.
Trailers
Trailer buttons open YouTube, in the YouTube app or your browser. What happens there is covered by YouTube's own privacy policy.
Diagnostics (iPhone, iPad and Apple TV)
If Bobcast closes unexpectedly, for example when the system runs short of memory, the next time it opens it can send Liftbridge Labs a short report to help us find the cause. The report has how much memory Bobcast was using in the minutes before, whether a movie, an episode or a live channel was playing (never which one), what Bobcast was updating at the time, and the app version, system version and device model (such as "AppleTV14,1"). It never includes titles, channel or source names, addresses, logins, account names, your device's name or any identifier for you or your device.
You choose in Settings › About › Send diagnostics, which can turn it off. The report goes to Bobcast's service at api.bobcast.app, with the same App Attest check and the same handling of your internet address as described above. Reports are kept for 30 days, used only to fix problems, and then deleted. Because they carry nothing that ties them to you, we can't find or delete a single person's report sooner.
Deleting your data
Removing a source in Bobcast's settings deletes it and its login from your device and from your iCloud copy; signing out of Plex or Simkl deletes that sign-in from the device. Everything Bobcast keeps on a device is removed when you delete the app; your iCloud copy can be deleted as described above, and Settings › Sync › Turn Off Everywhere deletes the Bobcast Sync copy from our service.
Support
If you email support@liftbridgelabs.app, we see what you send us — your address and the contents of your message — and use it only to answer you.
Children
Bobcast is not directed at children under 13 and collects no personal information from anyone.
Changes
If this policy changes, the date above changes with it.