Dots: Perimeter — Privacy Policy
Effective date: 2026-06-09
This Privacy Policy describes how Funattic Studio (“we”, “us”) handles information when you use Dots: Perimeter (the “App”).
We’ve kept the App deliberately minimal in what it collects. If you don’t play online matches and don’t enable notifications, the App does not transmit any personal data about you to our servers — your matches against the AI never leave your device.
1. Information we collect
1.1 Anonymous account
When you first open the App, we automatically create an anonymous account through Firebase Authentication. This account has a randomly generated identifier (UID) but no email, phone, or name attached. You don’t sign up; nothing identifies you personally.
The UID is stored on your device and used to:
- Save your display name (the one you pick in onboarding)
- Track which online matches are yours so we can show them in your match list
- Route push notifications to the right device when it’s your turn
If you uninstall the App or use the Delete Account option in Settings, this anonymous account and its data are removed.
1.2 Display name
The name you pick during onboarding is stored on our backend (Firebase Firestore) so your opponents can see who they’re playing against in online matches. It is shown only inside the App; we don’t publish it elsewhere.
1.3 Online match data
If you play online matches, we store the following on our backend:
- The match board state and move history
- Both players’ display names and anonymous UIDs
- Match status (active, finished, abandoned)
- Timestamps of moves
This is necessary to deliver moves to your opponent and to keep your match list synchronized across the two devices. Matches are not visible to anyone other than the two players.
1.4 Push notification tokens
If you grant notification permission, we store a push token issued by your device’s operating system on our backend. This lets us notify you when it’s your turn in an online match. We don’t use these tokens for marketing or advertising — only for in-game turn reminders and rematch invitations.
1.5 Crash and diagnostic data
We use Sentry to capture unhandled errors and crashes, so we can fix bugs. Sentry receives:
- The error and stack trace
- Your anonymous UID (so we can group multiple errors from the same user without identifying you)
- App version and operating system
Sentry’s privacy practices are documented at sentry.io/privacy.
1.6 In-app purchases
If you buy a theme, the purchase is processed by Apple (on iOS) or Google (on Android). We use RevenueCat to manage entitlements (unlocked themes). RevenueCat receives an anonymous identifier tied to your session and the products you’ve purchased. It does not receive your name, email, or payment details — those stay with Apple or Google.
RevenueCat’s privacy practices are documented at revenuecat.com/privacy.
1.7 Information we do NOT collect
We don’t collect:
- Your email address or phone number
- Your real name
- Your location
- Your contacts
- Advertising identifiers (IDFA / GAID)
- Any other personal identifiers beyond the anonymous account
We do not use third-party advertising or analytics SDKs other than Sentry (for crash diagnostics).
2. How we use your information
We use the information described above only to:
- Run the App and deliver your matches between devices
- Notify you when it’s your turn (if you opted in)
- Diagnose and fix crashes
- Process in-app purchases through Apple, Google, and RevenueCat
We do not sell your data. We do not share it for advertising. We do not use it to build profiles for targeting.
3. Where your data is stored
- Anonymous account, display name, match data, and push tokens are stored on Google Firebase servers. Firebase is operated by Google LLC and your data may be processed in the United States or other countries where Google operates.
- Crash data is stored on Sentry’s servers (Frankfurt, Germany).
- In-app purchase records are held by Apple, Google, and RevenueCat according to their respective practices.
4. Data retention
- Match documents are retained indefinitely so both players can see their match history. Either player can hide finished matches from their own list in the App; the document itself stays so the opponent’s view is unaffected.
- Anonymous accounts and profiles: retained until you delete the account via Settings → Delete account, or you uninstall the App and stop using it. Anonymous accounts inactive for an extended period may be cleaned up automatically by Firebase.
- Push tokens are retained until you revoke notification permission or delete the account.
- Crash data is retained by Sentry for up to 90 days under their default retention policy.
5. Your choices
5.1 Notifications
You can turn push notifications off at any time from your device’s system settings. The App’s Settings screen has a shortcut: Settings → Manage in System Settings. Turning notifications off does not affect anything else in the App; you’ll just need to check the App manually to see when it’s your turn.
5.2 Account deletion
You can delete your account at any time from Settings → Danger Zone → Delete account. This:
- Marks any active online matches as abandoned (your opponent will see this).
- Removes your display name and push tokens from our backend.
- Wipes locally cached data (themes, match list, tutorial progress).
- Deletes the anonymous account itself.
After deletion, the App creates a fresh anonymous account on the next launch so you can keep playing if you want.
5.3 Restoring purchases
If you reinstall the App or switch devices, Settings → Restore purchases will re-fetch your previously bought themes from your Apple or Google account.
6. Children’s privacy
The App is rated 4+. We do not knowingly collect personal information from children — and given that the App’s only collected data is an anonymous identifier and an optional self-chosen display name, there is no personal information for any user, child or otherwise, that could be collected without their direct input.
If you believe a child has provided personal information through their display name (e.g. their real name), the parent or guardian can contact us to request its deletion, or use the in-app Delete Account option.
7. Security
Data in transit between your device and our backend is encrypted using HTTPS. Data at rest in Firebase is encrypted by Google. We use Firebase Security Rules to restrict who can read and write each piece of data — for example, match documents can only be read by the two players in that match.
No system is perfectly secure. If you discover a security issue, please contact us.
8. Changes to this policy
We may update this Privacy Policy from time to time. When we do, we’ll update the “Effective date” at the top of this page. Continued use of the App after a change constitutes acceptance of the revised policy.
9. Contact
Questions or requests about your data:
Funattic Studio
Email: hello@funattic.studio