Privacy

Updated 18 October 2026

This policy covers Vivid and vividapp.co. Your media server and optional connected services have their own privacy policies.

Visiting this website

There are no advertising trackers or analytics scripts on this website. Fonts and images are hosted with the site. I do not ask you to create an account or connect your media server here.

Hosting and security

Cloudflare hosts and protects the website. It processes technical information such as IP addresses and request details to deliver pages and detect abuse. Security checks may use cookies when needed. See Cloudflare’s privacy policy for details.

Getting in touch

If you email admin@vividapp.co, your message is delivered to an Apple iCloud Mail inbox. Your email address and message are used to respond to your enquiry. Please do not send passwords or media-server credentials.

Your media server

Vivid connects to the Silo, Emby or Jellyfin servers you choose. Your server receives your sign-in details and the requests needed for your library, artwork and playback. Depending on the provider, requests also identify this device by its name, a generated client identifier, platform and app version/build. Vivid sends playback position, pause state and watched-progress updates to that server. Its operator controls those records and may keep connection logs. On Apple TV, a short press of the Siri button searches Vivid by voice: Apple turns what you say into text under its own privacy policy, and Vivid receives only that text and searches your server with it, as it does a typed search.

Emby Connect sign-in

If you choose Use Emby Connect when signing in to an Emby server, Vivid asks Emby’s Emby Connect service (connect.emby.media) for a PIN, sending a generated device identifier and the app name and version. You enter the PIN on emby.media with your Emby Connect email and password, which Vivid never receives. Vivid then receives an Emby Connect sign-in token and the list of servers linked to your Emby Connect account, uses them once to sign in to the server you chose, and doesn’t keep them. Emby Connect also receives normal connection information, including your IP address, and handles it under Emby’s own privacy policy. Signing in with a password doesn’t contact Emby Connect.

Information on your device

Vivid saves preferences, downloads and their subtitle files, Home metadata, artwork and playback buffers locally. Saved account session tokens and optional Vivid PIN records use Keychain; the saved-account feature does not retain your media-server password. Subtitles and chapters come from the opened media. If you connect OpenSubtitles in Plugins, searches send the title, language, media type, season number and episode number to OpenSubtitles. The subtitle file you choose is downloaded to your device and kept with that title, along with any subtitle delay you set for it, for your 40 most recent titles, so it comes back when you resume (Apple TV may clear it to free space). Choosing another subtitle, Off or Auto, or disconnecting, removes it. A small, limited memory cache reuses recent downloads during the app session and clears when the connection changes. Your API key stays in Keychain, separate for each server account and profile, and syncs through the encrypted private iCloud account vault. Searches send the key only to the OpenSubtitles API. Subtitles are not uploaded to your media server. Subtitle translation is not provided.

Private iCloud account sync

When iCloud is available, Vivid stores saved server addresses, account and viewing-profile details, login sessions, optional Vivid PIN records and profile order in encrypted fields in your private iCloud database. Shared browsing, navigation, metadata and download preferences, plus configured MDBList, OpenSubtitles and Seerr connection details, also sync between your iPhone, iPad and Apple TV for the matching server account and viewing profile. Playback and subtitle preferences, downloaded media, artwork and metadata caches stay on the device. Playback history and resume positions stay with your media server. Optional MDBList completed-watch exports and watchlist sync are described below.

Skip timestamp lookups

Intro & Credit Skipper is enabled by default and can be turned off in Playback settings. Vivid can look up missing intro, recap and credits timestamps. IntroDB (api.introdb.app) receives the series IMDb ID and season and episode numbers. TheIntroDB (api.theintrodb.org) receives the series TMDb ID when available, otherwise its IMDb ID, plus season and episode numbers. These services receive normal connection information, including your IP address, but not your media-server credentials. No API key is required.

Optional MDBList connection

If you connect MDBList in Settings → Plugins, Vivid keeps your personal API key in this device’s Keychain. It sends movie and episode identifiers and watched dates for new completions or titles you explicitly mark watched in Vivid, only after your media server confirms the watched update. Neither service’s existing watched history is scanned or imported, and MDBList does not replace server watched indicators or resume positions. Movie and series watchlist additions and removals sync in both directions for matching titles on the active media server. Media-server credentials are never sent to MDBList. The connection syncs through the encrypted private iCloud account vault for the same server account and viewing profile. Pending exports and confirmed sync checkpoints remain on each device across connection failures. Reconnecting the same MDBList account reuses those checkpoints; watchlist sync reads fresh remote lists. Old local watched-import records are discarded without changing either service’s history. Disconnecting stops syncing without deleting watched history or watchlists.

