Legal

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:

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:

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:

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:

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

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:

How long we keep it

Your rights

You can ask us to:

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.