Privacy Policy
Petalstorm (the “app”, “game”) is a casual ball-shooter game for iOS. This policy describes what data the game collects, why, who it is shared with, and how you can remove it. The data controller is Dzianis Dashchynski, an individual developer.
1. Data we collect
1.1 Account identifier
Petalstorm uses Apple Game Center for sign-in, leaderboards, and progress synchronisation between your devices. From Game Center we receive a stable opaque player identifier (a random-looking string) that is not your real name, email, or Apple ID. We do not request, store, or have access to your real-world identity.
We map this Game Center identifier to a random anonymous user ID stored in our backend so that your progress can follow you to a new device.
1.2 Game-progress data
Petalstorm stores your in-game progress on our backend so that it can be restored on another device. This includes:
- Your best score and current run state
- Your balance of in-game gems
- The cosmetic skins you own and the one currently equipped
- Whether you have purchased the “Remove Ads” option
We do not collect or store any free-text content from you. We do not access your contacts, calendar, photos, location, microphone, or camera.
1.3 Device-only data
Some preferences are stored only on your device and are never sent to us: the sound on/off toggle, the language you chose (English or Russian), and the timestamp of your last Daily Reward claim. These live in your device’s local storage and are removed if you uninstall the app.
1.4 Crash reports and diagnostics
If the app crashes or experiences a non-fatal error, a diagnostic report is sent to Sentry, our error-tracking provider. The report contains the stack trace, the device model, the iOS version, the app version, and the anonymous user ID described above. It does not contain your gameplay actions, your name, your contact info, or your IP address (Sentry is configured with the IP-anonymisation setting).
1.5 Advertising data
Petalstorm shows two kinds of ads, both served by Google AdMob:
- Rewarded ads — you tap a button to watch one in exchange for an in-game reward (extra life after game over, daily gem).
- Interstitial ads — a short full-screen ad that appears between game runs, no more often than every third game over and at least 90 seconds apart. These are disabled permanently if you purchase “Remove Ads”.
We have configured AdMob to serve only non-personalised ads. We do not request the iOS App Tracking Transparency permission and we do not have access to your IDFA (advertising identifier). AdMob may still collect device information, IP address, and coarse interaction data with the ad as described in Google’s ad policy.
1.6 Purchase data
In-app purchases (gem packs, skin bundles, Remove Ads) are processed by Apple StoreKit. We receive a purchase receipt and a product identifier so that we can grant you the entitlement, but we do not see your payment method, billing address, or any of your Apple account data.
We use RevenueCat to track which products you have purchased so that your entitlements follow you across devices. RevenueCat receives the same anonymous user ID, the product identifier, and the transaction status. RevenueCat does not receive any personal information.
2. Why we use this data
- To run the game and let you play it across devices.
- To remember what cosmetic items you own.
- To validate and restore in-app purchases.
- To serve ads that fund the free version of the game.
- To fix crashes and bugs.
We do not use your data for profiling, advertising profile building, sale to third parties, or any purpose unrelated to running the game.
3. Third-party services
The game shares the data described above with the following processors:
- Apple Game Center — sign-in and leaderboards. Governed by Apple’s privacy policy.
- Supabase — database hosting for the game-progress data described above. EU region. See Supabase’s privacy policy.
- RevenueCat — in-app purchase entitlement tracking. See RevenueCat’s privacy policy.
- Google AdMob — non-personalised advertising. See Google’s ad policy.
- Sentry — crash and error reporting. EU region (data centre in Frankfurt). See Sentry’s privacy policy.
We do not share your data with any party other than the processors listed above, and we do not sell or rent personal data to anyone.
4. Children
Petalstorm is not directed at children under 13. We do not knowingly collect personal information from children. If you believe a child has been signed in and you wish their data to be removed, please contact us at the address below.
5. Your rights
Under GDPR (if you are in the EU/EEA/UK), CCPA (California), and equivalent laws elsewhere, you have the right to:
- Access the data we hold about you.
- Correct data that is inaccurate.
- Delete your account and all associated data.
- Object to processing or withdraw consent.
- Port your data to another service.
To exercise any of these rights, email support@submap.cloud from the address linked to your Game Center account (or otherwise identify yourself to us) and we will respond within 30 days.
6. Data retention
Game-progress data is kept on our backend for as long as you keep the app installed and active. Crash reports are kept by Sentry for 90 days, then anonymised and aggregated. Purchase records are kept for the duration required by Apple’s receipt-validation policy and applicable tax law.
On request, we will delete all server-side game-progress data associated with your account within 30 days. Locally-stored preferences are removed the moment you uninstall the app.
7. International transfers
Our backend and crash-reporting infrastructure are hosted in the EU. AdMob, RevenueCat, Apple Game Center, and StoreKit may process data in the United States or other regions; transfers are covered by the Standard Contractual Clauses or equivalent mechanisms made available by those vendors.
8. Changes to this policy
If we change this policy, we will update the “Last updated” date at the top of the page. Substantive changes will be announced through an app update note.
9. Contact
Email: support@submap.cloud
Data controller: Dzianis Dashchynski (individual developer).