AirMedia Privacy Policy
Effective date: 2026-04-26 Last updated: 2026-04-26
This privacy policy describes how the AirMedia Android TV receiver app (the "app") handles user information. The app is operated as an independent open-source project; for trademark and affiliation disclaimers see DISCLAIMER.md.
TL;DR
- We do not collect, transmit, or store anything you mirror, cast, or stream through this app — not the screen contents, not the audio, not the video, not the photos.
- We do collect anonymous crash reports, performance metrics, and minimal product events via Firebase to keep the receiver reliable and improve it. None of this data is sold.
- Everything sender-related (your iPhone, iPad, Mac, etc.) stays on your local network. We never see your sender's IP, account, or any content it broadcasts.
What we receive on your TV (and forget immediately)
The whole point of this app is receiving media from devices on your local Wi-Fi or Ethernet network. To do that, the app's native code on your TV processes:
- Screen mirroring frames (when you mirror an iPhone / iPad / Mac)
- Audio streams (AirPlay audio, music app casting)
- Video streams (AirPlay video, DLNA video)
- Photos and metadata (track titles, album art, sender device name)
- Cover art images (downloaded from public sources like Cover Art Archive when an audio session arrives without artwork)
This data is only displayed on your TV in the moment. Nothing is recorded to disk, nothing is transmitted off your local network, nothing is logged in our analytics. When the session ends, every frame and packet is discarded.
What we collect and send to Google's Firebase
The app uses Firebase for crash reporting, performance monitoring, and minimal product events. The following data is transmitted to Google's Firebase servers:
Crashlytics (crashes and non-fatal exceptions)
- Stack traces (deobfuscated via uploaded ProGuard/R8 maps)
- Device model, manufacturer, Android version, app version
- Last ~64 lines of in-app log breadcrumbs preceding the crash
- Per-session metadata at the time of the crash: active codec (e.g. ALAC, H.264), audio output route (TV speaker / Bluetooth / HDMI), sender device class (e.g. "iPhone", "iPad" — never the specific device name or owner), network type (Wi-Fi / Ethernet / cellular), session duration in milliseconds.
- A unique installation identifier (Firebase IID) — anonymous, randomly generated, never linked to a user account.
Firebase Performance Monitoring
- Cold start time, app responsiveness, slow-rendering screens, frozen frame counts.
- Network request durations (e.g. weather lookups). Request URLs and bodies are not transmitted; only the latency.
Firebase Analytics (lightweight events)
- Session start / session end with duration, surface type (audio / video / mirror / photo / pin), and codec name.
- Screen-level views (e.g. "settings_opened", "diagnostics_opened").
- Anonymous device class and country (derived from IP at Google's servers; we do not see the IP).
We do not collect: - Your name, email, phone number, IP address, or any account info. - The names, IPs, or identifiers of devices that cast to the receiver. - Any content streamed to the receiver (frames, audio, video, photos, metadata). - Browsing history, app usage outside this app, location beyond approximate country, or any biometric / health data.
Firebase Remote Config
The app reads runtime configuration flags from Firebase Remote Config. This is a one-way pull: the app fetches flag values, and no user data leaves the device through this channel.
Local persistence on your TV
The following data lives on your TV in app-private storage and never leaves your device: - Your settings preferences (selected screensaver style, language, audio output mode, Wi-Fi name, etc.). - A short ring-buffer diagnostic log shown on the in-app Diagnostics page. - Cached weather snapshot (if the weather feature is enabled). - Cached cover art for recently-played audio.
Third-party services
- Firebase (Google LLC) for telemetry as described above. See Google's privacy policy.
- Open Meteo is queried for weather data when the weather feature is enabled. See Open Meteo terms.
- Cover Art Archive / MusicBrainz are queried for cover art fallback. No user identifier is sent — only the album / artist name from the active audio session.
Your controls
- Disable telemetry: tap-and-hold any setting → "Disable telemetry" (planned in v0.5; until then, contact us via GitHub issues to request anonymized data deletion for your installation).
- Disable weather: Settings → Weather → off.
- Clear local data: Android Settings → Apps → AirMedia → Storage → Clear data.
- Uninstall: removing the app deletes all local data.
Children's privacy
This app is rated for general audiences and contains no content specifically directed to children under 13. We do not knowingly collect personal data from children. The crash and analytics information described above contains no personally identifying elements regardless of user age.
Changes to this policy
We will update the "Last updated" date at the top of this document when policy substantially changes. Material changes will be announced in the CHANGELOG.
Contact
For privacy questions, takedown requests, or data deletion requests, file a GitHub issue at the project repository: https://github.com/daiq8289/AirPlayReceiver/issues
Independent implementation reminder
AirMedia is an independent, open-source receiver app and is not affiliated with, endorsed by, or sponsored by Apple Inc., Google LLC, the Digital Living Network Alliance, or any device manufacturer. References to Apple products, AirPlay, DLNA, Google TV, etc. are nominative — they describe device compatibility from the user's perspective. See DISCLAIMER.md for trademark details.