Privacy Policy — PlaneFlow

Last updated: 25 September 2026

Some of what this policy describes is not running yet. It is written down here first, on purpose, so that nothing starts being sent before it is described. The Play Games statistics arrive with the next version of the Android app. The sign-in check in Checking that a result is really yours starts no earlier than the next Android release. The Play Integrity check in Checking that a result is really yours starts with a later Android release. Everything else on this page describes the app as it is today.

PlaneFlow (“the game”, “we”) is a casual air-traffic-control game. This policy explains what data the game handles and how. We keep it minimal on purpose: the game asks for no personal information and there is no sign-up, no password and no account you have to create. On Android, the game optionally lets you sign in with Google Play Games to use achievements and leaderboards — that part is described below and is entirely optional. If you post a score to our own Survival leaderboard in the Android app, a random player id — and, if you are signed in, your Play Games display name — are stored on our server so the board can show your result; you can have those deleted at any time. Because that board is public, the Android app also asks Google to confirm that a result really comes from the player it is signed with and from a genuine copy of the game — what that adds is described in Checking that a result is really yours. The game also lets you write us a message about a level or about the game — that is voluntary, and what you type goes to our own server and to the developer. The only personal data we ever ask for is an email address you enter yourself if you choose to join our optional notification list (see Email notifications below).

What we store

The game stores the following locally on your device (in the browser/app storage), so your progress and preferences persist between sessions:

Google Play Games (Android, optional)

The Android version of PlaneFlow offers an optional sign-in with Google Play Games so you can earn achievements and post Survival scores to leaderboards. This feature is provided by Google. It is off until you choose to sign in, and you can play the entire game without it. The web version does not use Google Play Games at all.

When you sign in, Google provides the game with your Play Games player ID and your Play Games display name (gamer tag) and avatar, and the game sends your achievement progress and leaderboard scores to Google Play Games Services. Your gamer tag and scores are stored on Google’s servers and can be visible to other players on the leaderboards you take part in. Your gamer tag is also what signs your entry on our own Survival leaderboard described below, so it is sent to our server too, and our server asks Google to confirm the sign-in behind it — see Checking that a result is really yours. We use this data only to run achievements, leaderboards and the statistics described below — we do not use it for advertising and we do not sell it.

Play Games statistics. While you are signed in, the game also sends Google Play Games a few running totals of your play (from the next version of the Android app): planes landed, planes sent off, services done, coins earned, stars, your best streak, medals unlocked and how far you are through the campaign. Google shows them as game statistics in your Play Games profile. They are the game’s own lifetime totals, sent as they stand, so the first time they go out they include everything you have played so far. Google keeps the highest value it has received: deleting your statistics or resetting your progress in the game does not lower the totals your profile already shows (only the campaign progress follows the game back down). What is in your Play Games profile is managed through your Google account, as described below. The statistics are counts only — nothing else about you, and nothing about your device.

Saved games (cloud progress). While you are signed in, the game also keeps a copy of your saved game in your Play Games account, using Google’s Saved Games service, so that your progress follows you to another device. That copy is the whole save file — unlocked levels, stars, best results, medals, your settings and language — and it is stored by Google, not by us: we never receive it. (Earlier versions of the game also put the random key described in the leaderboard section into that copy; it no longer goes there, and the next save from an updated game removes it.) Your device keeps the original; the cloud copy is a mirror. It is removed when you delete the game’s data from your Play Games account, and resetting your progress in the game’s settings erases the cloud copy too. If you never sign in, nothing is copied anywhere.

This Play Games data is collected and processed by Google under Google’s Privacy Policy, and you control it through your Google account and your Play Games settings (including your gamer-tag visibility and deleting your Play Games data). If you never sign in, no Play Games data leaves your device.

Survival leaderboard — our own server (Android app)

The Android app has a global Survival leaderboard that we run ourselves, on our own server, separate from Google Play Games. When your Survival run ends and the result is posted to that board, the game sends the following to our server at api.planeflow.jevgenia.com:

That is the whole list — no contacts, no location, and no hardware or advertising identifiers (the two random strings above are generated by the game itself and identify nothing outside it). The one identifier that does come from your Google account — your Play Games player ID — reaches our server only to confirm that an entry is yours, is never shown to anyone and is used for nothing else; that is the section below. We use all of it only to build the leaderboard and to keep it honest. It is not shared with third parties, not used for advertising, and never sold. The web version of the game does not send scores to this leaderboard.