Trailers and requests

Vivid uses TMDb to find trailers, ratings and movie collections, to resolve missing Emby and Jellyfin metadata IDs, and for the studio and network logos and popular titles Studios & Networks shows. These lookups go through Vivid’s TMDb relay at tmdb.vividapp.co, which runs on Cloudflare and sends them to TMDb with Vivid’s own key. The relay receives the TMDb or IMDb IDs of the titles involved, the studio and network lists requested and normal connection information. Your network address is used only to limit how many requests can be made and isn’t stored or passed to TMDb. Answers are cached on Cloudflare for up to a day, with nothing about who asked. Vivid doesn’t use a TMDb key of yours, and deletes one saved by an earlier version from your devices and the iCloud vault. Your library and watch history are matched on your device and aren’t sent to TMDb or the relay. When a page has trailers, Vivid loads their preview images from YouTube, and opening a trailer hands it to the YouTube app or website. Studios & Networks logos and Seerr request artwork load from TMDb’s image service. If you configure Seerr, Vivid stores its URL, username and password in Keychain to restore that connection. Seerr receives your login, search queries and media requests. These services also receive normal connection information and handle it under their own policies. Disconnecting Seerr removes its saved connection.

Diagnostics and contact

Vivid keeps reports of crashes, freezes, unexpected exits, playback failures, download failures and app errors on your device to help fix problems. On iPhone and iPad these include Apple’s MetricKit diagnostics. A report contains the app version, device model, system version, technical details such as call stacks, whether the app was launching, browsing or playing, and a short log of recent app events such as screens opened, playback steps and errors, with addresses, file names and identifiers removed. The reports Vivid writes contain no titles, account details or server addresses and are kept for up to 14 days. On iPhone and iPad, a download failure report also notes which step failed, the server type, the error code, the chosen quality and whether it was part of a season or series download. It also keeps a record of the latest playback only, replaced each time something new plays: the server type and play method, the audio output and display setup, the video and audio formats, and counts of dropped frames, buffering, audio faults and sync drift, time spent paused or waiting to load, and on iPhone and iPad how often the player controls appeared and what made them go away soon after, with no titles, item IDs, account details or server addresses. Vivid never uploads them automatically. They leave the device only if you choose to send them from Settings → Diagnostics, where you can view exactly what is sent and delete them. Sending them delivers them to Vivid’s diagnostics service at diagnostics.vividapp.co, which runs on Cloudflare, emails them to diagnostics@vividapp.co through the Resend email service and keeps a copy on Cloudflare for 30 days. To ask me to delete a report you’ve sent, email admin@vividapp.co with the reference shown after sending it. If you add a note saying what happened, it’s sent with them as you wrote it, apart from removing spaces at the ends and control or text-direction characters, and keeping it to 500 characters. Vivid doesn’t check a note for personal details, so leave out passwords and server addresses. The device’s network address is used only to limit how often reports can be sent and isn’t stored. On iPhone and iPad, Other Options sends them with your mail app or the share sheet instead. On Apple TV, Show QR Code opens an email to the same address on your phone with a short summary of each problem. Like email to admin@vividapp.co, it is delivered to an Apple iCloud Mail inbox and used only to diagnose and fix problems. Detailed development logs are only written by development builds and stay on the device. Apple’s TestFlight service separately collects beta usage, crash information and submitted feedback under its own privacy terms. The Contact form prepares an email to admin@vividapp.co and does not attach logs, diagnostics reports or account data automatically. You review and send the message through your mail app.

Your controls

You can clear Home metadata and unused artwork in Settings → Metadata, delete diagnostics reports in Settings → Diagnostics on iPhone, iPad and Apple TV, manage downloads on the device, and turn off optional connections. Sign Out clears the current saved-account session while keeping its card, and that signed-out state syncs through iCloud. Deleting a saved account records the deletion in the private vault so another device cannot add it back; signing in again later can restore it. Removing Vivid clears data stored by that installation but does not delete the private iCloud vault, data on another device or records held by your media server. Contact its operator about server records. Vivid is still in development, and I’ll update this policy as its features and data handling change.

Questions

Contact admin@vividapp.co with questions or requests about information you have sent me.