Effective date: November 7, 2026

Trovu is a Jellyfin and Plex client provided by BetterSIM LLC ("we", "us", or "our"). This policy covers the Trovu website and the Trovu app on Apple TV, iPad and iPhone, including offline downloads where supported. It explains what information is stored on your device, what is shared when you use connected services, and how to manage your data.

1. Data on your device

You do not need a separate Trovu account. You connect your own media servers and, if you choose, other services. Trovu does not operate a central copy of your media library.

To provide playback and browsing, the app stores information on your device, including:

2. Offline downloads

On supported devices, Trovu Pro lets you download media from your connected server for offline playback. Downloaded files and their associated information are stored in the app's local storage, not uploaded to a Trovu media-storage service. The app marks its offline storage as excluded from device backups.

When you watch offline, playback progress is stored locally. When a connection is available again, the app can send pending progress and watched-status updates to the relevant media server and to Trakt if you have enabled that integration.

3. Purchases and connected services

Apple StoreKit: Monthly and yearly subscriptions, lifetime purchases, and purchase restoration are handled through Apple StoreKit. The app uses Apple's transaction and entitlement information to determine whether Trovu Pro is active. We do not receive your payment-card details. Apple may provide us with sales and financial reports through App Store Connect.

Your media servers: Trovu communicates with the Jellyfin and Plex servers you configure for authentication, library browsing, streaming, downloads, and playback-progress updates. These requests go from your device to the server or connection service used to reach it. Your server operator controls how that service handles its data.

Plex: If you connect Plex, the app communicates with Plex's services for sign-in and server discovery. Plex's handling of these requests is covered by Plex's privacy policy.

Trakt (optional): If you link Trakt, the app exchanges authorization information, media identifiers, playback progress, and watched history with Trakt according to your sync settings. Disconnecting Trakt stops future syncing from the app; it does not delete history already stored by Trakt.

Seerr (optional): If you configure Seerr, the app sends authentication information, searches, and movie or episode requests to your Seerr server. That server handles discovery and request management. Related artwork may be loaded from The Movie Database (TMDB).

TheTVDB and artwork providers: The app may request cast biographies, filmographies, and other metadata from TheTVDB through our metadata proxy. Requests can include a person's name or a content identifier. Images may load from the relevant provider's servers. These requests do not intentionally include your media-server credentials or a copy of your library.

Network information: Like other online services, our hosting providers and the services you connect to receive an IP address and technical request information when your device connects. This information may be processed to deliver responses, maintain reliability, and prevent abuse.

4. Diagnostics and support

TestFlight and development builds offer an optional Send Report feature for troubleshooting playback. Reports are sent only when you choose to send one. They can include device and OS details, the app version, media titles and identifiers, codec information, playback measurements, server or request details, and diagnostic logs. The app attempts to remove authentication credentials from logs before uploading them.

These reports are stored using our Cloudflare-hosted diagnostics service and are configured to expire after 90 days. This report-upload feature is disabled in the public App Store build.

If you contact support, we receive the contact details, message, and any attachments you choose to send. We use that information to respond and troubleshoot. Please do not send passwords or other secrets. You can contact us to request deletion of support information or a diagnostic report; include the report code if available.

5. Advertising and analytics

Website measurements and optional session tracking

Our website uses Amplitude in the EU to measure page visits, time spent on pages, scroll depth, and clicks to the App Store and selected support or information links. These basic anonymous measurements run before you make a choice and continue if you choose Anonymous only. A download-link click records interest, not an app installation or purchase.

Anonymous measurements: We do not store an analytics browser ID or session state. Each event has a separate random ingestion identifier. A temporary identifier held only in the current page's memory lets us interpret that page's engagement measurements; it is not shared across pages, reloads, or tabs. These events are not linked into visitor sessions, and we do not fingerprint your device.

Optional session tracking: If you choose Allow session tracking, a random first-party browser-ID cookie lets us link your subsequent activity and return visits in that browser. It lasts 180 days. Session state is stored in local storage and shared between tabs; sessions end after 30 minutes without activity or 24 hours total. This identifies a consenting browser, not your name or a person across devices. We do not attach your earlier anonymous activity to this identity.

Events pass through our Cloudflare-hosted relay to Amplitude EU. We send known page paths, the referring site's origin, event identifiers, and the measurements above; session tracking adds browser/session identifiers and session landing attribution. We omit URL query strings and fragments, form contents, email addresses, media-server details, account identifiers, visitor IP addresses, precise location, and full browser user-agent strings from analytics events. We do not record your screen or use session replay. Cloudflare still processes network information to deliver and protect the website.

Use Session tracking choices in the footer to switch to Anonymous only at any time. We remember your choice in a first-party cookie for 180 days. Withdrawal removes the analytics browser ID and session state and stops future linked tracking; anonymous measurements continue. It does not erase events already received. Global Privacy Control and Do Not Track disable both anonymous measurements and session tracking. If your browser blocks storage, we use anonymous measurements only. Contact us for questions about previously collected data.

6. Apple's data collection

Apple may process purchase, crash, diagnostic, and app-usage information through the App Store, TestFlight, or your device settings, and may make reports available to us. Apple's handling of this information is governed by Apple's Privacy Policy and your Apple privacy settings.

7. Managing and deleting data

You can remove downloaded titles in Settings > Offline Playback on supported devices, clear caches using the app's settings, and remove server connections or disconnect optional integrations. Clearing caches does not necessarily remove downloads, credentials, or all preferences.

Deleting the app removes its local app storage. Keychain entries may persist separately; remove connected accounts in the app before uninstalling, or revoke access through the relevant service where supported. Data already stored on your media server, Trakt, Seerr, or Apple's services is controlled through those services. Deleting Trovu does not cancel an Apple subscription.

8. Children's privacy

Trovu is not directed at children under the age of 13. We do not knowingly collect personal information from children. The app connects to user-owned media servers, and any content restrictions should be managed through your server's built-in parental controls.

9. Security

Trovu uses Apple's platform protections for local app storage and Keychain-protected credentials. Connections to your media servers use the HTTP or HTTPS configuration available for those servers. HTTPS protects data in transit; HTTP does not provide that protection.

10. Changes to this policy

We may update this Privacy Policy as the app changes. Updates will be published on this page with a revised effective date.

11. Contact

If you have questions about this Privacy Policy, contact us at [email protected].