ATC Radio Privacy Policy
Effective September 2026. Last updated October 2026. Kovan Apps Yazılım Ltd. Şti.
Kovan Apps Yazılım Ltd. Şti. (“Company”, “we”, “us”, or “our”) built the ATC Radio app (the “App”) for Google Play (Android) and the Apple App Store (iOS). The App streams publicly available air traffic control (ATC) audio from third-party volunteer relay servers, and adds a live AI transcript, session summaries, an audio enhancer, and local recordings. Listening is free and supported by ads; the extra features are unlocked with an optional subscription or one-time purchase.
This page explains what information is collected, why, and how long it is kept. By using the App you agree to the practices described here.
1. No Account, No Sign-Up
The App has no registration: no email address, no password, no phone number, no name. Your device is identified only by an anonymous Firebase Authentication ID, created on first launch. It identifies a device installation, not a person. You can see this value in the App under Settings → About → Customer ID; it is the reference to quote if you ask us to delete your data.
2. Third-Party Services
The App uses the following services, which may process limited technical information:
| Service | Purpose | Platform |
|---|---|---|
| Google Play Services | Core device services | Android |
| Firebase Authentication (Anonymous) | Anonymous device ID for backend authentication | Android & iOS |
| Firebase Cloud Functions | Every backend request, catalog, stream address, transcript, insights. The App has no direct database access. | Android & iOS |
| Cloud Firestore | Airport/channel catalog, transcript lines, session records, usage quotas | Android & iOS |
| Firebase App Check | Abuse prevention (device attestation) | Android & iOS |
| Firebase Remote Config | Feature flags and limits | Android & iOS |
| Google Analytics for Firebase | Aggregate, anonymous usage statistics | Android & iOS |
| Firebase Crashlytics | Crash reporting and stability monitoring | Android & iOS |
| RevenueCat | Subscription and purchase validation, restore purchases | Android & iOS |
| Google AdMob + User Messaging Platform | Ads for free users, and the consent form where consent is required | Android & iOS |
| Deepgram | Speech-to-text on the public radio channel audio, for the live transcript (Pro) | Server-side |
| Google Gemini API | Turns transcript text into a session summary (Pro) | Server-side |
| Third-party audio relay servers | Deliver the public ATC audio stream. Your device connects to them directly, so they receive your IP address and a standard connection request, exactly as with any internet radio. | Android & iOS |
| adsb.lol | Open ADS-B network (ODbL) that provides the aircraft positions on the Live Map. Your device requests this data directly while the Live Map is open, so adsb.lol receives your IP address. | Android & iOS |
3. Advertising
Listening is free and supported by ads. Free users may see a single full-screen ad at natural breaks, after you have been listening for a while, when you switch channels or close the player. Ads are never shown while the player is opening, and the audio keeps playing behind the ad. Subscribers see no ads at all, and for a subscriber the ad SDK is never even started.
- Consent (EEA, UK, Switzerland): before any ad request, Google’s User Messaging Platform asks for your consent choices. You can change them any time from Settings → Ad privacy choices, which appears where consent rules apply.
- iOS: the App does not show an App Tracking Transparency prompt and does not use the advertising identifier (IDFA). Ads on iOS are served without cross-app tracking.
- Android: Google AdMob may use the advertising ID and device information to serve and measure ads, as described in Google’s policies. Where consent is required, your choice controls whether ads are personalized.
4. Location
Location is optional and used for one thing: finding airports near you. When you allow it, your coordinates are sent to our Cloud Function, which returns the nearest airports in the catalog. The coordinates are used to answer that query and are not stored against your anonymous ID, not shared with advertisers, and not included in crash or analytics events. The App works fully without location, you can browse and search for any airport instead, and you can revoke the permission at any time in system settings.
5. Live Map Data
Aircraft positions shown on the Live Map come from adsb.lol, an open ADS-B network (ODbL). When the Live Map is open, your device requests this data directly from adsb.lol, which receives your IP address like any website you visit. We do not send your identity, location or listening history with these requests. Route data comes from the Virtual Radar Server standing-data project (CC0).
6. Live Transcript and Session Insights (Pro)
The transcript is produced from the public radio channel, not from you. Our server receives the channel audio, sends it to Deepgram for speech-to-text, and stores the resulting lines per channel, the lines belong to the channel everyone is listening to, not to your account.
- Transcript lines are automatically deleted about an hour after they are produced.
- Session insights (the end-of-session summary) are generated by the Gemini API from those lines and stored with your anonymous ID so the App can show your insight history. They are deleted automatically after 90 days.
- Usage quotas (daily transcript minutes, insight count) are counted per anonymous ID so the limits can be enforced.
- AI output can be wrong. Never rely on the transcript or the summary for anything operational, see our Terms of Use.
7. Recordings
Recordings are written to your device’s app storage and stay there. They are never uploaded to us or to anyone else. Deleting a recording in the App, or uninstalling the App, removes it permanently.
8. Purchases
Payment is handled entirely by Apple or Google; we never see or store card numbers or billing details. RevenueCat receives your anonymous ID and the store receipt to validate your subscription and to support “Restore purchases”.
9. Feedback You Send Us
If you use the in-app feedback form, your message is sent together with a small technical context so we can reproduce the problem: device model and OS version, whether you are free or Pro, the channel you last played (name, ID, airport, frequency), an anonymized token for the stream server, whether notifications are enabled, and simple usage counters (app opens, total listening minutes, favorites added).
10. Notifications
The App may ask to show notifications so it can tell you when a live transcript pauses. These are generated locally on your device. We do not send push notifications and the App does not register for a push token.
11. Analytics, Crash and Diagnostic Data
Firebase Crashlytics collects crash reports (device model, OS version, technical state at the time of the crash). Google Analytics for Firebase records aggregate usage events such as app opens, channel plays, transcript starts and purchases. Playback problems are reported as anonymized events (channel ID, error class, an anonymized token for the stream server) so we can see when a source is broken. None of this carries personal content or location, and it is tied to an anonymous app-instance identifier.
12. Data Security
All communication uses HTTPS/TLS. Every backend operation goes through authenticated Cloud Functions protected by Firebase App Check and request signing; the App has no direct database access. Tokens are stored in the platform’s encrypted storage (Android EncryptedSharedPreferences, iOS Keychain). No method of transmission or storage is 100% secure, and we cannot guarantee absolute security.
13. Data Retention
| Data | Kept for |
|---|---|
| Favorites, recently played, insight history on the device | Until you delete them or uninstall |
| Recordings | On device only, until you delete them or uninstall |
| Transcript lines (per channel, on our server) | About 1 hour |
| Session insights (with anonymous ID) | 90 days |
| Transcription session records and quota counters | 7 days / rolling daily counters |
| Playback error events | 14 days |
| Subscription state cache | Refreshed continuously; removed on request |
| Crash logs | Up to 90 days (Firebase) |
| Analytics events | Up to 14 months (Google Analytics for Firebase) |
| Purchase records | Per RevenueCat / Apple / Google policies, to support restore |
14. Your Rights and Deleting Your Data
- Deletion: see Delete Your Data. Uninstalling removes everything stored on the device; server-side records tied to your anonymous ID are deleted on request.
- Access: you may request a copy of the data associated with your anonymous ID.
- Ads: where consent applies, change your choices any time from Settings → Ad privacy choices. A subscription removes ads entirely.
- Location: revoke the permission in system settings; the App keeps working.
Contact info@kovanapps.com with your Customer ID (Settings → About → Customer ID). We respond within 30 days.
15. Children’s Privacy
16. Changes to This Policy
We may update this Privacy Policy from time to time. Changes are posted on this page and are effective immediately upon posting.
17. Contact
Kovan Apps Yazılım Ltd. Şti.
Üniversiteler Mah. 1597 Cad. No: 3/127 Bilkent, Çankaya, 06800 Ankara, TR
Email: info@kovanapps.com
Response Time: Within 30 days
Also: Terms of Use · Delete Your Data · Contact