This Privacy Policy explains what SnackSafe Inc. ("SnackSafe", "we", "us", "our") does with information when you use the ZuluCheck app, the website zulucheck.com, shared checklist links and the related services (together, "ZuluCheck"). It is part of the Terms of Use. If you do not agree with it, do not use ZuluCheck.
The short version: ZuluCheck has no accounts, no advertising and no tracking. The app and the website zulucheck.com use Google Analytics to count which screens and pages are used, without advertising identifiers and with your consent where the law requires it (sections 2 and 10); you can turn it off in the app's Settings. Your aircraft, checklists, flights and landings stay on your device. Information reaches us only when you do something that sends it: typing a tail number or an airport code that the app looks up, sharing a checklist by link, writing to us, or reporting a shared link. Apart from that, the app checks in with our server about once a day with a random install identifier and the tail numbers of your aircraft (section 6).
1. WHO WE ARE
ZuluCheck is developed and published by SnackSafe Inc., a Delaware corporation, USA. SnackSafe is the controller of any personal data described in this Policy. Contact: support@zulucheck.com, or Settings > Contact support in the app.
2. NO ACCOUNT, NO ADVERTISING, NO TRACKING; USAGE STATISTICS
You never create an account, and we do not know who you are. The ZuluCheck app contains no advertising software, reads no advertising identifier (IDFA on iOS, the advertising ID on Android), never asks to track you, does no profiling and does not track you across apps or websites. Usage statistics: the app uses Google Analytics for Firebase, a service of Google LLC, to count which screens are opened, how often the app is used and on which app version, device model, operating system and country. It sends a random app-instance identifier made by Firebase, never your tail numbers, airport codes, checklists, location, flights or anything you type. Google Analytics receives your IP address for approximate location and does not store it. Advertising features are switched off and the data is never used for advertising or linked to Google advertising products. In Settings, "Share usage statistics" turns this on or off at any time; it starts off on devices set to a European time zone (the EEA, the UK and Switzerland, where it needs your consent) and on elsewhere. When it is off, the app sends nothing to Google Analytics. Statistics are kept for 14 months. The website uses Google Analytics only to measure how it is used, never for advertising (section 10). We do not sell, rent or share personal data for advertising or cross-context behavioral advertising, and we have not done so in the past. Apple may collect crash and usage data under its own terms if you opted in to sharing with developers in iOS settings; that data is Apple's and reaches us, if at all, in aggregate.
3. WHAT STAYS ON YOUR DEVICE
Your aircraft and tail numbers, custom checklists, flight sessions, clearance notes (ATIS, QNH, runway, squawk), times, landing log, settings and language choice are stored only on your device. If you use iCloud device backup, they are included in your backup, under Apple's terms. They are not uploaded to us. The only pieces that reach our server are the tail number and the airport code you type while the app looks them up (section 8), what you share or send (sections 7 and 9), and the daily install check-in (section 6). You can export all of this data as a file, or delete all of it, in Settings. Deleting the app deletes it from the device. A photo of your own aircraft that you add in the app stays on your device too, unless you share it with other pilots (section 7).
4. LOCATION
ZuluCheck asks for location permission ("while using the app") for three optional features. Location is never sent to us, except where a photo you share in Spotting was taken (section 7). The install check-in (section 6) uses no location: its country comes from the network.
You can withdraw location permission at any time in iOS Settings; the QNH converter then works manually and landing detection stops.
- QNH converter: when you open the QNH drawer, the app takes one location fix, rounds it to whole degrees and asks aviationweather.gov, a service of the US National Weather Service, for METAR reports in a box of about one degree around that point (widened to three degrees if no station is found). That request reveals the rounded area and your device's IP address to that US government service, under its own policy. The nearest station is chosen on your device and the result is reused for 20 minutes.
- Detect landings: if you turn it on in Settings > Flight, the app reads GPS ground speed and barometric relative altitude whenever ZuluCheck is open in the foreground, to suggest landings. Readings are processed on the device and are not stored; only landings you confirm are saved in your landing log.
- Circuit map: to show the aerodromes around you (and, during setup, your nearest one), the app asks zulucheck.com for every aerodrome in the whole-degree squares (about 100 km across) that the map covers, and picks the ones in view on your device. Only the squares are sent, never your position.
- RADIO tab: to list the airfields nearest you, the app asks zulucheck.com for the aerodromes in the whole-degree squares around you, as for the circuit map, then looks up the frequencies of the nearest few by their codes (section 8). Your position is never sent.
5. MOTION AND BAROMETER
Detect landings uses the barometer through Apple's motion framework, only while the feature is on and the app is open. Nothing from it is stored or sent.
6. NOTIFICATIONS AND INSTALL CHECK-IN
Passenger-currency reminders are local notifications scheduled on your device from your own landing log (30 and 7 days before currency lapses, and on the day). They do not go through any server, and nothing about them leaves your device. You can turn them off in Settings > Passenger currency or in iOS Settings.
Install check-in: about once a day, the app sends zulucheck.com a random install identifier made by the app (not linked to any account, name, email address or your device's advertising identifier), the tail numbers of the aircraft you have added, the platform (iOS or Android), whether the device is a phone or a tablet, the app version and build, the app's language and your device's region setting. Our server records the country the request came from, which our content delivery network, Amazon CloudFront, derives from the network address (the address itself is not stored with the record), and the time of the last check-in. We use this only to count installs by platform, version and country and to choose who receives a notification. A tail number is public and can identify an aircraft's owner, so we keep the tail numbers only with the install record and use them only to send a notification to the pilots of a particular aircraft. The record, tail numbers included, is kept while the install keeps checking in; an install that stops checking in is deleted after 12 months.
Use counts: while "Share usage statistics" is on in Settings (section 2), the check-in also includes how many times the app has been opened (an opening after half an hour or more away counts as a new one) and how many minutes it has been open in all, counted on your device. We use them only to see how much the app is used, never for advertising, and they are kept and deleted with the install record. When the setting is off, the check-in does not include them, and our server forgets the last ones it received.
Updates from ZuluCheck: if you allow notifications and keep "Updates from ZuluCheck" on in Settings, the check-in also includes the push token that Apple Push Notification service (on iOS) or Google Firebase Cloud Messaging (on Android) gives the app for this install. We use it only to send notifications about important changes, such as corrected checklists, safety notices or new aircraft: rarely, and never for advertising. Each notification passes, with the token, through Apple's or Google's push service. Tokens that stop working are deleted. You can turn these notifications off at any time in Settings or in your device's settings. Neither the check-in nor the token is used for tracking or profiling, and neither is sold.
Invite a friend: each install has an invite link, zulucheck.com/i/ followed by its six-character invite code. When someone opens an invite link, our server keeps, for two days, a one-way hash of the network address the page was opened from, with the member ID in the link, so that a new install on the same network can credit the friend who invited it (the App Store passes nothing on to a new install; on Android, Google Play passes the member ID to the app). When setup ends on a new install, the app sends its install identifier, the member ID it has, if any, and a random device identifier (on iOS, kept in the Keychain, where it outlives a reinstall; on Android, the Android ID). Our server keeps the device identifier only as a one-way hash, so that each device counts only once. We keep which install invited which, with the date, platform and country, while those installs are kept, to give each the free aircraft it earned and to count invitations, and we send the inviter a notification when a friend joins. None of this is used for advertising or tracking, and none of it is sold.
7. SHARING CHECKLISTS BY LINK
When you choose Share > Link for a checklist set, the app uploads to our server: the set's name, the aircraft type it is based on, the checklist text you changed or added (stock text is not uploaded), and the optional name and note you type. No tail number is included unless you typed it into that text. The set is hosted at a zulucheck.com link that anyone who has it can open or import, until you revoke it in Settings > Sharing; revoking deletes the hosted copy. Deleting the app does not revoke links. Our server records the time of each upload and the uploading device's IP address in standard server logs (section 10). Anyone can report a shared link; a report is stored with the reporter's IP address and the reason given, for up to 24 months, so that we can act on it and resist abuse. Sharing as a file or as text uses the iOS share sheet and does not go through our server.
Spotting: when you share a photo of an aircraft (from Spotting, or your own aircraft's photo with "Share with ZuluCheck pilots" on), the app uploads the photo, resized and with its embedded metadata removed, together with the registration, the date it was taken, the airfield code if you give one and your display name. The photo is shown, credited to that name, to anyone who looks the registration up in ZuluCheck. To keep your points, the app creates a random spotter identifier and key on your device; our server stores the identifier, a hash of the key, your display name, your points and the list of your photos, and keeps the IP address of each upload with the photo to resist abuse. Your display name and points appear among the top spotters. You can delete any of your photos, or all of them, in Spotting at any time; deleting them removes them for every pilot and resets your points. Reports about a photo are stored with the reporter's IP address and the reason given, for up to 24 months. The app also sends where the photo was taken, read from the photo itself or, for a camera photo, from your current position: the nearest town and airfield, shown with the photo, and coordinates rounded to about 100 m, which only you and ZuluCheck see.
8. SOURCE DOCUMENTS AND LOOKUPS
The POH button opens the source document for an aircraft from zulucheck.com inside Apple's Safari view controller. That request is logged by our hosting provider like any website visit (section 10). The Safari view controller does not share your Safari cookies or browsing data with the app or with us.
Aircraft type from the tail number: when you type a tail number for an aircraft (in onboarding or in Settings > Aircraft), the app asks our server at zulucheck.com which type the public civil aircraft register lists under it, so that it can pick the matching checklist. Each time you pause typing after the national prefix is recognised, the characters typed so far are sent. The server answers from copies of public registers (the FAA register of the United States and the other national registers named on the screen) and keeps no record of the lookup beyond the access logs of section 10. These lookups are never used to build a list of who flies which aircraft; the tail numbers sent with the install check-in are described in section 6.
Home field: when you type an airport code for an aircraft, the app asks zulucheck.com for that airport's name, elevation and radio frequencies, and may ask aviationweather.gov (section 4) for its elevation. Only the code is sent. Both lookups carry your device's IP address like any web request (section 10) and do nothing while you are offline. Each airport lookup also adds one to a count kept for that airport code, with nothing that identifies you, your device or your position, so that we know where to improve circuit data first.
Aircraft photos: when you type a tail number, the app asks Planespotters.net and, if it has none, Airport-Data.com for a published photo of that aircraft. These requests go directly from your device to those independent websites, not through us: they receive the tail number and your device's IP address, under their own privacy policies, and the photo is downloaded from their servers. The photo is shown with its photographer's name, and tapping it opens its page on that website. A photo you add yourself is stored only on your device and is never uploaded.
9. CONTACTING US
If you use the contact form in the app (Settings > Contact support) or on zulucheck.com, you send us the email address you enter, the topic and your message. The in-app form also sends, if you leave "Include app details" on, the app version, iOS version, device model, app language and the aircraft type you have selected. The website form sends your name if you give it, the page you were on and the site language. The message goes through our server to our mailbox by email; the server does not store it. Email you send to any address at zulucheck.com is received by our email provider, stored briefly while it is forwarded to our mailbox, and then deleted from that transit storage within 30 days. We use what you send only to reply to you, to improve ZuluCheck and to keep records that the law or a dispute requires, and we keep it for as long as needed for those purposes.
10. WEBSITE, HOSTING AND SERVER LOGS
zulucheck.com, shared links, the contact service and the source documents are hosted on Amazon Web Services in the United States. Like almost every website, our hosting provider records standard access logs: the IP address, the requested address, date and time, status, the referring page and browser and operating system information sent by your device. We use these logs only to operate, secure and troubleshoot the service and to resist abuse, and we keep them for up to 90 days unless an incident or a legal obligation requires longer. Website analytics: zulucheck.com uses Google Analytics 4, a service of Google LLC, to count visits and see which pages are read, from which countries and devices, and how visitors arrive. Google Analytics receives your IP address (which it uses for approximate location and then discards, without storing it), the pages you view, the referring page, your browser, device and screen, and a random identifier kept in its cookies. In the EEA, the UK and Switzerland these cookies are set only after you choose Accept in the banner; until then, and if you choose Decline, Google receives only cookieless measurements without that identifier (Google's Consent Mode). Elsewhere analytics cookies are on by default, and you can turn them off at any time from the Cookie Policy. A Global Privacy Control signal from your browser counts as Decline. We do not use Google Analytics for advertising, do not link it to Google advertising products, have Google signals switched off and keep analytics data for 14 months. Apart from Google Analytics, the site loads nothing from third-party servers (its fonts, images and scripts are served from zulucheck.com), and it stores your chosen language and your analytics choice in your browser's local storage. See the Cookie Policy for details.
11. PURCHASES
Purchases are made through Apple's in-app purchase system. Apple processes the payment and holds your payment details; we never see them. Apple gives the app a signed receipt that the app checks on your device to unlock Pro, and makes anonymized transaction information available to us in App Store Connect. Refunds are handled by Apple under its policy.
12. CHILDREN
ZuluCheck is intended for pilots, student pilots and instructors and is not directed to children. We do not knowingly collect personal data from anyone under 16 (or under 13 in the United States). If you believe a child has given us personal data, write to support@zulucheck.com and we will delete it.
13. LEGAL BASES (EEA, UK AND SWITZERLAND)
Where the GDPR, the UK GDPR or Swiss law applies, we process personal data on these bases: performance of our contract with you (hosting a link you asked us to share, answering your message, honoring your purchase); our legitimate interests (operating, securing and improving ZuluCheck, counting installs, resisting abuse, keeping records, establishing or defending legal claims), which we have balanced against your rights; your consent (location permission, Detect landings, notifications, sending us a message, analytics cookies on the website, usage statistics in the app), which you can withdraw at any time; and compliance with legal obligations.
14. INTERNATIONAL TRANSFERS
We are in the United States and our providers host data in the United States; Google LLC, which provides Google Analytics, is certified under the EU-U.S. Data Privacy Framework, its UK extension and the Swiss-U.S. framework. If you use ZuluCheck from the EEA, the UK, Switzerland or another jurisdiction with data transfer rules, your data is transferred to the United States. We rely on the European Commission's standard contractual clauses or the UK addendum with our providers where required, and on your explicit consent or the performance of your request where applicable.
15. YOUR RIGHTS
Depending on where you live, you may have the right to access the personal data we hold about you, to receive a copy in a portable format, to correct or delete it, to restrict or object to its processing, to withdraw consent, and to complain to a data protection authority (in the EEA, your national authority; in the UK, the Information Commissioner's Office). Residents of California and other US states with privacy laws have the right to know what personal data we collect, use and disclose, to delete it, to correct it, to opt out of sale, sharing or targeted advertising (we do none), to limit the use of sensitive personal data (we collect none), and not to be discriminated against for exercising these rights. Because we have no accounts, most of your data is on your device, where you can view, export and delete it yourself. For data we hold (shared links, messages, reports), write to support@zulucheck.com; we may ask you to prove that you control the email address or link concerned, and we will respond within the time the law requires, normally within 30 days. You may use an authorized agent where the law allows it. We do not respond to browser "Do Not Track" signals because we do not track; we honor Global Privacy Control signals by setting no analytics cookies on the website, and we do not sell or share data.
16. RETENTION
Data on your device: until you delete it or the app. Shared checklist sets: until you revoke the link, or until we remove it. Reports about shared links: up to 24 months. Install check-in records, tail numbers included: while the install keeps checking in, and deleted after 12 months without a check-in; push tokens that stop working are deleted. Messages you send us: as long as needed to help you and to keep the records the law or a dispute requires. Transit copies of inbound email: up to 30 days. Hosting access logs: up to 90 days. Website analytics and app usage statistics: 14 months in Google Analytics; your analytics choice stays in your browser until you clear it. App Store transaction information: as kept by Apple and for our accounting and tax records.
17. SECURITY
Data in transit to our servers and to Apple is encrypted (TLS). Our storage buckets are private, access is limited to what each component needs, and shared content is addressed by unguessable codes. No method of transmission or storage is completely secure, and we cannot guarantee absolute security. Keep your device locked and updated.
18. CHANGES
We may change this Policy. The effective date at the top shows the current version; material changes will be announced in the app or on zulucheck.com. Continued use after a change takes effect means you accept the changed Policy.
19. TRANSLATIONS
If a translation of this Policy differs from the English text, the English text prevails.
20. CONTACT
SnackSafe Inc., Delaware, USA. support@zulucheck.com, or Settings > Contact support in the app.