Privacy Policy
Effective date: May 1, 2026
Contrail ("the App") is developed by Jacob Lassen ("we," "us," or "our"). We are committed to protecting your privacy. This Privacy Policy explains what data the App collects, how it is used, and your rights regarding that data.
Our Privacy Principle
Contrail is designed with a simple principle: we collect only what is necessary to deliver the features you've turned on, and nothing more. We do not require user accounts, we do not use analytics or advertising SDKs, and we do not track your behaviour. Push features (Pro) are opt-in and store the minimum needed to deliver them.
Data We Collect
Location Data
When you grant permission, Contrail accesses your device's location while the app is in use to centre the map on your current position. This location data is:
- Used only to position the map view
- Never stored beyond the current app session
- Never transmitted to our servers or any third party
- Completely optional — you can use the app without granting location access
Flight Searches and Map Requests
When you view the map or search for flights, the App sends requests to our backend API containing:
- The visible map region (bounding box coordinates)
- Zoom level
- Search terms (airline codes, flight numbers, registrations)
- An app-version header (e.g.
X-App-Version: 1.5.1) so we can keep older builds working
These requests are processed by our backend to fetch flight data and are not associated with any user identity. We do not log or store IP addresses in our application code.
My Flights and My Passport
Flights you save to My Flights and trips you log in My Passport are:
- Stored locally on your device in the Application Support directory
- Never synced to any cloud service
- Never transmitted to us or any third party (except for fetching status updates on the specific flight numbers you've saved)
- Deleted when you remove the entry, sign out of iCloud Backup, or uninstall the app
Push Notifications (Optional)
If you enable push notifications for My Flights, the tail-number Watchlist, or Emergency Squawks (all Pro features), the App registers with our backend and stores the following on Cloudflare KV:
- Your device's Apple Push Notification (APNs) or Firebase Cloud Messaging (FCM) token
- A sandbox flag (whether the token is for a development or production environment)
- The flight numbers, tail registrations, or notable-aircraft categories you want alerts for
- Your notification preferences (e.g. emergency-squawk radius)
This data is associated only with your anonymous push token — never with a name, email, or device identifier. Tokens and subscriptions are deleted when you disable push, sign out, or uninstall the app. Inactive subscriptions auto-expire after 96 hours of inactivity.
Third-Party Services
Contrail relies on the following third-party services. All are queried from our backend; your device does not contact most of them directly.
adsb.lol
Community-driven ADS-B data aggregation network. We query their API to retrieve real-time aircraft positions. No user data is shared. adsb.lol
FlightAware (AeroAPI)
Used to enrich flight data with airline names, airport details, schedules, gate assignments, and arrival/departure status. Requests contain only flight identifiers (registrations, flight numbers, ICAO24 hex codes). No user data is shared. FlightAware Privacy Policy
AeroDataBox (via RapidAPI)
Used as a fallback for flight enrichment and aircraft photos when FlightAware does not have coverage. Requests contain only flight identifiers. aerodatabox.com
Avinor & MET.no
Norwegian government services. Avinor provides FIDS (Flight Information Display System) data for Norwegian airports; MET.no provides Nordic SIGMET aviation weather. Neither receives any user-specific data. Avinor · MET.no
NOAA SWPC & NOAA AWC
U.S. National Oceanic and Atmospheric Administration. SWPC supplies aurora forecasts (Kp index, OVATION model); AWC supplies global SIGMET aviation weather. No user data is shared. NOAA SWPC · NOAA AWC
Planespotters.net
Aircraft photographs are hot-linked from Planespotters when displaying flight details. Your device requests the image directly from Planespotters at view time. Planespotters Privacy Policy
RevenueCat
Used to manage Contrail Pro subscriptions and entitlements. RevenueCat generates an anonymous user ID for purchase management. No personal information, email address, or device identifiers are shared with RevenueCat beyond what Apple's StoreKit / Google Play Billing provides. RevenueCat Privacy Policy
Apple APNs & Firebase Cloud Messaging (FCM)
Used to deliver push notifications when you've enabled them. Apple and Google receive your push token in order to route notifications to your device. Apple Privacy · Firebase Privacy
Cloudflare Workers
Our backend API runs on Cloudflare Workers. Cloudflare may process connection metadata (IP addresses) as part of standard CDN operations, subject to Cloudflare's Privacy Policy. We do not log or store IP addresses in our application code.
What We Do NOT Collect
- Personal information (name, email, phone number)
- Device identifiers or advertising identifiers (IDFA / AAID)
- Analytics or usage tracking data — there is no analytics SDK in the app
- Contacts, photos, or other device data
- Browsing history or app usage patterns
Data Storage and Security
All user-generated data (My Flights, My Passport, recent searches) is stored locally on your device using iOS / Android secure storage and is included in your encrypted device backups. Push subscription metadata stored on our backend is keyed by an anonymous push token, has a TTL, and is automatically deleted when stale.
Flight data is cached temporarily (seconds to hours, depending on type) using Cloudflare's Cache API to reduce upstream costs. No user-specific cache keys are ever created.
Children's Privacy
Contrail does not knowingly collect any personal information from children under 13. Since the App does not require accounts or collect personal information, it is suitable for all ages.
Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated effective date. Continued use of the App after changes constitutes acceptance of the updated policy.
Your Rights
Since we do not collect personal data, there is generally no personal data to access, correct, or delete. If you have concerns about your data, you can:
- Revoke location access in your device's Settings at any time
- Disable push notifications in Settings → Notifications → Contrail (this also unregisters your token from our backend)
- Delete your saved flights, passport entries, or watchlists from within the App
- Cancel a Pro subscription at any time in Apple ID Settings → Subscriptions
- Uninstall the App to remove all locally stored data
Contact
If you have questions about this Privacy Policy, contact us at: