legal_doc // badsector // privacy_policy.txt
Privacy policy
Who we are
BADSECTOR is an independent Android puzzle game made by minimalistic.solutions, a one-person studio. It is not affiliated with any corporation. "We" in this policy means the developer of BADSECTOR, who is the controller of the personal data described here.
For anything about privacy, write to the address at the bottom of this page. A person reads it.
The short version
Sections 04 and 05 list exactly what is sent when you switch those features on. Section 11 explains how to get a copy of your data or delete it.
Data stored on your phone
BADSECTOR keeps a small amount of data in its own private storage on your device. Only the game can read it. In full:
| Stored | Why |
|---|---|
| SETTINGSWorld and your edits to it, language, controls (tap and hold, hold time, chording), vibration, glitch level, effect quality, reduced motion | So the game looks and plays the way you set it |
| STATSGames, wins, best time per level, totals, and your last 30 results (date, board, time, 3BV, clicks) | Profile, records and the local rankings view |
| PROGRESSCampaign sectors cleared, Academy level and lessons, achievements, daily streak, Blitz and Endless bests, story fragments found | Your progress through the game |
| CATWhich cat you picked; for a cat you built, its name, grammatical gender and looks | So the cat looks and talks the way you made it |
| ENDLESSThe ZEN world in progress: its seed and the areas you opened | To continue where you left off |
| ONLINEOnly after you join online rankings: your player ID, nickname, your statistics choice and statistics ID | To connect the game to its online features |
| CRASHOnly if the game closed unexpectedly: a report with the phone model, the Android and game versions and the technical error trace | Shown to you at the next start, so you can send it to us if you want. Deleted when you close it |
None of this leaves your phone on its own. It is erased when you clear the game's storage or uninstall it. Section 08 covers Android's own backup.
A crash report is sent only if you tap SEND BY EMAIL yourself. It then reaches us as an ordinary email from your mail app and contains exactly what the report screen shows: no player ID, no nickname, no game data.
Online rankings (opt-in)
Online rankings stay off until you open them in the game, choose a nickname and confirm. Until then BADSECTOR sends nothing at all, not even an anonymous identifier.
What is sent once you join
- A player ID: a random identifier created by Firebase Authentication when you join. It is an anonymous account, with no email address or name
- The nickname you choose
- For each ranked game: the mode and board (for example the daily number, level or size), the board's seed and first cell, the result, time, 3BV and number of clicks, the date and time, and the app version
- The move log of that game: which cell you scanned or marked and when, counted from the start of the game
- Your best results and positions, which we calculate from the above
The move log holds moves and timings, nothing else. We use it to check on the server that a result was really played on that board: the board is rebuilt from its seed and your moves are replayed on it. It is also what lets other players watch a replay.
What other players see
- Your nickname, your results and positions, and the date of each result
- Replays of your results that appear on a leaderboard, including as a ghost to race against
Your player ID, your linked Google account and everything else in this section are never shown to other players. Pick a nickname that is not your real name. A nickname that is offensive or pretends to be someone else may be changed or removed.
Linking a Google account (optional)
So that your rankings follow you to a new phone, you can link your profile to your Google account. Google then gives Firebase Authentication your Google account ID, email address, name and profile picture. We use only the account ID, to recognise you on another device. We never show your name, email or picture to other players and never use your email for marketing. We look at it only if you write to us about your data. You can unlink Google or delete your profile at any time (section 11).
Where it is kept
In our own Google Firebase project: Firebase Authentication for the account, Cloud Firestore for profiles, results and replays, and Cloud Functions for checking results. Everything travels encrypted (HTTPS/TLS).
Usage statistics (opt-in)
Usage statistics show us which modes, worlds and features are used and where players get stuck. They are off by default. The game asks once, and you can change your answer at any time in SETTINGS.
When switched on, the game sends
- Events: the app was opened, a game started or finished (mode, board size, world, result, duration), a feature was used (for example a hint, a lesson or the theme editor), a setting was changed (language, world, effect quality)
- Technical details: app version, Android version and the device's language
- A statistics ID: a random identifier made on your phone, separate from your player ID. Switching statistics off deletes it from the phone, and a new one is made only if you switch them on again
It never includes
- Your nickname, Google account or player ID
- The advertising ID, hardware identifiers such as IMEI or serial number, or your location
- Anything you type
Statistics go to the same Firebase project (Cloud Firestore). We do not use Google Analytics for Firebase or any other analytics SDK. We do not store your IP address. Google's servers handle it only to carry the connection.
Android permissions
| Permission | Why |
|---|---|
| VIBRATEVibration | Haptic feedback for scans, markers, glitches and the cat's purr. You can switch it off in SETTINGS |
| INTERNETNetwork access | Used only by online rankings and usage statistics, and only after you switch them on |
BADSECTOR does not ask for location, contacts, camera, microphone, photos, files or phone state, and it does not use the advertising ID.
Clipboard
The game touches the clipboard only when you ask it to. COPY and EXPORT put a sector code or a theme code (BS4.) on it. PLAY and IMPORT read it if you left the code field empty. These codes describe a board or a colour scheme and contain no personal data. The clipboard is never read in the background.
Android backup
Android can back up app data to your Google account and restore it on a new phone (Android Auto Backup, or a transfer from your old device). BADSECTOR allows this for the data in section 03, so your progress survives a change of phone.
That backup is made, encrypted and stored by Google, in your Google account and under Google's privacy policy. We have no access to it. You can turn backup off in Android Settings > Google > Backup, and delete existing backups in Google Drive > Backups.
Third-party services
BADSECTOR relies on these services, each with its own privacy policy:
| Service | Purpose | Privacy policy |
|---|---|---|
| FIREBASEAuthentication | Anonymous player accounts and the optional Google link | firebase.google.com/support/privacy |
| FIREBASECloud Firestore | Profiles, results, replays and usage statistics | firebase.google.com/support/privacy |
| FIREBASECloud Functions | Checking results and building leaderboards | firebase.google.com/support/privacy |
| GOOGLESign-In | Optional link of your profile to a Google account | policies.google.com/privacy |
| GOOGLEPlay | Distribution, purchases and Android backup | policies.google.com/privacy |
There is no advertising network, no analytics SDK and no crash-reporting SDK. Fonts and graphics are built into the app, so nothing is downloaded to draw a screen.
Purchases
If BADSECTOR is sold as a paid app or offers in-app purchases, Google Play handles the payment. We receive only what is needed to confirm and restore a purchase (the product, an order number and a purchase token), never your card or payment details.
Advertising
BADSECTOR shows no ads. If a future free edition ever includes advertising, it will be non-intrusive, this policy will name the ad provider and what it collects before that version is released, and the change will be announced in the game.
Legal basis and transfers
Under the GDPR we rely on:
- Online rankings, replays and the Google link: providing the service you asked for (Art. 6(1)(b))
- Checking results and moderating nicknames: our legitimate interest in fair and safe leaderboards (Art. 6(1)(f))
- Usage statistics: your consent (Art. 6(1)(a)), which you withdraw by switching them off
- Answering your emails: our legitimate interest in replying to you (Art. 6(1)(f))
Firebase is run by Google, and data may be processed on servers outside the European Economic Area, including in the United States. Those transfers are covered by Google's Standard Contractual Clauses and its certification under the EU-U.S. Data Privacy Framework.
Your rights
European Union (GDPR)
Ask by email for a copy of everything we hold for your player ID. Data on your phone is visible in the game.
Change your nickname in the game, or ask us.
Delete your online data in the game, or ask us. Delete data ↗
Ask for your results and replays as a JSON file.
Switch statistics off, leave the rankings or unlink Google, at any time.
In Poland, the President of the Personal Data Protection Office (UODO), or your own national authority.
We answer requests within 30 days. Online profiles are anonymous, so please include your nickname and player ID (shown in PROFILE > ONLINE) so we can find yours.
California (CCPA / CPRA)
We do not sell personal information or share it for cross-context behavioural advertising. You can ask to know, correct or delete the personal information we hold about you, and you will not be treated differently for asking.
Minimum age
BADSECTOR is intended for players aged 16 and older. We do not knowingly collect personal data from anyone under 16. If you believe a younger player has joined the online rankings, write to us and we will delete that profile.
Security and retention
Firebase encrypts online data in transit and at rest. Security rules let each player write only to their own profile, and results are checked on the server before they reach a leaderboard. Data on your phone is protected by Android's app sandbox, your screen lock and device encryption.
- Data on your phone: until you clear the game's storage or uninstall it
- Online profile, results and replays: until you delete them, in the game or by request
- Usage statistics: up to 14 months, then deleted
- Your emails: as long as needed to handle your request
- After a deletion: gone from leaderboards at once, and from all our systems, backups included, within 30 days
Policy changes
When this policy changes, the "Last updated" date at the top changes with it. If BADSECTOR ever starts collecting anything not described here, the new policy will be published and the change announced in the game before that update reaches you.
Contact
Questions, data requests, or anything here that looks wrong: write directly.