Privacy policy
Last updated October 25, 2026
Flagkeeper works without an account. Without one, your progress never leaves your phone. This policy explains what the app keeps on your phone, what it sends when it checks for updates, what happens when you sign in to back up your progress, send a mistake report or write to us, and what you can ask of us.
Who we are
Flagkeeper is made by ngCommit s.r.o., Jičínská 226/17, Žižkov, 130 00 Prague 3, Czech Republic, company ID (IČO) 07281056. ngCommit s.r.o. is the controller of the personal data described here.
For anything about your data, write to support@flagkeeper.app.
What stays on your phone
The app saves everything you do in it on your phone:
- your progress: the flags you keep, their levels and when each one comes back
- your streak, daily puzzles, achievements and statistics
- the history of your answers
- your settings and the reminders you set
If you don't sign in, the app sends none of this anywhere. Reminders are scheduled on the phone, not by a server. Without an account, the app connects to our backend only to send a mistake report you wrote. It also checks Expo's server for updates, as described under App updates below.
Deleting the app deletes this data. You can also clear your progress in the app under Profile, Learning, Reset progress. Your phone's own backup to iCloud or Google may include the app's data. Apple and Google handle those backups under their own terms.
App updates
Each time you open the app, it asks Expo's update server whether there is a newer version of the app's code or flag data, and downloads it if there is. It does this whether you are signed in or not. The request contains:
- whether you use iOS or Android
- the version of the app's native code, so the server offers only updates that fit it
- the update channel, which is the same for everyone with the store version
- the IDs of the update the app runs and of the one it was installed with
- a random ID that the app creates the first time you open it and keeps until you delete the app or clear its data. A restore from your phone's backup can bring it back. Expo uses it to count how many installs check for updates each month.
If the app failed to start the last time you opened it, the next request also carries the error message, up to 1,024 characters.
The request contains no account, progress or answers. Expo (650 Industries, Inc., USA) runs the update server and sees your IP address, as any server you connect to does. Expo handles this data under its own privacy policy.
The optional account
You can sign in with Apple or Google to back up your progress, restore it on a new phone and keep the same progress on several phones. We use the account data only for that.
Your sign-in record
Google's Firebase Authentication keeps the record of your account. It holds what Apple or Google share when you sign in:
- your Apple or Google user ID
- your email address, or the relay address Apple creates if you chose to hide your email
- your name, if Apple or Google share it
- when the account was created and when it was last used
Google may also pass on the link to your Google profile photo. The app doesn't use it. To protect sign-in from abuse, Firebase Authentication also logs IP addresses and the type of device and app that signed in, and Google keeps those logs for a few weeks. Google runs Firebase Authentication from data centers in the United States.
Your backup
Your backup is stored in Google's Cloud Firestore in the EU region europe-west3 (Frankfurt, Germany). It holds:
- your progress, streak, daily puzzles, achievements and statistics
- the settings that follow you to other phones: language, daily goal, flag set, typing, auto-advance, colorblind mode and the name you typed for your certificate, if any
- the history of your answers: for each answer, when you gave it, which flag and kind of question it was, what you picked or typed, whether it was right and how long it took
Theme, sounds, haptics, reduce motion and notification settings stay on the phone. The backup doesn't contain your email address. Through the app, only you can read or change your backup.
While you are signed in, the app syncs when you open it and after you finish an exercise, a practice round or a puzzle. Under Profile, Account & backup, Export my data saves a file with your progress and every answer.
Protecting the backend
When the app connects to our backend, Firebase App Check confirms that the request comes from a genuine copy of Flagkeeper on a real device. On iPhone it asks Apple's App Attest or DeviceCheck, and on Android it asks Google Play Integrity. These checks look at the app and the device, not at your progress. Google doesn't keep the attestation data, and the tokens it issues expire after at most seven days.
Mistake reports
If you report a mistake in a flag, the report contains the flag, the kind of mistake, what you wrote, the app's language and version, whether you use iOS or Android, and the time you sent it. It contains your email address only if you type one in, so we can reply.
Reports don't need an account and aren't linked to one. The app keeps a report on your phone until it can send it. We store reports in Cloud Firestore in the EU region europe-west3 and delete each one 90 days after we have dealt with it.
Emails to us
If you write to support@flagkeeper.app, we use your address and message only to answer you and to do what you ask. Forpsi hosts our mailbox. We keep the emails as long as we need them for that.
Our backups
Once a day we copy the backups that changed that day to a computer we control. They don't include your email address or your sign-in record. We use the copies only to repair an account after a fault.
We keep each day's copy for 30 days. For an account that still exists, the newest copy is kept until a newer one replaces it. When an account is deleted, its copies are gone within 30 days.
No ads, no analytics, no tracking
Flagkeeper has no ads and no analytics or crash reporting tools, and it doesn't track you across apps or websites. We don't sell your data or share it for advertising.
Who else handles the data
- Google provides Firebase Authentication, Cloud Firestore, App Check and Firebase Hosting, and processes the data in them on our behalf.
- Apple and Google run Sign in with Apple, Google sign-in, App Attest, DeviceCheck and Play Integrity under their own privacy policies.
- Expo (650 Industries, Inc., USA) runs the update server the app checks for updates, and handles those requests under its own privacy policy.
- Forpsi hosts our email.
- The App Store and Google Play handle downloads, updates and the rating prompt under their own privacy policies.
Your backup and your reports stay in the EU. Firebase Authentication runs in the United States, and Google may process App Check and Hosting requests wherever it has facilities. Google covers these transfers in its data processing terms for Firebase, which include the European Commission's Standard Contractual Clauses. Expo is a US company and may process the update requests outside the EU. Its privacy policy says it complies with the EU-U.S. Data Privacy Framework.
Why we may use the data
Under the EU General Data Protection Regulation (GDPR), we rely on:
- our agreement with you, to run the account you asked for: sign-in, backup, sync, restore and deletion
- our legitimate interest in keeping the service safe and working: App Check, the update check, the sign-in logs, our backups, removing unused accounts, fixing flags you report and serving this website
- your consent, when you add your email address to a report. You can withdraw it at any time by asking us to delete the address.
How long we keep it
- On your phone: until you reset your progress or delete the app.
- Your account and backup: until you delete them. If you don't sign in or use the app while signed in for 24 months, we delete the account and its backup.
- When you delete your account in the app, the backup and the sign-in record go at once. If the app can't finish, a daily cleanup deletes what is left within 24 hours. Our copies are gone within 30 days. Google removes deleted sign-in records from its own systems within 180 days.
- If you ask us by email, we delete your account and backup within 30 days.
- Mistake reports: 90 days after we have dealt with them.
Your rights
You can ask us to:
- tell you what data we have about you and give you a copy
- correct data that is wrong
- delete your data
- limit how we use it, or stop using it where we rely on our legitimate interest
- give you your data in a file you can take elsewhere
You can do much of this yourself. While you are signed in, Export my data gives you a copy of your progress and answers. Your email address and name come from Apple or Google, so you change them there. To delete your account, follow the steps on the account deletion page. For everything else, write to support@flagkeeper.app. We answer within one month.
You can also complain to the data protection authority in your country, or to the Czech Office for Personal Data Protection (Úřad pro ochranu osobních údajů, uoou.gov.cz).
Children
Flagkeeper is meant for people aged 13 and older. If you are below the age at which your country lets you use online services on your own, ask a parent before you create an account. If you think a child has created an account, write to us and we will delete it.
This website
This website runs on Firebase Hosting. Google processes your IP address to deliver the pages. The pages set no cookies and contain no analytics or tracking. The home page runs a small script for its animations and the flag quiz, which stores and sends nothing. Fonts and images load from this website, not from anyone else.
Changes
We post every change to this policy on this page and update the date at the top. Before the app collects a new kind of data, we change this policy first.