Where it is stored. On a virtual server we rent and administer ourselves from Contabo, located in a data centre in France — so this data is stored in the European Union and does not leave it. It is not handed to a third-party analytics or game-backend service: it sits in a single database file on that server, and travels there over HTTPS. The two exceptions are the checks described below: to perform the sign-in check, our server passes the one-time code back to Google; to perform the Play Integrity check, it passes the encrypted verdict token to Google’s own decoding service. Both answer from Google’s infrastructure under Google’s Privacy Policy. Nothing else on the list goes anywhere but that database file, and Google gets nothing from us besides that code and that token.

How long it is kept. Your display name, your player id and the record that links it to your Play Games sign-in are kept until you ask us to delete them — whether or not you are still on the board, and whether or not you ever posted a score at all. Individual run records are deleted automatically after about 90 days; weekly, monthly and seasonal placings drop off automatically once the period is well past. Your all-time best stays until it is deleted.

Deleting it. Write to planeflow@jevgenia.com and we will erase everything our server holds about you — display name, player id, what we keep of your Play Games sign-in, every recorded run and any messages you sent us — which also removes you from the leaderboard. Note that if you keep playing afterwards and post a new score, a new entry is created in the same way as the first time.

Checking that a result is really yours (Android app)

A shared leaderboard is only worth anything if the results on it are real. Two checks make that possible, and each one means our server receives something extra, so both are described here in full. The sign-in check starts no earlier than the next Android release; until it starts, no sign-in code is sent anywhere. The Play Integrity check starts with a later Android release; until it starts, no Play Integrity verdict is sent anywhere. They happen only in the Android app, and never on more than the requests that put something of yours on our server at api.planeflow.jevgenia.com — posting a Survival result, or sending us a message. Requests that carry nothing of yours never get them: reading the leaderboard, and the anonymous tally of consent answers described below, stay exactly as they are. Whether every such request is checked or only some of them is a question of how much checking Google lets us do; either way it is never more than what this section describes. The web version does none of this.

How long they are kept. What we keep of your Play Games sign-in sits next to your player record and lives exactly as long as that record does. The Play Integrity verdict is checked at the moment of the request and not stored: all that remains is whether the last check passed, and when.

Deleting them. The verdict itself was never stored, so there is nothing of it to delete. What the sign-in check keeps, and the note that the last check passed, sit in the same record as everything else our server holds about you, so a deletion request erases them together with your display name, your player id, your results and your messages.

If you never sign in with Play Games there is no sign-in code and no player ID for us to check, and your entry is simply signed automatically as before. The integrity verdict is about the app rather than about you, so it is sent whenever a result or a message is, signed in or not. As with everything else in this section, both checks are performed by Google under Google’s Privacy Policy; what reaches us is the answer, not the workings.

Feedback you write (Android app)

The game has two places where you can type a message to us in your own words, and both are entirely voluntary — they start empty and nothing is sent unless you write something and press send:

What you write is sent to our own server at api.planeflow.jevgenia.com — the same server in France described above — where it is stored, and it is also forwarded to the developer as a Telegram message so that someone actually reads it. Alongside the text we send the tag you picked, the level and mode it was about (for the results-screen note), and the app version, interface language and platform, so we can tell which build a problem came from. The note from the results screen is also counted in the anonymous analytics described below, if you consented to those; the message from Settings is not.

Please note that this is a free-text field: whatever you type is what we receive. Before it is stored, the game and the server both strip anything that looks like an email address and any long random-looking string (such as an id or a token) and replace it with [redacted] — so please don’t rely on that and don’t put personal details, your own or anyone else’s, into the message. We only want to know what you think about the game.

Your message is sent together with the same random player id described in the leaderboard section, so it is pseudonymous rather than anonymous: messages from one device are linked to each other, and to your leaderboard entry if you have one. Sending a message opens the same connection to our server that the leaderboard uses, so if you are signed in, your Play Games display name is stored on our server at that point too — even if you never post a score, and the same connection carries the two checks described in Checking that a result is really yours. Messages are kept for up to a year; your display name and player id stay until you ask us to delete them, whether or not you are on the leaderboard. All of it is erased together with everything else our server holds about you if you ask us to delete your data (see below). We do not use them for advertising and we never sell them.

App updates (Android app)

The Android app can update the game itself without going through the store. To do that it periodically asks our server at capgo.jevgenia.com whether a newer version exists. This is part of how the app works, so it happens whatever you choose on the analytics consent screen — but it is not analytics, and it carries nothing about how you play.

The check sends the app and content version it currently has, the app’s package name, your Android version, whether the build is a release build, and a random identifier generated by the update component (again: not your account, not a hardware or advertising id, and reset if you reinstall the app). This is the same server in France described above; it reads only the version in order to decide whether to offer an update, does not store the rest, and our web-server logs are configured not to record visitors’ IP addresses.

Analytics & diagnostics — Firebase (Android app, with your consent)

The Android app uses Google’s Firebase for anonymous analytics (Google Analytics for Firebase), crash reporting (Crashlytics) and performance monitoring (Performance Monitoring). This collection is off by default and starts only after you agree on the consent screen; if you decline, nothing is sent. The web version does not use Firebase.

When enabled, Firebase collects the anonymous gameplay events and technical context described above, crash and performance diagnostics, a Firebase installation identifier, and — for analytics attribution — your device’s advertising ID. This data is not linked to your identity, is used only to understand aggregate usage and fix problems, is not shared with third parties for their own purposes, and is never sold. It is processed by Google under Google’s Privacy Policy. You can stop it at any time with the “Share gameplay data” switch in Settings → GDPR, or by clearing the app’s data. No ads are shown in the game.

Separately, when you answer the consent screen — either way — or flip that switch, the app sends our own server one anonymous tally entry: whether the answer was yes or no, whether it came from the consent screen or from Settings, the platform, and the build number. It carries no identifier of any kind — no account, no device or advertising id, no cookie — and the server stores only a daily count, never a row about you. We do this because a refusal produces no analytics at all, so without counting the answers we cannot tell how much of our audience our numbers are missing. It is not linked to anything else we hold, and the count cannot be traced back to a person.

Email notifications — waitlist

On our sign-up page you can voluntarily give us your email address so we can let you know when PlaneFlow’s open test and full launch go live. This is entirely separate from the game itself: you never need an email address to play, and the game does not ask for one.

What we do NOT collect

Where the data goes

Your game progress and settings stay on your device, and the saved game itself is never uploaded to us — the only copy that leaves the device is the Play Games saved game described above, which goes to Google and only while you are signed in. Data that leaves your device is limited to: (1) the Google Play Games information above, including that saved game, only if you sign in; (2) in the Android app, a random player id, your Survival results, the two checks that the result is really yours and — if you are signed in — your Play Games display name, sent to our own server; (3) in the Android app, a message you choose to write us, sent to that same server and forwarded to the developer; (4) in the Android app, the version check our update server needs; (5) in the Android app, the Firebase analytics and diagnostics described above, only after you consent; and (6) the email address you submit to our notification list, only if you sign up (processed by Cloudflare and Brevo, as described above). On the web, analytics stay on your device. We use analytics only to improve the game and to understand aggregate, anonymous usage (for example, how many players complete the tutorial). We never sell your data.

Everything we store ourselves is stored in the European Union. That means both places where we — rather than a big platform — keep data: our own server in France (the Survival leaderboard), and the waitlist database, which runs on Cloudflare D1 restricted to Cloudflare’s EU jurisdiction. Neither leaves the EU.

Three things are not covered by that sentence, and we would rather say so plainly than imply otherwise: data you send to Google — Play Games sign-in data if you use it, and Firebase analytics if you consent to it — is handled by Google on its own infrastructure under Google’s Privacy Policy, which is not limited to the EU; the sign-in check is a request we make to Google, so it leaves the EU the same way; and confirmation emails are delivered through Brevo, as described above.

Children

PlaneFlow is suitable for a general audience and is not directed at children under 13. We do not knowingly collect personal information from children.

Data retention & your control

Because the on-device data is stored on your device, you can erase all of it at any time by clearing the app’s data/storage or uninstalling the game. If you signed in with Google Play Games, your achievements, leaderboard scores, statistics and saved game live in Google Play Games — clearing the app’s data does not remove that copy; you manage or delete it through your Play Games settings. Resetting your progress inside the game erases the cloud copy as well, but does not lower the statistics already in your profile. There is still no PlaneFlow account with a password to close — but if you have posted to our Survival leaderboard, we do hold your display name, random player id, results and what the sign-in check keeps on our server, and you can have all of it deleted: see that section above, or write to planeflow@jevgenia.com. If you joined the email notification list, you can remove your address at any time — see Email notifications above.

Security

The game is served over HTTPS. Any data transmitted off your device — Google Play Games sign-in data, your leaderboard entry and version checks on our own servers, and the Firebase analytics/diagnostics above — is sent over encrypted connections. Scores are accepted only with a key the game holds for your own player id; results are additionally checked with Google — that a result signed with a Play Games name really comes from that player (no earlier than the next Android release), and that the app they came from is one Google recognises (from a later Android release) — so that results posted under someone else’s name can be told apart from real ones. Those are the checks described in Checking that a result is really yours. Playing without signing in stays possible: there is no sign-in to confirm, and such an entry is labelled automatically. What those checks leave on our server is kept only for the checks themselves: never published, never used for anything else, and gone when the rest of your data is.

Changes to this policy

If this policy changes, we will update the “Last updated” date above and, where required, the Google Play listing.

Contact

Questions about this policy: planeflow@jevgenia.com