Brainery
Privacy policy.
Brainery is a puzzle game you play solo, with no accounts and no login. Two things can send data off your device, and both are optional: analytics you have to switch on, and the Live Friend Race online mode.
Overview
There are no accounts and no login, and your puzzle progress is stored on your device. Two things can send data off your device, and both are optional and off until you turn them on or use them:
- Optional analytics — Firebase Analytics, which is off by default and starts only if you choose Allow;
- Live Friend Race — an optional real-time 1-v-1 match, which uses the network only while you are setting up or playing a race.
These are two separate flows that go to two different places for two different reasons. Analytics goes to Google; Live race data goes to Brainery's game server. Neither one feeds the other — analytics never carries anything from a race, and a race never emits an analytics event.
On-device data
Game progress, scores, streaks, medals, trophies, profile name, avatar colour, settings, and local challenge or daily records are stored locally on your device. This data never leaves the device unless your device's own backup or transfer service copies it. Brainery disables Android auto-backup for its app data, so this payload is not uploaded to Google Drive.
Local challenge systems
BrainBot is a local pace benchmark, not an online opponent. Friend Tickets (Code challenges) are offline share codes, not live multiplayer rooms or accounts. These are separate from Live Friend Race — the one optional real-time online mode, described below.
Optional analytics (Firebase Analytics)
Brainery includes Google's Firebase Analytics so we can see which puzzles people actually play. It is default off: Firebase Analytics collection is disabled by default, and no analytics data is sent until the player explicitly chooses Allow. The first time you open the app we ask once, and collection begins only after you choose Allow. If you choose No thanks, nothing is collected.
You can change your mind at any time in Profile → Privacy & analytics. Choosing Stop analytics collection stops all future collection.
What analytics collects if you allow it
If — and only if — you allow analytics, the following is collected:
- App interactions — one event, named
module_start, sent when you begin a puzzle. It carries exactly three things: which module (for examplesudoku), which mode (campaign, daily, brainbot or live), and a broad level_band such as1-10or41-60. This is the only custom event Brainery currently sends. - App-instance ID — a pseudonymous identifier Firebase assigns to your installation of the app. It is not your Advertising ID, not your device's hardware ID, and not tied to your name or any account.
- Approximate location — coarse or approximate location derived by Google from a masked IP address. We are not given, and do not ask for, your device's precise location; the app never requests a location permission.
- Standard app lifecycle and session information that Firebase records automatically once collection is on, such as app opens and session length.
What analytics never sends
The event format is a closed list: there is no field that accepts free text, so the following cannot be transmitted even by accident:
- your display name or any name, email address, or phone number;
- Live Friend Race room or join codes;
- your puzzle answers, board contents, or any solution;
- your exact level number (only the broad band above);
- any free-text value, message, or error string;
- your Advertising ID — the Android Advertising ID is unavailable to the app and the related permissions are stripped from the build;
- Apple's IDFA or IDFV — both are disabled on iOS.
Analytics retention, and what stopping does
User-level and event-level analytics data are set to a two months retention period, and automatic reset on new activity is off. User-level and event-level data therefore expires automatically within two months. Google's standard aggregated reports — counts and totals that do not identify an installation — may persist longer.
Stopping is forward-looking. Turning analytics off prevents future collection only. It does not delete data already collected, and it is not a retroactive erasure request. We are not able to single out and immediately erase the historical analytics records belonging to a particular install, but you can send any privacy or deletion question to hello@aralabs.dev.
This is analytics, not advertising and not tracking. Brainery contains no ads and no advertising SDK, does not use Google Signals, is not linked to any Google Ads account, and has every optional Analytics data-sharing setting switched off. Nothing here is used for cross-app or cross-site tracking, and on iOS the app shows no App Tracking Transparency prompt because it does not track. Google Analytics is configured for service-provider processing: Google products and services sharing, Google Signals and all product links are off.
No advertising or purchases
Brainery contains no advertising and no in-app purchases. The app does not use an advertising SDK, does not collect or use your Advertising ID, and does no payment processing.
Children's privacy
Brainery does not knowingly collect personal information from children under 13. The app shows no ads and contains no in-app purchases. If you are a parent and believe your child has provided personal information, please contact us and we will assist.
Live Friend Race (optional online mode)
Live Friend Race is a separate flow from analytics. Race data goes to Brainery's own game server so two players can race; it is never sent to Google Analytics, and analytics never carries anything from a race.
Live Friend Race is an optional real-time 1-v-1 mode you start by hosting or joining with a short room code shared privately with a friend. There are no public rooms, no matchmaking with strangers, no chat, and no friend lists or contacts access. It uses the network only while you are setting up or playing a race.
While you are in a race, Brainery sends the following to the game server so the two players can race in real time:
- your in-game display name and avatar colour (whatever you set in the app — not your real name unless you type it);
- the room / join code for your match;
- ready and connection status;
- gameplay progress for the current puzzle — percent complete, number of hints and mistakes, your solve time, and the win/lose result.
As with any internet connection, your device's network/IP information is visible to our infrastructure provider (Cloudflare) as part of carrying the connection.
Live Friend Race does not send or store: the puzzle's solution or answer cells, your full board contents, any device identifier or advertising ID, your contacts, your location, or any analytics events.
Storage and retention. A live match is held as short-lived retained room state on the server (a Cloudflare Durable Object) — it is stored and reused across reconnects and rematches while the room lives, not discarded after each message. It is deleted automatically: about 60 seconds after a result, or at most 30 minutes after the room was created, whichever comes first; a brief disconnect holds your place for about 30 seconds. There is no account, no permanent profile, no leaderboard, and no saved match history on the server.
Security. The connection uses a secure WebSocket over TLS, so all Live data is encrypted in transit. Your reconnect token is kept on the server only as a one-way hash, never in plain text, and the room code and raw token are never written to server logs.
Website
The ARA Labs website is static. It uses Google font files, but Next.js downloads them at build time and self-hosts them with the deployed website, so your browser does not contact Google to load them. The website itself uses no tracking, no analytics, no cookies, and no advertising. The website is separate from the game: the in-app analytics described above does not apply here.
Changes to this policy
If we update this policy, the changes will be reflected here with an updated date. If the optional analytics, the optional Live Friend Race mode, or any other networked feature changes what is sent, this policy will be updated before that version ships.
Contact
Questions about this privacy policy, or a request about data already collected, can be directed to hello@aralabs.dev.