Emile Labs ("we", "our", or "us") operates the Math Grid mobile application (the "App"). This Privacy Policy explains how we handle information when you use our App.
In short: almost everything stays on your device. Two optional features use the internet: Online Battle (a temporary live match) and Friends (comparing star counts with friends you have both accepted). Together they share only a player's first name, avatar emoji, colour, and game/star data. We collect no email addresses, show no ads, and use no tracking. The App also gathers a small set of anonymous usage statistics (which features are used — never names or content) to help us improve it; you can switch this off in Settings.
1. Children's Privacy
Math Grid is designed for children aged 5-7 and up and is offered in the App Store Education category. We take children's privacy very seriously.
We comply with the Australian Privacy Act 1988, the Children's Online Privacy Protection Act (COPPA), and applicable international children's privacy regulations.
We do not require accounts, show ads, or use tracking of any kind. The App's usage statistics are fully anonymous — they can never identify a child (see Section 5) — and can be turned off in Settings.
Player profiles use only a first name, avatar, and colour. Profiles are stored locally on the device.
The only information that ever leaves the device is during the optional Online Battle and Friends features: a player's first name, avatar emoji, colour, and game/star data (see Sections 3 and 4). No email, contact details, or real-world identifiers are collected.
Parental gates (an adult challenge) protect the parent dashboard, all purchases, and external links.
2. Information Stored on Your Device
Almost all App data is stored locally on your device only, in local JSON files:
Profile data: First name, avatar, and colour for each player profile
Progress data: Scores, stars, streaks, levels, practice heatmap, tricky-facts list, and session logs
Battle records: Results of battles, including the room codes you have entered
Settings: App preferences and subscription status
Reminders (optional, from version 1.6): a parent can turn on a weekly progress note and a daily practice reminder, each with its own day and time. The App schedules these on the device itself, so they use no push token, reach no server, and send nothing anywhere. A reminder may include the child's first name, which never leaves the device. Turning them off in Settings removes them.
This on-device data is not transmitted to our servers — we have no servers that store it. The only exceptions are the data exchanged during an Online Battle (Section 3) and the small record shared by the Friends feature (Section 4).
3. Online Battle (Multiplayer)
Online Battle is an optional feature that lets a child play the same grid against a friend in real time. To set up and run a match, the App uses Firebase Realtime Database (a Google service) to exchange:
the player's first name and avatar emoji (so each player can see who they are racing);
game session data: the 6-digit room code, the grid settings, and live scores/finish times.
To keep the match room secure, the App signs in to Firebase anonymously — this creates a random, throwaway sign-in ID that holds no personal information, is not linked to your identity, and exists only so the match room is not publicly writable. Apart from this anonymous ID, no email addresses, contact details, device identifiers, or other personal information are collected or transmitted. This data is sent over encrypted connections (TLS/SSL) and is temporary — a match room and its contents are automatically removed once the match concludes. If you never start or join an Online Battle, the App makes no gameplay network connections at all.
4. Friends (Optional)
Friends is an optional feature that lets a child compare star counts with friends. A child adds a friend by sharing a 6-character friend code (out of band — there is no search or discovery of other children), and a friendship only forms after both sides accept. It uses Firebase Realtime Database (the same Google service and the same anonymous sign-in ID as Online Battle).
What is shared, and only with friends you have both accepted: the active profile's first name, avatar emoji, colour, weekly and lifetime star counts, day-streak and games-played counts, and a simple online/offline status (shown to friends as a presence dot, so a child can see who is available to play). This small record is keyed to the device's anonymous Firebase sign-in ID (a random identifier that is not linked to your real identity).
What is never shared: there is no chat, no free-text messaging, and nothing beyond the screened first name. No email, contact details, phone numbers, location, or real-world identifiers are ever collected or shared. The first name shown is screened for inappropriate content on both ends.
Visibility: a child's record is readable only by friends they have mutually accepted. Either side can remove the friendship at any time, which deletes the shared connection for both.
Deletion: you can erase your entire Friends record from inside the App at any time via Progress → Reset all progress data (behind the parent gate), which removes your shared profile, your friend connections, and your friend code.
Retention: records that have been inactive for an extended period are pruned automatically.
Notifications (optional): if a parent turns on friend notifications, the App registers a push token (Apple Push Notification service, delivered via Firebase Cloud Messaging) stored with the anonymous Friends record. It is used only to notify the child when a friend request is received or accepted — there are no marketing notifications. The token is deleted when you reset your data (Progress → Reset all progress data) or turn notifications off.
Battling a friend: a child can start an Online Battle directly with a friend who is online. This runs through the same Online Battle mechanism described in Section 3 — only a first name, avatar, and live match data are shared, in a temporary room that is deleted when the match ends.
This data is sent over encrypted connections (TLS/SSL). If you never open the Friends feature, no friends data is created or shared.
5. Information Processed by Third Parties
Apple (StoreKit): When you make a purchase, Apple processes the transaction. We do not receive or store your payment information. Purchases are protected by a parental gate within the App.
Firebase (Google): Used only for the optional Online Battle and Friends features, to exchange a first name, avatar emoji, colour, and game/star data as described in Sections 3 and 4.
PostHog (anonymous usage statistics): From version 1.4, the App sends a small, fixed set of anonymous usage events (for example "a grid was completed" or "the paywall was shown") to PostHog, a US-hosted analytics processor, so we can understand which features help children practise and improve the App. These events contain no names, no free text, and no personal information — only feature identifiers and numbers (such as grid size, duration, and star count). They are keyed to a random app-scoped identifier generated on the device (not your Apple ID, not an advertising identifier, and not linked to your identity); person profiles and session recording are disabled, and the client IP address is discarded at ingestion. You can turn usage statistics off at any time in Settings → "Share Anonymous Usage Data".
We use no other third-party services — no advertising networks and no tracking of any kind.
6. How We Use Information
Provide core App functionality (profiles, grids, scores, leaderboards, heatmap, smart practice) — locally on the device
Power the parent dashboard (per-operation levels, accuracy charts, tricky facts, session log) — locally on the device
Run Online Battle matches between players (via Firebase, as described above)
Let mutually-accepted friends compare star counts via the Friends feature (via Firebase, as described above)
Unlock features according to your subscription status (verified via Apple)
We do not:
Sell, rent, or share personal information with third parties
Use data for advertising or marketing purposes
Track users across apps or websites
Use advertising SDKs of any kind (our usage statistics are anonymous, cannot identify anyone, and can be switched off in Settings)
7. Subscriptions
Math Grid offers auto-renewable subscriptions managed entirely by Apple through the App Store. We do not collect or store any payment or billing information.
Premium Monthly: $2.99/month
Premium Annual: $24.99/year
Family Annual: $29.99/year (supports Family Sharing, up to 6 player profiles)
Prices may vary by region based on Apple's pricing tiers. Subscriptions auto-renew unless cancelled at least 24 hours before the end of the current period. Manage subscriptions in Settings > Apple ID > Subscriptions.
8. Data Storage and Security
Profile, progress, and battle-record data is stored locally on your device in local JSON files using standard iOS storage mechanisms.
Online Battle data is transmitted via Firebase using encrypted connections (TLS/SSL) and is held only for the duration of a match.
Friends data (first name, avatar, colour, star counts) is transmitted via Firebase using encrypted connections (TLS/SSL), readable only by mutually-accepted friends, deletable from inside the App, and pruned automatically after a period of inactivity.
Anonymous usage events are transmitted to PostHog (US) over encrypted connections (TLS/SSL); they contain no personal information.
We do not operate our own external servers or databases of user personal information.
9. Data Retention and Deletion
Local data: Deleting a profile within the App removes that profile's data. To delete all local data, simply uninstall the App.
Online Battle data: Match session data is temporary and is automatically deleted once the match concludes.
Friends data: You can erase your entire Friends record from inside the App at any time via Progress → Reset all progress data (behind the parent gate). Inactive records are also pruned automatically.
Usage statistics: Anonymous events cannot be traced back to a person. Turning off Share Anonymous Usage Data in Settings stops collection immediately; deleting the App resets the random identifier.
10. Parental Controls
The parent dashboard, all purchases, and external links are protected by a parental gate (an adult challenge)
Parents can manage player profiles and per-operation difficulty levels within the App
Subscription purchases additionally require Apple ID authentication (Apple's parental controls apply)
No account creation or email registration is required — or even possible
11. Third-Party Services
Service
Provider
Purpose
App Store / StoreKit
Apple
Subscription purchases
Firebase Realtime Database
Google
Online Battle multiplayer & Friends (app) & Idea Board (website) — see Sections 3, 4 and 12
PostHog
PostHog Inc.
Anonymous usage statistics (app, optional) — see Section 5
12. Idea Board (Website)
Our website offers an optional Idea Board (at emilelabs.github.io/mathgrid/ideas) where anyone can suggest features and upvote others' ideas. It is part of the website, not the App — your child does not encounter it while playing.
What's collected: only the text of an idea you choose to submit. Submissions are public — please do not include names, contact details, or other personal information.
No account, name, or email. To limit spam, your browser signs in to Firebase anonymously — a random, throwaway identifier that is not linked to you and cannot be used to identify you. Your upvotes are remembered only on your own device (in your browser's local storage) and are not sent to us as personal data.
Where it's stored: Google Firebase (Realtime Database), over an encrypted connection — the same provider used for the App's Online Battle.
No tracking, ads, or analytics. We may hide ideas that are inappropriate. To request removal of something you posted, email support@emilelabs.com.
13. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify users of any material changes by updating the effective date at the top of this page.
14. Contact Us
If you have any questions about this Privacy Policy, please contact us: