Undercell — Privacy Policy
Last updated: October 21, 2026
This policy applies to Undercell, a pentomino logic puzzle for Android and web browsers published by UPSIDE Dariusz Majewski. It applies to that game only; other applications from the same publisher have their own policies.
In short
- You can play all of Undercell without an account and without sending us anything. The game works offline.
- Undercell has an optional public leaderboard for each board. Nothing is sent to it until you choose Post my time or switch on Post my times in Profile. After that, every board you solve is posted until you switch Post my times off.
- If you post, your display name, your time and a replay of your moves are stored on our server, and your name, time and replay are visible to anyone. The replay holds only your moves with their timings and the board; see "What is public".
- Sending a run as a challenge link (Challenge a friend, then Send a link) posts it, and anyone with the link can see your display name, time, hints and moves.
- You can delete your leaderboard account at any time, in the app or by email. See how to delete your account.
- There is no advertising, no analytics, no crash reporting and no tracking in the game.
What stays on your device
Undercell saves your settings, your progress and the boards you choose to keep in the app's own storage on your device. This information is not sent to us, is not readable by us or by anyone else, and is deleted when you uninstall the game. To erase it sooner, use your system's "clear app data" option. One thing to know on Android: Android's own backup, if it is on for your device, may copy the app's storage to your Google account backup and restore it when you reinstall the game. That copy is made by Android and Google, under your device settings and Google's terms; we cannot read it. In a browser, your settings, progress and kept boards are saved in your browser's own storage for this site; clearing the site data erases them permanently.
Until you choose to post, the game sends nothing to us and makes no requests to our server while you play. The one exception is looking at a leaderboard or the list of boards: opening it asks our server for the list of times, and the server sees that request like any other web request. You can read the boards without an account. If you have a leaderboard account, the request also carries your access token, so that the list can mark which entry is you. On Android, the Google Play Games SDK starts when you choose Post my time, switch on Post my times or send a challenge link. After that it also starts at each app launch if you signed in with Play Games before, to keep you signed in. If you never switched posting on, or you deleted your leaderboard account and have not switched posting on again, the SDK never starts and the game makes no requests to Google.
The leaderboard: what we collect
The leaderboard is optional and off until you choose Post my time or switch on Post my times in Profile. From then on, every board you solve is posted automatically, including runs where you used hints, until you switch Post my times off in Profile. Runs you solve while you are offline or signed out are posted when you are back online. Switching it off stops new posts; to remove what you already posted, delete your leaderboard account. When you post, we collect:
- Account identifier. On Android with Google Play Games, your Play Games player ID. In a browser, or on an Android device where Google Play Games is not available, a random account ID that our server creates for a guest account. It is created when you choose Post my time, switch on Post my times or send a challenge link, before any run is posted. We use it to tell your runs from other players' runs.
- Access token. When you sign in or create a guest account, our server gives your device a secret access token. Your device keeps the token in its own storage: in a browser, the site storage for this site; in the Android app, the app's storage. On Android, Auto Backup includes that storage, so the token is copied to your Google account backup and restored when you reinstall the game; that is how an Android guest or Play Games session survives a reinstall. We store only a hash of the token, never the token itself, and we never show it to anyone.
- Display name. On Android with Google Play Games, your Play Games display name, the gamer name you chose in Google Play Games. If your Play Games profile has no name, or you post as a guest (in a browser, or on an Android device without Google Play Games), a name that our server generates, such as "Amber Fox 12". It is the name shown on the leaderboard. We do not ask you to choose a separate one. We do not receive your email address.
- Each run you post. The board code, your time, the number of hints you used, the version of the app, the time of posting, and the replay of the run. The replay is the file the game saves when you export a replay, but our server re-encodes it before storing it. It keeps only your moves with their timings and the board. The name in your Undercell Profile, the name of any rival you raced and the time you started the board are not stored: the server drops the first two and replaces the start time with the time of posting.
- Each like or dislike. The board code, whether you liked or disliked the board, and when you last changed it. You can like or dislike only a board you have posted a run on. Everyone sees only how many players liked and disliked a board, never who.
- Account times. When your account was created and, to within about an hour, when its access token was last used.
On Android, if Google Play Games is not available on your device (for example because Google Play services are missing, disabled or out of date), you post as a guest under a generated name. That guest account is not tied to any Google profile. It lives in the app's storage, which Android backup may copy and restore as described above. Clearing the app's data loses it, and so does uninstalling the game if no backup is restored.
We collect nothing else: no email address, no device identifiers, no advertising ID and no analytics. No log of ours keeps your IP address: our server uses it once, in memory, to look up your country, and keeps only the country.
To limit abuse, our server counts requests to create a guest account and to sign in, per IP address. The count lives in the server's memory only, under a salted hash that changes each time the server restarts. The address is never stored in the database, written to a log or kept after a restart.
A run that does not qualify for the ranking (one where you used hints, one you cleared only after a miss and Try again, or one on a board you have met before) is also stored with your account, but it gets no place and is not shown on the leaderboard; its replay is public only if you send it as a challenge link. It is kept and deleted on the same terms as your other runs. The same applies to a run that is faster than our plausibility check allows: we keep it without a place. It gets one only if our review of its replay accepts it and you have no other ranked run on that board.
What is public
Your display name, and the times and replays of your ranked runs, are visible to anyone who opens the leaderboard, including people who do not use Undercell. Anyone can watch or download the replay of a ranked run. It contains only your moves with their timings, the board, the time, the hints used, the app version and the time of posting. It does not contain your Undercell Profile name or the name of a rival. Your account ID and your access token are not public. Choose whether to post with that in mind.
A run you send as a challenge link can be opened by anyone who has the link.
On Android with Google Play Games, your display name comes from your Play Games profile. The leaderboard picks up a new Play Games name the next time the game signs you in again, for example after you clear its data; it then replaces the old name on all your entries. Until then the old name stays. If your Play Games profile has no name, we use a generated one. A guest name is generated by us and does not change.
Why we use your data, and the legal basis
- To run the leaderboard you ask for — to show your times and your place. Basis: performance of the service you request (Article 6(1)(b) GDPR).
- To check that results are genuine — we keep the replay so that a time can be checked and cheating can be found. Basis: our legitimate interest in keeping the leaderboard fair (Article 6(1)(f) GDPR). You may object to this; see your rights below.
- To operate and secure the website — the web server request log (time, address requested, status, referring page, browser identification and your country, never your IP address) helps us keep the site running and find abuse. Basis: our legitimate interest in running a secure website (Article 6(1)(f) GDPR). You may object to this too.
Who receives your data
- Google provides Google Play Games Services on Android. When you sign in there, our server sends a one-time code from the app to Google and receives back your Play Games player ID and display name. Google runs Play Games Services as its own service, under its own terms and privacy policy, and acts as an independent controller of the data it processes there. Google may process this data in countries outside the European Economic Area; where it does, it relies on safeguards such as the European Commission's standard contractual clauses. See the Google Privacy Policy. Guest accounts (in a browser, or on an Android device without Google Play Games) do not involve Google. The Play Games SDK starts when you switch posting on or send a challenge link, and after that at each app launch if you signed in with Play Games before.
- Our hosting provider runs our server. All leaderboard data, including backups, stays in the European Union. It processes that data only on our behalf, under a data processing agreement (Article 28 GDPR), and does not use it for its own purposes.
We do not sell your data and we share it with no one else. The only data that is visible to the public is what is described under "What is public".
Playing in a browser
The browser version is played at upside.com.pl/undercell/play. Our request logs record the time, the address requested and the status code, and for the website pages also the referring page and the browser identification your browser sends. When you open the browser game, a public leaderboard page or a challenge link page, the server looks up your country from your IP address and logs only the country. Calls from the game to the leaderboard service are logged without a country. No log keeps your IP address, and our reverse proxy keeps no access log. We keep the logs to operate and secure the site and use them for nothing else. Basis: our legitimate interest in running a secure website (Article 6(1)(f) GDPR). The logs go to a log store we host ourselves and are deleted after 90 days.
The page sets no cookies, and carries no analytics, advertising or tracking of any kind. If you post a time, the browser creates a guest account and keeps its secret access token in your site storage, as described above. There is no Google sign-in in the browser. If you clear the site data, you lose access to your guest account: the runs you posted stay on the leaderboard until you ask us by email to delete them, see "Deleting your account".
How long we keep it
Leaderboard data is kept until you delete your leaderboard account. A run may be removed earlier if we find that it breaks the rules. A deleted account also disappears from our backups within 7 days. Server logs are deleted after 90 days.
Deleting your account
In the app, open Profile, then Leaderboard, and choose Delete my leaderboard account. Your name, times and replays are deleted from our server immediately, together with your account ID and the hash of your access token. Challenge links to your runs stop working. Your progress on your device stays. Accounts on different devices and platforms are separate, so each one is deleted on its own. A guest account (in a browser, or on an Android device without Google Play Games) can be deleted only in that browser or on that device. If you can no longer open it, for example after clearing the site data or the app's data, write to us by email; we will ask for proof that the runs are yours, such as the board code, time and hints of a run that got no place. Details that are public on the leaderboard are not proof. The full steps are on the delete account page.
Your rights
You have the right to access your data, to have it corrected or erased, to restrict its processing, to object to processing based on our legitimate interest, and to receive your data in a portable format. Write to support@upside.com.pl and include your display name so that we can find your data. You may lodge a complaint with the President of the Personal Data Protection Office (UODO), ul. Stawki 2, 00-193 Warsaw, Poland.
Children
Undercell has no age limit. You can play all of it without sending us any data, and the leaderboard asks for no name, email address or other contact details: a guest account gets a generated name, and on Android you appear under your Play Games name, where Google's own rules for Google accounts apply. If you are a parent and want your child's leaderboard account deleted, write to us and we will delete it.
What the app store collects
Google Play collects its own data when you download or run an application — for example installation counts and, if your device is set to send them, crash reports. That collection is governed by their policies rather than ours, and reaches us only as anonymous, aggregated statistics in which no individual can be identified. See the Google Privacy Policy.
Security
Our server checks every access token and every Play Games sign-in code before anything is stored. It stores only a hash of each access token, and only the data listed above. Data on your device stays there until you delete it or uninstall the game, unless Android backup has copied it, as described above.
Changes to this policy
Any change is published on this page with a new date above. Material changes will also be noted in the game's release notes.
Contact
The data controller is UPSIDE Dariusz Majewski. Write to support@upside.com.pl in any matter concerning your personal data.
- Controller
- UPSIDE Dariusz Majewski
- Address
- Świętej Jadwigi Śląskiej 27, 43-300 Bielsko-Biała, Poland
- VAT ID
- PL 5471980532
- support@upside.com.pl