Privacy Policy
1. Controller
Jonas Marggrander, JOMARS (sole proprietorship)Scheffelstraße 14, 76287 Rheinstetten, Germany
Email: info@jomars.de
No data protection officer has been appointed (not legally required). Contact us at the address above for any privacy question.
2. In short
- No account with email or password. The app creates an anonymous account with a random identifier.
- We only store what the game needs: player name, jelly look, country, scores, rounds, league, friends. Your game data is hosted by Google Firebase in the EU (Belgium).
- Statistics (Firebase Analytics) start only after your choice in the app's privacy dialog. Crash reports help us fix bugs.
- Push notifications only if you allow them in iOS.
- Settings → Delete account lets you delete all your game data on our servers yourself.
- The website sets no cookies, uses no trackers and loads nothing from third-party servers.
3. The app
3.1 Anonymous account (Firebase Authentication)
On first start the app signs in to Firebase Authentication anonymously, which creates a random user ID (UID). The server also assigns a public player ID that other players see instead of the UID. We do not collect your name, email address or phone number. Purpose: linking your progress, preventing abuse. Legal basis: Art. 6(1)(b) GDPR (providing the game).
3.2 Game data on our servers (Cloud Firestore, Cloud Functions)
The online features run on Google Cloud Firestore and Cloud Functions in the region europe-west1 (Belgium). We store:
- Profile: public player ID, the player name you choose, jelly look (colour, face, extras), country (taken from the device region on first start, changeable in the settings), token balance, items unlocked in the game, achievements, streaks and counters (e.g. rounds played).
- Rounds: result, mode, time and the move log of every submitted round. We use the move log to check scores for plausibility automatically. Rounds are deleted automatically after 60 days.
- Leaderboards and league: best scores (all-time, week, day), entries in league groups and daily-puzzle boards (individual daily entries are deleted after 60 days; the top 50 of a past day and the monthly hall of fame are kept as an archive), promotions and relegations.
- Friends: your friend code, friend requests (declined requests are deleted automatically when the cooldown ends), friendships and who invited whom (for the invite bonus).
- Reports: if you report someone: reporter, reported player ID, reason and an optional note (max. 200 characters). After reports from three different players a name is automatically replaced by a neutral one. Bans are decided manually; moderation actions (e.g. ban, name reset) are logged.
- Push settings (only after your permission, see 3.6): push token, your “Friends”/“League” switches, notification language (de/en) and your time zone offset from UTC (for quiet hours).
- Technical logs: every call to the server functions creates technical logs (time, function, errors, possibly the user ID) in Google Cloud Logging. They are deleted after 30 days by default.
Visible to other players: player name, jelly look, country, scores and league rank. Friends also see your best scores in comparison. Only people you give your friend code to see it.
Purpose: providing the online features (leaderboards, league, daily puzzle, friends), fairness and fraud prevention. Legal bases: Art. 6(1)(b) GDPR; for plausibility checks, reports, moderation and logs Art. 6(1)(f) GDPR (legitimate interest in a fair and safe game).
3.3 Abuse protection (Firebase App Check with Apple App Attest)
Using Apple's App Attest service, the app proves to our servers that it is a genuine, unmodified copy on an Apple device. A device-bound key and an attestation from Apple are sent to Firebase App Check. Purpose: blocking bots and tampered apps. Legal basis: Art. 6(1)(f) GDPR; access to the device is strictly necessary for the online service you request (§ 25(2) no. 2 TDDDG).
3.4 Statistics (Google Analytics for Firebase)
We want to understand how the game is used in order to improve it (e.g. whether players return, how hard rounds are). Collection is off at start and is switched on only after you have made a choice in the app's privacy dialog. Advertising signals (ad_storage, ad_user_data, ad_personalization) are off and the advertising ID (IDFA) is not collected for Analytics.
Processed: a random app instance ID, device model, iOS version, app version, language, coarse region (derived from the IP address; Google does not store the IP itself) and game events such as app start, end of a round (score, duration, mode), tutorial completion, invites and friendships, achievements, leaderboard views, answers to notification prompts and – once ads are active – ad events (ad offered, shown, watched, revenue per ad). Plus user properties such as install week, country and player segment (new/active/at risk). User-level data is deleted after 14 months at the latest.
Legal basis: consent (Art. 6(1)(a) GDPR, § 25(1) TDDDG). You can change your choice at any time under Settings → Privacy → Privacy options.
3.5 Crash reports (Firebase Crashlytics) and configuration (Firebase Remote Config)
If the app crashes, Crashlytics sends a crash report: stack trace, device model, iOS version, app version, free memory, time, an installation ID and your public player ID (so we can match reports; never the internal UID). Crashlytics keeps reports for 90 days. Remote Config loads game settings at start (e.g. difficulty, texts, feature switches) using a Firebase installation ID. Purpose: a stable app, bug fixing, tuning the game without an update. Legal basis: Art. 6(1)(f) GDPR; § 25(2) no. 2 TDDDG.
3.6 Notifications
Local reminders (e.g. “Your streak is in danger”) are scheduled on your device only; no data is sent to us for them. Push notifications (e.g. “A friend passed you”, “League ends soon”) are sent through Firebase Cloud Messaging and the Apple Push Notification service. For this we store your push token, your switches, the language and the time zone offset (see 3.2). Both only exist if you agree in the app and grant the permission in iOS. Legal basis: consent (Art. 6(1)(a) GDPR). Withdraw at any time in the iOS settings (we then delete the push token); individual types can be switched off in the app under Settings → Reminders.
3.7 Advertising (planned – active once ads are switched on)
Jelly Cascade is free and is meant to be financed by ads. The app does not show real ads yet. Once ads are switched on:
- Google AdMob (Google Ireland Limited) serves ads (banners, interstitials, optional rewarded videos). Through AdMob mediation, Meta Audience Network, Unity Ads, Mintegral and Liftoff may also serve ads.
- Before the first ad, the app asks for your consent to personalised ads through the Google User Messaging Platform (UMP) (IAB TCF). iOS then asks via App Tracking Transparency (ATT) whether the advertising ID (IDFA) may be used. If you decline everything in the first dialog, you will not see the ATT prompt.
- Processed data includes IP address, device information (model, OS, language), the identifier for vendors (IDFV), the IDFA where permitted, coarse location derived from the IP, interactions with ads (seen, tapped) and fraud-detection data.
- With consent, ads may be personalised (Art. 6(1)(a) GDPR, § 25(1) TDDDG). Without consent you get non-personalised ads, processing only the data needed for delivery, frequency capping and fraud prevention (Art. 6(1)(f) GDPR, legitimate interest in financing the free game).
- The ad partners partly process this data as independent controllers. Change your choice at any time under Settings → Privacy → Privacy options or in the iOS settings (Privacy → Tracking).
3.8 Deleting your account
Under Settings → Delete account you delete your account yourself. We then immediately delete your profile, rounds, in-game purchases, league, daily and hall-of-fame entries, best scores, friendships (on both sides), friend code, requests, reports, push token and the anonymous account itself. You disappear from the public top lists within 10 minutes. Your name at the time may still appear in archived top-50 lists of past days; we remove it on request. Technical logs (3.2) and crash reports (3.5) expire after their periods. If you only delete the app without deleting the account first, the data remains until you write to us; we then delete it on request (please give your player name and the approximate period).
4. The website jelly.jomars.de
The website is hosted on Firebase Hosting (Google). When you visit it, Google processes technically necessary data (IP address, time, requested address, browser identifier) to deliver the page and protect it against attacks. We do not analyse access logs ourselves. The website sets no cookies, uses no analytics or advertising services and loads no content from third-party servers (fonts and images are on our server). Your language choice is stored locally in your browser (localStorage) and never transmitted. Legal basis: Art. 6(1)(f) GDPR; § 25(2) no. 2 TDDDG.
Invite links (jelly.jomars.de/i/…): the page reads the friend code from the address in your browser only and copies it to the clipboard when you tap. If the app is installed, iOS opens the link directly in the app (Universal Link); for this iOS loads an association file from our website via Apple, without any reference to you.
DNS for the domain jomars.de is provided by Cloudflare. Website content does not pass through Cloudflare.
5. Contact by email
If you write to us, we process your email address and the content to answer your request (Art. 6(1)(b) or (f) GDPR). We delete messages once they are settled and no statutory retention obligation applies.
6. Recipients and transfers to third countries
- Google (Firebase, Google Cloud, Google Analytics for Firebase, Crashlytics, AdMob): Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland, as processor (for AdMob partly as independent controller). Google may transfer data to Google LLC in the USA. Google LLC is certified under the EU-US Data Privacy Framework (adequacy decision of the European Commission, Art. 45 GDPR); standard contractual clauses apply in addition.
- Apple (App Attest, push service, App Tracking Transparency): Apple Distribution International Ltd., Ireland, or Apple Inc., USA.
- Ad partners (see 3.7) once ads are active; some are based outside the EU. Transfers are based on the Data Privacy Framework or standard contractual clauses.
We do not sell personal data.
7. Retention at a glance
| Data | Deletion |
|---|---|
| Rounds with move log, individual daily-board entries | automatically after 60 days |
| Profile, best scores, league, friends, reports, push token | when you delete the account (push token also when you revoke the iOS permission) |
| Hall of fame | archive; your entries are deleted with the account |
| Top 50 of past days | archive; removal on request |
| Technical server logs | 30 days |
| Crash reports | 90 days |
| User-level analytics data | after 14 months at the latest |
| Emails to us | once settled, unless a retention obligation applies |
8. Your rights
You have the right of access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and to object (Art. 21). You can withdraw any consent at any time with effect for the future (Art. 7(3)). Write to info@jomars.de and give your player name so we can find your account.
Right to object: where we process data based on legitimate interests (Art. 6(1)(f) GDPR), you may object at any time on grounds relating to your particular situation.
You may lodge a complaint with a data protection supervisory authority, e.g. the one responsible for us: Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg, Lautenschlagerstraße 20, 70173 Stuttgart, Germany.
9. Children
Jelly Cascade is not directed at children. The app does not currently ask for age. People under 16 should only give consent (e.g. to personalised ads) with their parents' approval. If we learn that a child's data was processed without such approval, we delete it.
10. Obligation to provide data, automated decisions
You do not have to provide any data, but the online features do not work without the data listed in 3.1–3.3. There is no automated decision with legal effect (Art. 22 GDPR): the plausibility check only decides whether a round counts in leaderboards.
11. Changes
We update this policy when the app or the law changes. The version published here applies.