Effective date: 26 August 2026
Developer: ublitz.io LLC ("we", "us")
Contact: data@ublitz.io
Applies to: the Gemdoku mobile app for Android and iOS (io.ublitz.gemdoku).
Gemdoku is a sudoku puzzle game. We designed it to work without accounts, emails, or real names. This policy explains what limited data the app handles, why, and the choices you have.
1. What we collect — and what we don't
We never collect: your name, email address, phone number, contacts, precise location, or photos. The app has no account registration. (Google/AdMob may use your device advertising ID for ads — including personalized ads where you consent; see §2.)
We do process:
| Data | Purpose |
|---|---|
| An anonymous player ID (a random identifier created on first launch) | Saves your progress in the cloud and identifies your entries in Ranks, the in-app leaderboard. It is not linked to your identity. |
| Game progress and settings (puzzles, completion history, preferences), stored against the anonymous ID | Cloud save, so progress survives reinstalls |
| A display name you choose for Ranks (optional) | Shown publicly in Ranks next to your results |
| Gameplay analytics events (e.g., puzzle started/completed, hints used) — subject to the consent rules in §2.1 | Understanding how the game is played so we can improve it |
| Crash reports — subject to the same consent rules as analytics (§2.1) | Fixing bugs and crashes |
| A push-notification token — only if you switch on at least one kind of notification in Settings | Sending the notifications you asked for: the Daily Spark reminder, and/or occasional come-back nudges and news about Gemdoku. Switching both off deletes the token. |
| Purchase receipt/token when you buy Gemdoku Premium | Verifying the purchase with Google Play / the App Store and unlocking Premium on your anonymous ID |
All of this data is processed on Google Firebase infrastructure on our behalf — Section 8 lists every service provider that receives it.
2. Advertising
Gemdoku shows ads via Google AdMob. Gemdoku is intended for users 13 and older:
- Ad content is capped at a "Teen" (T) rating — enforced in the app's code, not just policy.
- Ads are non-personalized unless you have actively consented to personalization. The app asks Google for non-personalized ads by default, and lifts that only where a consent record shows you allowed both ad-profile purposes. In practice that means the EEA and UK. Everywhere else, including the United States, ads are non-personalized. Where a user is known to be a minor (13–17), Google applies its teen ad-personalization limits. We do not direct ads to children under 13.
- Where required (EEA/UK GDPR, applicable US state laws), the app shows a consent message (Google User Messaging Platform) before the ads SDK starts. Where no consent message is required, the ads SDK starts normally and serves non-personalized ads.
- You can review or change your choices at any time in the app, under Settings → Privacy & data → "Ad privacy options", where that option is offered in your region.
2.1 Ads consent and analytics consent are two different decisions
This section describes the app's actual behaviour, which differs by region.
In the EEA and UK, the consent message records your choices against the IAB Transparency & Consent Framework. Two things follow independently:
Ads. Ads may still be shown even if you decline everything — as non-personalized ads, relying on legitimate interest rather than your consent. Declining does not mean "no ads"; it means "no ads personalized to you".
Analytics and crash reporting. These run only if you allow the purpose described as "store and/or access information on a device." If you decline that purpose, analytics and crash reporting are switched off, even though ads may continue to serve. If we cannot read your choice, we treat it as declined.
Google Analytics for Firebase additionally requires that you have consented to Google as a vendor. If you allow the purpose but not the vendor, analytics may collect nothing at all. In that situation you get less collection than you permitted, never more.
Outside the EEA and UK, there is no consent framework in force and no consent record exists. In those regions analytics and crash reporting are enabled by default, and the app follows the same ads decision the platform reports. Where your local law gives you a right to opt out, exercise it via the "Ad privacy options" entry where it is offered, or by contacting data@ublitz.io.
We chose to state this plainly rather than claim consent we do not collect everywhere.
Google receives your device advertising identifier in order to serve, cap and measure ads, and to detect fraud. See Google's privacy policy and how Google uses information from apps that use its services.
2.2 US state privacy laws
Some US state laws — including California's CCPA/CPRA — give you the right to opt out of the "sale" or "sharing" of personal information. "Sharing" there has a specific meaning: disclosing personal information for cross-context behavioural advertising, whether or not money changes hands.
Gemdoku does not run cross-context behavioural advertising in the United States. Ads shown to US players are non-personalized, as described in §2: the app requests non-personalized ads and holds no consent record that would permit anything else. Google still receives your device advertising identifier in order to serve, cap and measure those ads and to detect fraud.
We are not asking you to take that on trust as a legal conclusion — it is a description of what the app does, and you can hold us to it. If you would like us to treat your request as an opt-out, or to exercise any other right your state gives you, email data@ublitz.io and we will action it. Where your region offers the in-app consent form, Settings → Privacy & data → "Ad privacy options" reaches the same controls.
3. Children's privacy
Gemdoku is intended for users 13 and older and is not directed to children under 13. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has used the app and provided any information (for example, typed a real name as a Ranks display name), contact data@ublitz.io and we will delete it.
For teen users (13–17) and everyone else:
- We collect no personal information — no name, email, or contact details. The only identifier is the random anonymous player ID described above.
- Ads are capped at a Teen (T) content rating and are personalized only with your consent; where a user is known to be a minor, Google applies its teen ad-personalization limits.
- Gameplay analytics follow the regional rules in §2.1.
- Ranks display names are public. Choose a made-up name, never a real name. Names are filtered for offensive content, and a reporting mechanism lets any player flag an inappropriate name for removal.
- Optional platform sign-in (Google Play Games / Apple Game Center, if enabled) is never required to play. If used, we receive only an opaque platform player ID — no email or profile information. These services apply their own age rules.
- Deletion: you can delete what we hold about you yourself, at any time, from Settings → Privacy & data → "Delete cloud data". It permanently removes your cloud save, your Ranks entries and your display name from our servers. It does not touch the progress saved on your device, and it does not affect Premium (see §4). Cloud save is switched off afterwards so nothing is re-uploaded, and while it is off you are not listed in Ranks even if you keep playing. You can switch it back on whenever you like, which starts creating new records from that point.
- If you have already uninstalled the app, that control is gone but your cloud data may still exist. Contact data@ublitz.io with the Ranks display name you used and the approximate dates you played, so we can locate the right records.
4. In-app purchases
Gemdoku Premium is a one-time purchase handled entirely by Google Play or the Apple App Store. We never see your payment details. To unlock Premium, our server verifies the store's purchase token/receipt and records the entitlement against your anonymous player ID.
If you reinstall the app or move to a new device, Premium is restored automatically: on launch the app re-verifies your purchase with the store and re-records the entitlement against your new anonymous player ID, releasing the previous one. You do not need to do anything, and one purchase is active for one player at a time.
Purchase records are retained as long as needed to keep Premium unlocked, and to meet tax and accounting obligations. They are deliberately not removed by the deletion control in §3 — deleting them would take away an unlock you paid for and could not recover.
5. Your choices and rights
- Consent controls: Settings → Privacy & data → "Ad privacy options" reopens the consent form where your region offers one. Reopening it re-applies both decisions described in §2.1 — the ads choice and the analytics choice — so withdrawing consent there stops analytics as well, not just ad personalization.
- Notifications: two separate opt-ins in Settings, both off unless you turn them on — the Daily Spark reminder, and Other notifications (occasional come-back nudges and news about Gemdoku). Either can be turned off without affecting the other. Turning both off also deletes the push token we hold for your device. Your system notification settings switch off everything.
- Display name: you can change your Ranks display name in the app.
- Deletion: use Settings → Privacy & data → "Delete cloud data" to remove your cloud save, Ranks entries and display name from our servers yourself — see §3 for exactly what it does and does not touch. Deleting the app from your device removes the local data but does not remove what is on our servers, so if you want both gone, use the in-app control before uninstalling. If you have already uninstalled, contact data@ublitz.io.
- Depending on where you live (e.g., EEA/UK, California), you may have legal rights to access, correct, delete, or port data, and to object to or restrict processing. Because our data is keyed only to an anonymous ID, exercising these rights may require information that links your request to that ID. We honor verifiable requests at data@ublitz.io. §2.2 explains how the US "sale" and "sharing" opt-out rights apply to Gemdoku, and how to exercise them.
6. Data retention
Cloud saves, Ranks entries, and the anonymous ID persist so your progress survives reinstalls, until you delete them in the app (§3) or ask us to. Analytics data is retained for 2 months (the event-data retention setting on our Google Analytics property, confirmed 2026-08-07). Crash reports are retained per Crashlytics defaults (90 days).
7. Security and international transfer
Data is transmitted over HTTPS and stored on Google Cloud infrastructure protected by Firebase security rules (your cloud save is readable and writable only by your own anonymous identity; premium entitlements are server-written only). Google may process data on servers outside your country; Google LLC participates in applicable data-transfer frameworks — see Google's documentation.
8. Third-party service providers
| Provider | Service | Privacy policy |
|---|---|---|
| Google Firebase | Authentication, Firestore (cloud saves, leaderboards), Analytics, Crashlytics, Remote Config, Cloud Messaging | https://firebase.google.com/support/privacy |
| Google AdMob | Ads (personalized only with consent; capped at Teen rating) | https://policies.google.com/privacy |
| Google Play / Apple App Store | Payment processing for in-app purchases | Their respective policies |
We do not disclose your data to any third party beyond the providers listed above. See §2.2 for what "sell" and "share" mean under US state privacy law and how those rights apply here.
9. Changes to this policy
We will post updates at this URL and update the effective date. Material changes affecting minors' data will be highlighted in-app where required.
10. Contact
data@ublitz.io
+1 (929) 470-1638
ublitz.io LLC
30 N Gould St, STE R
Sheridan, WY 82801-6317
United States