Privacy Policy
Last updated: August 2026FlagStack ("we", "our", or "us") collects as little as the app can work with. This policy sets out exactly what that is and what you can ask us to do about it.
1. Information We Collect
Account information. FlagStack creates an account for you automatically the first time you open the app, so you can play without filling in a sign-up form. For this account we generate a random username and pick a random avatar. We do not ask for, and do not receive, your email address or any other contact detail at this point. This account is identified only by a random identifier and is not linked to your real-world identity.
If you choose to attach an email address, either through "Save Your Progress" so that your progress survives a new phone, or by creating an account yourself from the login screen, we then collect the email address and password you give us, along with the username and avatar you pick. If you sign in with Apple or Google instead, we receive only what those services pass on to us, which is usually your name and email.
Profile information you add yourself. You can set a display name, a bio, a country and a different avatar or username if you want to. Whatever you put in these fields can be seen by other players, so please leave out anything you would rather keep private.
Usage data. We record quiz scores, accuracy rates and session timestamps to power leaderboards and your personal stats. We do not record the content of your answers beyond what is needed to calculate scores.
Flag Challenge progress data. If you take part in the Flag Challenge, we record that you enrolled, which days you finished, and what you scored on the exams. We use this to work out whether the challenge is actually teaching people anything, so we can make it better. These events are now part of the general usage data described below, and the single control in Settings covers them. There is no longer a separate switch on the Flag Challenge screen. We also keep a copy of your challenge progress on your account so that reinstalling the app does not wipe it. That copy is part of your account data rather than analytics, and deleting your account removes it.
Push notification token. If you grant permission, we store a device token to send you battle invites and results. You can revoke this permission at any time in your device settings.
Reminders that never leave your device. FlagStack can also nudge you when the daily challenge is ready, when your streak is about to lapse, when flags are due for review, or when you have reached a milestone in the Flag Challenge. Your device schedules these by itself. They are not sent from our servers and they involve no collection of your data at all. You can turn each one off separately in Settings → Notifications.
Device information. We may process basic device platform information (iOS or Android) for debugging and to deliver push notifications. We do not collect your device's advertising identifier, we do not run advertising networks, and we do not track you across other apps or websites.
How you use the app. We use PostHog to understand which parts of FlagStack people actually use, so we know what to fix and what to build next. This is recorded at the level of a whole session rather than individual answers, so we do not keep a record of each question you saw. What we record is things like moving through the first-run setup and finishing it, opening the app, starting and finishing a quiz, starting and completing the daily challenge, creating a battle, sending or accepting an invitation to one and finishing it, opening any of the app's main screens such as Learn, Explore, Stories, Review, Quick Study or the leaderboard, being shown one of the suggestion cards on the home screen and whether you tapped it, enrolling in the Flag Challenge, finishing one of its days and sitting its exams, attaching an email address to your account, being shown the notifications prompt and what you chose, tapping a share button, and whether work you did offline reached us once you were back online. Alongside each of these we keep a little context: which quiz mode it was, your score and accuracy for that session, roughly how long it took, your current streak, your app version, and whether you are on iOS or Android.
So that we can tell one person's sessions apart from another's, this data carries a random identifier and the account identifier FlagStack generated for you. It never includes your email address, your password, your bio, or your location. We do not sell it, we do not share it with advertisers, and it is not used to build a profile of you for any purpose other than improving the app. PostHog keeps these events for one year and then deletes them.
Whether we ask you first depends on where you are. If your device looks like it is in the European Economic Area or the United Kingdom, we collect none of this until you say yes. Before you answer, nothing is stored on your device and nothing reaches us. We ask once near the end of the first-run setup. If you say no, we may ask a second time much later on, and after that we will not ask again. Everywhere else this is switched on from the start. Wherever you are, Settings has a switch called "Analytics and diagnostics" that turns it off and back on whenever you like.
Crash and error reports. To find and fix problems, we use Sentry to collect automatic crash and error reports. A report contains technical information (the error and its stack trace, your app version, device model, and operating-system version), but is configured to exclude your IP address and account identifiers, so it is not tied to your identity. We use this data only to diagnose and fix bugs.
2. How We Use Your Information
- To create and maintain your account
- To display leaderboards and personal stats
- To enable real-time battle features
- To send push notifications you have opted into (battle invites and results)
- To keep the service safe, for example by screening usernames and bios for objectionable content and acting on reports of abuse
- To understand whether the Flag Challenge is helping people learn, and to improve it
- To understand how the app is used so that we can fix what is broken and decide what to build next
Where the GDPR or UK GDPR applies, our lawful basis for most of this processing is the performance of our contract with you to provide the game. For push notifications we rely on your consent. For crash and error diagnostics we rely on our legitimate interest in keeping the app stable, which we consider proportionate given how little data is involved and that it is not tied to your identity.
For the usage data described above, our basis depends on where you are. In the European Economic Area and the United Kingdom we rely on your consent, both for storing an identifier on your device and for the analysis that follows, and we collect nothing at all until you give it. Everywhere else we rely on our legitimate interest in understanding how the app is used so that we can improve it, and you can object at any time by switching it off in Settings. Whichever applies to you, turning it off stops collection from that moment onward. It does not by itself erase what was already collected, but you can ask us to delete that as well and we will.
3. Data Sharing
We do not sell your personal data. We share data with the following service providers, who act as our data processors and handle your data solely on our instructions:
- Supabase: our database and authentication provider, acting as a data processor under its Data Processing Addendum (supabase.com/legal/dpa). Your data is hosted in Supabase's Singapore region (
ap-southeast-1). - Sentry (Functional Software, Inc.): crash and error diagnostics, acting as a data processor under its Data Processing Addendum (sentry.io/legal/dpa). Diagnostic data is hosted in Sentry's European Union region.
- PostHog (PostHog, Inc.): product analytics, acting as a data processor under its Data Processing Addendum (posthog.com/dpa). This data is hosted in PostHog's European Union region.
- Expo Push Notification Service: delivers push notifications to your device
- Apple / Google: only if you choose to sign in with those services
Outside sources the app contacts directly. Some of the live information in FlagStack is fetched by your device as you use the app, rather than passing through our servers. When that happens the provider will see your device's IP address, in the same way any website you visit would. This is not something we send them, and we share nothing else about you. It applies to the U.S. Geological Survey earthquake feed, which powers recent quakes on the world map, and to the currency exchange rate service (delivered by the jsDelivr CDN, with Cloudflare Pages as a backup) behind the currency conversion. Neither request carries your username, your account identifier or anything about your play. Weather is different, because we deliberately route it through our own server so that your device never contacts the weather provider at all.
4. International Data Transfers
Our database is hosted in Singapore. If you access FlagStack from outside Singapore, including from the European Economic Area (EEA), the United Kingdom, or elsewhere, your personal data is transferred to and processed in Singapore. Where this involves a transfer of EEA/UK personal data, we rely on the European Commission's Standard Contractual Clauses (SCCs), as incorporated into our processor's Data Processing Addendum, to provide an appropriate safeguard for that transfer.
Crash and error diagnostics are processed by Sentry in the European Union. For users located outside the EEA/UK, any resulting transfer is likewise covered by the Standard Contractual Clauses incorporated into Sentry's Data Processing Addendum.
Usage analytics are processed by PostHog in the European Union. For users located outside the EEA and the UK, any resulting transfer is likewise covered by the Standard Contractual Clauses incorporated into PostHog's Data Processing Addendum.
5. Data Retention and Deletion
You may delete your account at any time from the app's Settings screen, and this page sets out how, including what to do if you have already uninstalled the app. This works whether or not you ever added an email address to it. When you delete your account, your profile and game data are anonymised immediately. Your authentication record is permanently deleted within 30 days, and the same process deletes the usage analytics recorded against you, including the Flag Challenge events described above.
Usage analytics that are not deleted with an account are kept for one year and then removed automatically.
Because an account is created for you automatically when you first open the app, an account will exist even if you only ever play once. If you would like it removed, deleting it in Settings before you uninstall is the surest way. If the app is already gone from your device, email us and we will help, though we may need something from you to identify which account was yours, as we hold no email address for accounts that were never secured.
6. Children's Privacy
FlagStack is not directed at children under 13, and you need to be 13 or over to use it. We tell you this on the first screen of the app, before any play begins, and continuing past it confirms that you meet the age requirement. We do not knowingly collect personal data from children under 13. If you believe a child under 13 has provided us with data, please contact us and we will delete it promptly.
7. Security
We use industry-standard security measures, including encrypted connections (TLS) and row-level security on our database. Tokens are also stored securely on your device. No method of transmission over the internet is 100% secure, but we take reasonable steps to protect your data.
8. Your Rights
Depending on your location, you may have the right to access, correct, export, restrict, or delete your personal data, and to object to certain processing. To exercise these rights, delete your account in-app or contact us at the address below; we respond to verified data-subject requests within the timeframe required by applicable law. If you are in the European Economic Area or the United Kingdom, you can also withdraw your consent to usage analytics at any time in Settings. Withdrawing it is as easy as giving it, and it does not affect anything else in the app.
9. Changes to This Policy
We may update this policy from time to time. We will notify you of significant changes through the app. Continued use after changes constitutes acceptance of the updated policy.
10. Contact
Email us at flagstacksupport@gmail.com. That address takes questions, privacy requests and reports of abuse.