Privacy Policy
Applies to CarCast for iOS 1.0.1 · Effective date: 2026-11-04
CarCast is a player and casting tool. It provides no content, and there is no sign-up or login.
This version also has in-app purchases, usage reporting, advertising attribution and crash reporting. To run them, the
app sends the data listed in section 1 to our payment and reporting services, to Adjust and to Google (Firebase).
With your permission, that includes your device's advertising identifier (IDFA).
What you play stays yours: your sources, server addresses, credentials, favorites, history, local videos and browsing
are kept on your device and are not part of that data (1.6). CarCast also connects to the addresses you enter or
choose. Those belong to third parties, and they can see your requests. The in-app browser (Discover › Browser)
opens the websites you choose; like any browser, those sites see your requests and may store cookies and other website
data on your device (2.13). Everything the app connects to is listed in section 2. Your choices, including how to
withdraw permission and ask for deletion, are in section 8.
0. Who we are
CarCast is developed and published by Lirvant Limited, Unit 225-12, 2/F, Mega Cube,
8 Wang Kwong Road, Kowloon Bay, Hong Kong. Questions about this policy:
[email protected].
1. What we collect
CarCast has no account you create. The services below identify a device or an installation, not a name or email address
you give us. Where a list below is marked for confirmation, we are still confirming it with the provider of that service.
1.1 Purchases (IAPPayment SDK, pay.lirvant.com)
- Who: our payment service provider, through its IAPPayment SDK.
- When: at launch to check whether you have an active purchase, when the Pro screen loads its products, and when you buy or restore.
- What: the device token described in 1.2, a user identifier that service issues for this device, your App Store
receipt and transaction details, the product you bought, its expiry date, your purchase and refund history for CarCast, the
Firebase app instance ID, and device and app details (app version, device model, iOS version, language, country or region,
time zone, network type and carrier, screen size). Apple also sends that service notifications about
renewals, refunds and other subscription changes, at
notify.lirvant.com.
- Why: to verify purchases, unlock CarCast Pro, restore purchases, show the products on offer, and prevent fraud.
- Not included: payments are handled by Apple. We do not receive your card details, and the app does not ask for your Apple Account name or email.
1.2 Usage reporting (FunReport SDK, event.lirvant.com, track.lirvant.com, arg.lirvant.com)
- Who: our reporting service provider, through its FunReport and FunDeviceInfo SDKs.
- Events: the app reports the Pro screen being shown, closed or retried, which product you tap, a purchase succeeding
or failing (with an error code), which entry point led to the Pro screen, and your answer to the tracking prompt. The SDK also
reports its own events, such as app start and periodic activity while the app is running.
- Identifiers: a device token (a random value the SDK creates and keeps in the keychain, section 4.4), the identifier for
vendor (IDFV), the IDFA only if you allow tracking (1.5), the Firebase app instance ID, the Adjust device ID, and Apple's
advertising attribution token.
- Device and app details: app ID and version, device model, iOS version, language, locale, country or region, time zone,
network type, carrier, screen size and user agent.
- Anti-fraud checks: when the reporter starts, the SDK runs a check for fake installs. Fields it can report include device
memory and disk capacity, battery state, camera and screen specifications, processor details, OS build and kernel version, boot time
and uptime, and whether the device appears to be jailbroken or using a VPN or proxy.
- Approximate location: your IP address reaches these servers, and your country or region may be derived from it. We do not read GPS location.
- Why: to measure how the app and the Pro screen perform, to measure our advertising, to choose which products and layout to show, and to detect fraud.
1.3 Advertising attribution (Adjust)
- Who: Adjust GmbH, started by the FunReport SDK with settings from
arg.lirvant.com.
- What: the IDFA only if you allow tracking (1.5), the IDFV, your tracking-permission status, device model, iOS version, app
version, install, session and activity timing, and a purchase event after a successful purchase. Your IP address reaches its servers.
- Why: to tell us which advertising campaign, if any, led to an install or purchase. Adjust's own manifest in the app declares
Device ID for analytics and third-party advertising.
- Advertising partners: we use this to measure ads for CarCast on the advertising platforms we work with.
- iOS may also send privacy-preserving ad attribution reports to Adjust's address
adjust-skadnetwork.com, which the app declares for that purpose.
1.4 Analytics and crash reports (Google Firebase)
- Google Analytics for Firebase collects an app instance ID, the IDFA if available (otherwise the IDFV), approximate
geolocation, in-app purchases, and default events such as first open and app sessions, along with device and app details. Why: analytics and advertising measurement.
- Firebase Crashlytics collects stack traces and app state when the app crashes, with device and OS information. Why: to find and fix crashes.
- Firebase Installations and Google's data transport libraries collect an installation ID and technical diagnostic data so these services can work.
- The app passes the Firebase app instance ID to the reporting and payment services in 1.1 and 1.2. Those services may also send
purchase events and amounts to our Firebase project from their servers.
1.5 The advertising identifier (IDFA) and the tracking prompt
- At launch, before the welcome screens, iOS shows its App Tracking Transparency prompt, with a short CarCast explanation behind it. It appears until you have answered.
- If you allow tracking: the IDFA is sent to the services in 1.2, 1.3 and 1.4, which may link data from CarCast with data
from other companies' apps and websites to measure advertising.
- If you do not allow it: the IDFA is not available to the app (iOS gives all zeros). All features and purchases work the same.
The other data in 1.1 to 1.4 is still sent, for the purposes described there.
- To change your answer at any time, see section 8.
1.6 What we do not collect
- Our code does not send those services your source and server addresses, media server usernames, passwords or tokens, what you watch,
your favorites, history, local videos, browsing or anything you type.
- CarCast uses the microphone only when you tap Voice Input on the car screen, to turn what you say into text for a
search, a web address or a text field on a web page. Voice Input is turned off whenever the car limits keyboard use,
as many cars do while driving. The recording is not stored and is never sent to us. The one other case: if a website
you open in the in-app browser asks you to upload a video and you record one in the chooser iOS shows, any sound iOS
captures with it goes only to that website (see section 5).
- The app does not read your GPS location, contacts, calendar, health data or any vehicle data.
- CarCast shows no ads.
This matches the privacy manifest bundled in the app (NSPrivacyTracking is true, and
NSPrivacyCollectedDataTypes lists coarse location, device ID, purchase history, product interaction, crash data and other
diagnostic data) and the App Privacy section of our App Store listing. The manifests of the SDKs inside the app declare their own entries.
1.7 Sharing with third parties
We share the data above with the services named in 1.1 to 1.5, for the purposes given there, and with their hosting providers.
We also disclose data if the law requires it. We expect these third parties to protect user data to the same standard as this policy. Their own policies:
What the app also does is connect, on your instruction, to addresses you chose yourself — your
playlist host, your media server, the device casting to you, and the websites you open in the in-app browser. Those destinations are not ours and we send them
nothing beyond what section 2 lists. They are operated by whoever you pointed the app at, under their own terms
and privacy practices, which we neither control nor can vouch for. Choosing which of them to trust is
yours; section 2 exists so that you can make that choice knowing exactly what each one sees.
1.8 How long we keep data, and where
- Purchase records and reporting data: for as long as needed for the purposes above, including accounting and legal requirements.
- Data held by Adjust and Google follows the retention settings of our accounts with them and their policies.
- These services may process data outside your country or region.
2. Every network destination the app reaches
The following is the complete list of network connections CarCast may make in normal use, with what
triggers each. Sections 2.1 to 2.8 are supplied by you or by another device on your own Wi-Fi network. The rest are
screen mirroring (device-local loopback, 2.9), our own website for the legal pages
(2.10), the browser's start-page shortcuts and default search (2.13; each shortcut is that site's own
official address, requested only when you tap it, when you search, or when you return to the browser and it reopens
the page you last had open; nothing is loaded at app launch), Apple's speech recognition service (2.14), and the purchase, reporting, attribution and crash services, which do connect at launch (2.15).
Requests the app makes with Apple's networking stack to the addresses in 2.1 to 2.8
identify themselves either with the fixed header User-Agent: CarCast/1.0 (where noted) or with
iOS's standard header of the form CarCast/<build> CFNetwork/<version> Darwin/<version>.
Web pages — the legal pages (2.10) and the websites you open in the in-app browser (2.13) — are loaded by
WebKit, which sends its own standard header (User-Agent: Mozilla/5.0 (iPhone; …) AppleWebKit/…,
or WebKit's own desktop header after you ask for a desktop site, and on the car screen, where pages open in their desktop version); the app never sets a custom one.
None of the requests in 2.1 to 2.10 and 2.13 carries a device identifier, except the random identifiers described in 2.5 and 2.8.
2.1 Playlist / subscription URLs you add
- When: you add a playlist source, or refresh it.
- What: an HTTP(S) GET for the playlist text, with the fixed header
User-Agent: CarCast/1.0. If the address you entered wraps another address (for example a share
link or a proxy prefix in front of the real playlist URL), the app may also request that inner address.
- They can see: your IP address, the time, and which URL you requested.
2.2 Channel probing and cover-frame capture
- When: automatically after a playlist source is added or refreshed, to test which channels work and
to grab one frame for a thumbnail.
- What: a direct connection to the streaming hosts listed in your playlist (not to us); the app
starts the stream, takes one frame and disconnects. Live capture caps the bitrate to limit data use. Apple's
media framework sends
User-Agent: CarCast/1.0; for formats it cannot open, the built-in VLC
engine connects instead and sends VLC's standard header (VLC/<version> LibVLC/<version>).
- They can see: your IP address and which channels you are checking.
2.3 Playback
- Video and audio stream directly from the address in your playlist, from your media server, or from
the URL a casting app sent (2.8) — nothing is relayed through any server of ours. The same two
User-Agent headers as in 2.2 apply.
2.4 Channel logos and artwork
- If your playlist provides a
tvg-logo URL on its #EXTINF lines, the app downloads
the logo from that address when the channel is shown (iOS standard header, over a private connection that
writes nothing to the system URL cache).
- Guessing a logo from the channel name via a public logo repository is disabled in this version, so this
version contacts no third-party logo repository (the address in the code is
raw.githubusercontent.com/fanmingming/live). If a future version enables it, this policy will be
updated first to state that channel names would then be sent to that third-party host.
- Artwork URLs pushed to us by a casting app, and posters on your own media server, are downloaded when shown.
2.5 Your Jellyfin / Emby media server
- When: you add and sign in to a server, browse libraries, search, play, or load subtitles and posters.
- What is sent: the username and password you entered (to obtain an access token), that token on
subsequent requests, and a client header of the form
Client="CarCast", Device="iPhone", DeviceId="<random UUID>", Version="1.0.1".
The DeviceId is a random UUID generated when you first connect to that server, used only for
that server's session bookkeeping. It is not a device identifier and is used for nothing else.
These requests use a private, non-caching connection (no cookies, nothing written to the system URL cache).
- Playback reporting: while playing content from a server, the app reports start, progress and stop to
that server through the standard Jellyfin / Emby endpoints — this is what makes resume work.
It goes only to your own server.
- Connection speed check: before choosing a streaming quality, the app may download a short test
payload from the server's own bitrate-test endpoint (
/Playback/BitrateTest) to measure the link.
The result is used only on the device to pick a quality.
- That server is run by you (or someone you trust). Its logging and privacy practices are outside our control.
2.6 Download URLs for local videos
- When: you paste a URL in the local video library and ask the app to download it.
- The app downloads that file directly from that address and stores it on the device (section 4.3).
2.7 Local network permission
iOS asks for Local Network access the first time the app needs it. CarCast uses it for two things only:
being found as a cast receiver on your Wi-Fi (2.8), and connecting to addresses on your own network that you
added — a Jellyfin / Emby server, a playlist or a download link on your LAN. If you deny it, those two
features stop working on the local network; everything else is unaffected.
2.8 Casting on your local network (DLNA / UPnP)
- When: the receiver is not started on first launch. It starts the first time you open the
Discover tab on the iPhone or the Cast section on the car screen. iOS shows the Local Network prompt the first
time the app reaches your local network — usually that moment, or earlier if you first connect to a server,
playlist or download link on your LAN (2.7). From then on it runs while the app is in the foreground and the iPhone is on Wi-Fi, and it stops
(after a goodbye announcement) when the app goes to the background.
- Broadcast on the LAN: SSDP multicast announcements (
239.255.255.250:1900) containing the
device name you set under Settings › Device Name (default “CarCast (iPhone)”) and a
randomly generated, persistent device identifier (UDN). Anything on the same Wi-Fi can see them.
If you would rather not broadcast your real name, change the device name to something you are happy to
make public.
- The app listens on a local HTTP port to serve its device description and to receive casting commands, and
sends playback-state event notifications (UPnP GENA) back to the casting device that subscribed to them.
- What is received: the media URL, title and artwork URL pushed by the casting app. These are played
and, once watched, recorded in your local playback history; the artwork is downloaded from the URL given.
2.9 Screen mirroring (device-local only)
- When you start Screen Mirroring, iOS's screen broadcast captures your iPhone screen and hands the frames to
CarCast's broadcast extension, which passes them to the app only over the loopback address
127.0.0.1 on ports 31900-31909 so the app can show them on the car display.
Frames never leave the device, pass through no server, and are not recorded or stored.
- Mirroring is not selective: notifications and every other thing your iPhone shows are visible on the car
display until you stop it. iOS shows its own indicator while the broadcast is running; stop it from Control Center or from the app.
- The session token that authenticates this loopback connection is kept in App Group preferences
(
group.com.lirvant.carcast), cleared when the session ends, and never written to any log.
2.10 This policy, the Terms and the Open Source Licenses
- When: only when you open Privacy Policy, Terms of Use (EULA) or Open Source Licenses in Settings.
- What: one HTTPS request for that page from our website (
https://www.lirvant.com/policy/CarCast/),
sent by the in-app web view with its standard header (User-Agent: Mozilla/5.0 (iPhone; …) AppleWebKit/…).
It sends no personal data: no account, no identifier and nothing about what you do in the app. As with any
website, the server sees your IP address. The legal-page view keeps no cookies or other website data on your device (the in-app browser does, see 2.13).
- If it fails: when you are offline, or the website cannot be reached, answers with an error or takes
more than a few seconds, the app shows the copy of the same page that is bundled with the app instead.
- Links in these pages to other websites (for example a licence text) open in Safari, not inside the app.
2.11 What never happens
- Your playlist, server and browser traffic is never relayed through a server of ours (2.3).
- There is no update check. The only remote settings are those in 2.15: the products on offer, the layout of the Pro screen and the attribution settings. They do not add content or features.
- At launch, besides the services in 2.15, the only network activity is on your own behalf: artwork for the sources you added may load as it
is shown, and — only if you have opened the Discover tab or the car's Cast section before — the DLNA receiver announces itself on
your Wi-Fi (2.8).
- The legal pages are fetched only when you open one (2.10) — never at launch or in the background.
2.12 About cleartext (HTTP) traffic
IPTV playlists, home media servers and some websites use http:// addresses, so CarCast permits
cleartext connections. Media addresses come entirely from you; in the in-app browser, a website may also take you to
an http:// page through a link or redirect you did not type. Any http:// traffic —
including login credentials and anything you enter on an http:// web page — travels over the
network in the clear and may be visible to others on the same network. Prefer https:// where you can.
2.13 Websites you open in the browser
- When: when you open Discover › Browser and tap a start-page shortcut or a bookmark, or type an
address or a search; and when you return to the browser, to reopen the page you last had open in the current tab.
Nothing is loaded at app launch.
- On the car screen: you can also open websites in the browser on your car's screen (CarPlay). It is the
same app on your iPhone, using the same website data on the device; the car screen displays the page and passes your input to it.
“Send to Car” hands the address of the page you're viewing to the car screen of the same iPhone. It does
not go through any server.
- What: the standard requests of Apple's WebKit, the same engine as Safari, with WebKit's own User-Agent
header (the app never sets a custom one; “Switch to Desktop Site” asks WebKit for the desktop version of
the site, and WebKit then sends its own desktop User-Agent, as Safari does). Searches go to Google. Each site is run
by its owner under its own terms and privacy policy; it sees your IP address and what you request, and may set cookies
and store other website data, as in any browser.
- Stored on your device: your bookmarks, your open tabs and each tab's back history (by the app), and
cookies, cache and other website data (by iOS's WebKit). None of it is sent to us. See 4.1 and 4.6.
- What the app does not do: on the iPhone it adds no scripts to web pages and does not change them; it blocks no ads and filters no content, and does not download
files from websites. It denies every live camera or microphone request from a website (
getUserMedia, for
example a video call) and every request for the motion and orientation sensors; a photo you choose to take in a
website's upload chooser is a different path (see section 5), where you decide what is handed over.
- A read-only check: to pause its own player when a page starts playing sound, the app checks, for the tab
on screen only, whether a video or audio element on that page is playing audibly; this is a read-only check in an
isolated script context the page cannot see, and its result never leaves the device. On the car screen, the same kind of check also reads the position and size of the video on the page, to enlarge it when you ask for full screen.
- A script on the car screen only: so that you can fill in a page's text fields with the car's input and, on
cars with a knob or touch pad, move a pointer and click, the app adds one small script to web pages opened on the car
screen, in every frame, including third-party content embedded in the page. It is the same on every website and runs in
an isolated script context whose code the page cannot read, although a page can notice what it does. For the field you
tap, it reads the current value (never for a password field), the placeholder and the accessibility label. It enters
your text in that field and, unless the field's form has other fields to fill, presses Enter or submits the form. For a
pointer click, it finds the element at that point and sends the click. It does not read the rest of the page, makes no
network requests and stores nothing. What you enter goes to the website that owns the field, which may be a third party
embedded in the page; the input screen shows its name. Password fields are masked on the car screen, accept only the car
keyboard and are never shown on your iPhone. Text in other fields appears on your iPhone if you choose Synced Input.
2.14 Apple's speech recognition service
- When: only while you use Voice Input on the car screen, and only when your device does not support on-device
recognition for the chosen language (section 5.1).
- What: the audio of what you say, processed by Apple under Apple's privacy policy. Nothing is sent to us.
2.15 Purchase, reporting, attribution and crash services
- Apple App Store: StoreKit, for prices, purchases, restoring and your current purchases. At launch the app reads your current purchases from StoreKit without showing a prompt.
pay.lirvant.com: purchases and products (1.1).
event.lirvant.com and track.lirvant.com: event and behavior reports (1.2).
arg.lirvant.com: attribution settings for the app (1.2, 1.3).
notify.lirvant.com: receives notifications from Apple's servers. The app does not connect to it (1.1).
- Adjust's servers, including
consent.adjust.com and related Adjust hosts (1.3).
- Google's servers for Firebase Analytics, Crashlytics and Installations (1.4).
- These SDKs may also contact other addresses for network checks and to operate their services.
- When: from app launch and while the app runs, without your tapping anything. iOS blocks the app's
consent.adjust.com connection unless you allow tracking. The lirvant.com addresses are connected to whatever you answer.
3. Checking which apps are installed
On the Cast from Other Apps screen (Discover › Cast from Other Apps), CarCast asks the system whether each of a
fixed list of 11 apps is installed, so that it can show only the ones you actually have. Each of the 11 is a cloud-drive or
video app whose own Cast button can send video to CarCast; messaging and social apps are not on the list
and are never asked about. Every other app is cast with Screen Mirroring, which does not need to know whether it is
installed. This happens only while you have that screen open, the answers are used only to draw that
screen, and they are never stored, counted or sent anywhere.
4. What is stored on your device, where, and how to delete it
Everything lives inside this app's sandbox container, which other apps cannot read.
4.1 Application Support (Application Support/CarCast/, JSON files)
sources.json — the sources and servers you added (including server addresses and
usernames; passwords are not stored here).
channels.json / probes.json — parsed channel lists and their probe results.
favorites.json / mediaFavorites.json — your favorites.
history.json — playback history, capped at the most recent 300 entries.
localVideos.json / localFolders.json — imported local videos and their folders.
appState.json — device name, DLNA device identifier (UDN), whether the cast receiver has
been started before (2.8), selected source, subtitle and streaming-quality preferences, whether you finished the
welcome screens and dismissed the screen-mirroring announcement, and a Pro flag showing whether the app last found
an active purchase. The interface language is not stored by this app; iOS manages it under
Settings → CarCast → Language.
- Browser (
Application Support/Browser/): the back history of each open tab (tab-<id>.state), deleted when you close that tab. The car browser's tab history is kept the same way in Application Support/Browser/Car/.
4.2 Caches (Caches/)
covers/ and thumbs/ — channel covers and local video thumbnails.
- iOS's standard URL cache may keep copies of playlist responses. iOS may purge everything in
Caches/ when storage is low.
4.3 Documents (Documents/LocalVideos/)
- The video files you imported (from Photos or the Files app, always as a copy) or downloaded from a URL.
4.4 Keychain
- Media server credentials (service
com.lirvant.carcast.mediaserver) — your
Jellyfin / Emby password and access token, stored as “after first unlock, this device only”.
They are not synced to iCloud Keychain and do not migrate to another device through encrypted backups.
iOS keeps keychain items outside the app's sandbox container, so they may survive deleting the app
(see 4.7).
- Device token — the token in 1.2, kept by the FunReport SDK. Like other keychain items it may survive deleting the app,
so a reinstall on the same device may use the same token.
4.5 App Group preferences (group.com.lirvant.carcast)
- The screen-mirroring loopback session token and port, cleared when the session ends. Shared only between the
app and its own broadcast extension.
4.6 Browser bookmarks, tabs and website data
Your browser bookmarks and the list of open tabs are kept in the app's own preferences (user defaults). Cookies,
cache and other website data from the sites you visit are kept by iOS's WebKit inside this app's container. None of it
leaves the device or reaches us. The car browser keeps its own list of open tabs, and the zoom level you choose for each website, on the
device. Bookmarks are shared between the iPhone and the car. The speech language you pick for Voice Input is kept in
the same preferences. Deleting the app removes all of them.
4.7 How to delete
- Delete a source (Settings › Playlists, or Settings › Media Servers): also removes its
channels, probe results, covers and favorites. For a server source it signs out and deletes the matching
keychain password and token.
- Clear playback history: Settings › History › Clear All.
- Remove favorites / delete local videos: on the corresponding screens. Deleting a local video also
deletes the file from the device.
- Browser: remove a bookmark with “Remove Bookmark”; closing a tab deletes its history. This
version has no separate “clear website data” button; deleting the app removes bookmarks, tabs and all website data.
- Delete the app: removes every file in the sandbox container above (JSON, caches, local videos,
preferences). As noted in 4.4, keychain items may not be removed with it; to be thorough, delete your server
sources inside the app before deleting the app.
- None of the above reaches the data already sent under section 1. To ask for that to be deleted, see section 8.
4.8 Purchase and SDK data on your device
- In the app's preferences: the expiry date of your subscription, whether you own the lifetime purchase, the last list of products
and Pro screen layout, purchases still waiting for a result (such as Ask to Buy, removed after three days) and a random value the reporting SDK asks for once.
- By the SDKs: Adjust, Firebase and the FunReport SDK keep their own identifiers, settings and unsent events inside the app's container.
- Deleting the app removes these, except the keychain items in 4.4.
5. System permissions
CarCast asks for exactly five permissions. Tracking is asked at launch; the other four only when you first use the feature that needs them:
- Camera — to scan a QR code containing a playlist address, and, when a website you open in the
in-app browser asks you to upload a photo or video and iOS's chooser offers the camera, to take one if you choose to.
A scanned QR code is not stored or uploaded; a photo or video you take for a website is handed to that website, by
your choice; CarCast does not store it or upload it by itself and sends it nowhere else (iOS may hold a temporary
file while handing it over).
- Local Network — to be found as a cast receiver on your Wi-Fi and to reach the servers, playlists
and download links you added on your own network (section 2.7).
- Microphone — for Voice Input on the car screen (section 1). If you record a video for a website in
its upload chooser, iOS may also use it to capture that video's sound (see Camera above).
- Speech Recognition — to turn what you say into text for Voice Input (section 5.1).
- Tracking — App Tracking Transparency, for the advertising identifier (section 1.5).
Choosing videos to import, or a QR-code image to read, uses Apple's system photo picker, which runs outside
the app: CarCast gets only the items you pick and never has access to your photo library, so no Photos
permission is requested. When a website in the in-app browser asks you to upload a file, iOS shows its standard chooser
in the same way: the website receives only the photos, videos or files you pick or take, and CarCast does not see your
photo library. The app requests no location, contacts or Bluetooth
permission. Any permission above may be denied; only the corresponding feature stops working. Denying Tracking stops no feature.
5.1 Speech recognition
Speech is converted to text with Apple's speech recognition. When your device supports on-device recognition for the
chosen language, recognition happens only on your device; otherwise Apple's speech recognition service processes the
audio under Apple's privacy policy. CarCast does not keep the audio. The text is used only for the search, address or
field you are entering, as if you had typed it.
6. Required Reason API declarations
As Apple requires, each part of the app that calls a “required reason” API declares it, with the
approved reason, in its own privacy manifest. The uses by the app's own code, by the broadcast extension and by MobileVLCKit involve no
collection or tracking, and no information derived from them leaves the device. For the SDKs in sections 1.1 to 1.4, see the note on each:
- The app itself: user defaults (the mirroring session token shared with the broadcast extension
through the App Group, or the app's own defaults if the App Group is unavailable, and the in-app browser's bookmarks
and open-tab list, section 4.6, plus the car browser's tabs, the per-site zoom level on the car, and the speech language you picked for Voice Input; the app's other settings are kept in
appState.json, section 4.1) and system boot time (a monotonic clock for cache expiry, retry
back-off and timing measurements). The same manifest declares file timestamps and disk space on behalf of the reporting SDKs, which are linked into the app and carry no manifest of their own.
- The screen broadcast extension: user defaults (reading that mirroring session token).
- MobileVLCKit:
Frameworks/MobileVLCKit.framework carries its own privacy manifest declaring
user defaults (its own optional settings), file timestamps (checking the type and size of media files inside the
app's container before playing them), system boot time (its internal clock and timers) and disk space (a
file-system check made when opening a local file).
- Adjust and Firebase: their libraries carry their own privacy manifests inside the app, declaring user defaults and file timestamps.
7. Children
CarCast is not directed at children under 13 and does not knowingly collect personal information from children.
If you believe a child has used CarCast and want the data in section 1 deleted, contact us (section 8). Please note that the app provides no content of its own: what can be
played depends entirely on the sources its user adds, and that content is neither reviewed nor rated by us. The in-app browser can open any website and does not filter
content; for this reason the app is rated 16+ on the App Store. If a
child uses this device, we suggest a parent decide which sources are added and use iOS Screen Time.
8. Your choices and rights
Withdraw permission for tracking
Open iPhone Settings › Privacy & Security › Tracking and turn CarCast off. You can also turn off
Allow Apps to Request to Track on that screen. The app then no longer has the IDFA. Nothing else in the app changes.
Stop the other data
This version has no in-app switch for the reporting, analytics and crash reporting in sections 1.2 to 1.4. To stop all of it, delete the app.
Deleting the app does not cancel a subscription; see the Terms of Use.
Other permissions
Camera, Local Network, Microphone and Speech Recognition can be turned off in iPhone Settings › CarCast.
Ask us about your data, or ask us to delete it
Depending on where you live, you may have the right to access, correct, delete or receive a copy of your personal data, to object to
or restrict how it is used, and to complain to your data protection authority. To make a request, write to
[email protected]. So that we can find your data, include the Apple order ID or transaction ID of your purchase, if you have one.
We pass deletion requests on to the services in section 1 where they hold the data. Purchase records we must keep by law or for
accounting may be kept for as long as that requires. Data on your device is deleted as described in section 4.7.
9. Changes to this policy
If a change in the app makes anything above inaccurate, we will update this policy before shipping that
version and update the effective date at the top. The same text is published on our website and ships inside the
app. Settings › Privacy Policy shows the website version; when the website cannot be reached it shows the
copy bundled with the version you have installed.
10. Contact
For support, or with questions, complaints or requests about this policy:
- Lirvant Limited
- Unit 225-12, 2/F, Mega Cube, 8 Wang Kwong Road, Kowloon Bay, Hong Kong
- Email: [email protected]
You can also use the “App Support” link on the CarCast product page on the App Store.
This version does not include an in-app contact form.