Privacy policy for the game “Purrfect Shelves”
Last updated: 21 October 2026 · This is a translation; the German version is legally binding.
1. In short
- You don’t need an account. We never ask for your name, e-mail address, phone number or location.
- On first launch the game creates a random player ID. Our server uses it to link your cloud save, purchases and mail to your game.
- Our own server is located in the EU. Its access logs contain no IP addresses. Only for suspicious requests does the firewall store the IP address, for 14 days (see section 4.1).
- We only send gameplay statistics if you say “Yes” on first launch. Error reports are on and can be switched off in the settings.
- Ads are provided by Google AdMob. Whether Google may show personalised ads is your choice in Google’s consent dialog.
- “Delete my data” in the settings deletes everything linked to your player ID on our server.
2. Controller
Mario HorvathAhorngasse 12/19
2231 Strasshof an der Nordbahn
Austria
E-mail:
Web: purrfectshelves.com
No data protection officer has been appointed (not required by law). Please send any privacy questions to the address above.
3. No account: player ID, device key, recovery code
Player ID: a random string (32 characters) the game creates on your device on first launch. It contains no device, advertising or hardware identifier. Because data is linked to a game through it, we treat it as pseudonymous personal data.
Device key: a second random string (64 characters) per installation. It stays secret, is never shown and protects your progress: our server only accepts requests for your player ID together with the matching key.
Recovery code: the first time your progress is saved to the cloud, the server issues a 16-character code (Settings → “Recovery code”). It brings your progress to a new device. Treat it like a password. It also helps us identify you when you make a request under section 10.
4. What data we process and why
Legal bases (GDPR): Art. 6(1)(a) = consent · (b) = performance of the contract of use (the game features you use) · (c) = legal obligation · (f) = legitimate interest (named in brackets).
4.1 Every connection to our server
- Server:
api.purrfectshelves.com, encrypted only (HTTPS). - Data: your IP address is processed to establish the connection and is only stored in the firewall log for suspicious requests (see below). The access logs contain no IP address and no URL parameters, only time, requested path, status code, data volume and the app identifier (user agent). Your player ID is never part of a URL.
- Abuse protection: for rate limits (too many requests, wrong codes) we store a salted hash of the IP address (for IPv6 of the /64 range), never the address itself.
- Firewall log: for suspicious requests (errors, possible attacks) the web firewall stores the time, the IP address and the security rule that was triggered – no content of the request. Purpose: defence against attacks (Art. 6(1)(f) GDPR). Deleted after 14 days.
- Purpose and legal basis: operation, security and troubleshooting; (f) (secure and stable operation).
- Retention: access and firewall logs 14 days (rotated daily); rate-limit hashes 2 days.
4.2 Server time, game settings
At launch and when you return to the app, the game requests the server time (against changed device clocks for lives and rewards) and settings such as maintenance, minimum version, festival dates and game values. With your player ID and device key, the game also learns whether a purchase was refunded (section 4.6). Legal basis: (b) and (f) (protection against manipulated device clocks).
4.3 Cloud save, sync between devices, recovery
- Data: player ID, device key (only to verify requests), your progress (level, coins, stars, boosters, lives, shop progress, album, daily bonus, win streak, game counters, milestones, IDs of credited purchases and claimed mail), time of saving, format version, revision number, recovery code. The previous save is kept as a fallback.
- On recovery: original player ID, device and time. For wrongly entered codes: salted IP hash and time (at most 10 failed attempts per hour).
- Purpose: backing up your progress, moving it to a new device, syncing several devices.
- Legal basis: (b); protection against guessing codes: (f).
- Retention: until you delete your data; without any activity, all data linked to your player ID is deleted automatically after 24 months. Recovery log and failed attempts: 30 days.
4.4 Gameplay statistics – only with your consent
- When: only if you answer “Send statistics?” with “Yes” on first launch or switch it on in the settings. Without consent the game sends no statistics and no level events.
- Data (state): player ID, level, chapter, completed shop tasks, coins and stars, whether “No ads” was bought, counters (coins spent and earned, levels won and lost, boosters, continues, videos watched), app version, platform (Android/iOS), language setting (e.g.
en_GB), country from the device’s region setting (two letters, not a location), session start and milestones with the time they were first reached (e.g. first launch, tutorial, levels, chapters, first booster, first purchase). From this the server records per day that the game was played, and the day of first use. - Data (level events): start, win or loss of a level with level number and type, attempt, duration, moves, time left, moves left, boosters and continues used, time.
- Purpose: improving the game (finding levels that are too hard, balancing, understanding where players stop), counting daily active players.
- Legal basis: (a) (consent). Withdraw at any time: Settings → switch off “Send statistics”. Nothing is sent afterwards; data already sent remains until the retention period ends or until “Delete my data”.
- Retention: the state per player is overwritten; daily activity 24 months; level events at most 90 days (daily counters per level without player ID remain); everything else until deletion or 24 months after the last activity.
4.5 Error reports – can be switched off
- Data: player ID, app version and build, platform, operating system version, device model, language setting, session length, error message with code location (file, line, function, trace) and count. No content from other apps, no photos, no contacts, no advertising ID.
- Purpose and legal basis: finding and fixing bugs; (f) (a bug-free game).
- Objection: Settings → switch off “Send error reports”. The game then stops sending error reports. The game points this out on first launch.
- Retention: 90 days.
4.6 In-app purchases and purchase validation
Purchases are handled exclusively by Google Play or the Apple App Store. We do not receive payment data (card, name, address, e-mail). We also don’t pass any identifier of yours to the stores when you buy.
- Data: player ID, product, platform, receipt (Android: order data signed by Google with order number, purchase token and purchase time; iOS: transaction number), validation result, credited content and time. For iOS our server asks Apple using the transaction number (App Store Server API), for Android it asks Google (Google Play Developer API). Apple and Google notify us directly of refunds; the game then takes back what the purchase granted.
- Purpose: checking that a purchase is genuine, crediting it exactly once, restoring “No ads”, handling refunds, preventing fraud.
- Legal basis: (b) (delivering the purchased content); keeping receipts: (c) (Austrian Federal Fiscal Code, § 132 BAO); fraud prevention: (f).
- Retention: receipts at least 7 years (§ 132 BAO) and as long as the game is operated, so that no receipt is credited twice. If you delete your data, the link to your player ID is removed. Failed validations: 90 days.
4.7 Mail and gift codes
- Data: player ID, time of the last check, messages addressed to you, claimed rewards, redeemed codes with time.
- Purpose and legal basis: delivering messages and rewards, redeeming each code and reward exactly once; (b).
- Retention: messages until they expire (usually 30 days); claims and redemptions until deletion or 24 months after the last activity. On deletion, redemptions are kept without any link to you so that quotas stay correct.
4.8 Ads (Google AdMob) and consent (Google UMP)
The game shows ads from Google AdMob (Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland): banners in levels from level 5, ad breaks between levels from level 15 (at most after every fifth win, never after a loss) and reward videos that you start yourself. “No ads” removes banners and ad breaks.
- Consent: in the EEA, the United Kingdom and Switzerland, Google’s consent platform (UMP) shows a dialog before the first ad in which you can accept or reject personalised ads. To change it: Settings → “Ad privacy settings” (shown where Google requires it).
- iPhone/iPad: the game does not ask for permission to track you (App Tracking Transparency). Google therefore does not receive the advertising ID (IDFA).
- Data processed by Google (according to Google’s disclosures for the Google Mobile Ads SDK on Android and iOS): IP address, from which Google may estimate your approximate location; device identifiers – on Android the advertising ID and the app set ID, on iPhone/iPad the identifier for vendors (IDFV) instead of the advertising ID; interactions with the app and with ads (e.g. app launch, taps, videos watched, ads shown); performance and diagnostic data of the ads SDK (e.g. loading time, hangs, crash logs). For the consent dialog, UMP processes your approximate location (whether consent is required in your region) and usage and performance data.
- Purpose: serving and billing ads, measuring reach, preventing fraud; personalised only with your consent.
- Legal basis: (a) (consent, also under § 165(3) of the Austrian Telecommunications Act 2021 for access to your device); non-personalised ads: (f) (financing the free game).
- Advertising ID: on Android you can reset or delete it in the system settings.
- Google processes this data as an independent controller: policies.google.com/privacy and policies.google.com/technologies/partner-sites. We never receive an advertising ID; with your statistics consent our server only learns how many videos were watched.
4.9 Rating request
After a nice moment the game may open the rating feature of Google Play or Apple. The stores decide whether it appears and what happens there; we never learn whether or how you rate. Legal basis: (f) (feedback on the game).
4.10 Feedback and requests by e-mail
“Send feedback” in the settings opens your e-mail app with a message to . It is pre-filled with app version, build, platform with operating system version, device model, language and your player ID; you see everything before sending. We process your e-mail address and the content to answer you. Legal basis: (b) or (f) (answering your request). Retention: until the request is settled, at most 12 months. The mailbox is hosted by OVH GmbH (e-mail hosting, see section 6).
4.11 Data only on your device
Progress, settings (language, sounds, vibration, consents), player ID, device key, queues for level events and pending purchases are stored in the app’s storage on your device. They are deleted when you uninstall the app; write down your recovery code first if you want to keep your progress. Android: the app does not take part in the automatic backup to Google Drive (allowBackup off). When you transfer directly to a new device (cable or Wi-Fi), devices from some manufacturers may still copy the app data. iPhone/iPad: the app data is stored in the app’s Documents folder and is therefore, as usual for apps, part of your iCloud or computer backup if you have it switched on; restoring a backup brings it back. That backup is managed by Apple and you, not by us.
4.12 This website
purrfectshelves.com uses no cookies, no tracking, no analytics and loads nothing from third-party servers. The web host OVH GmbH, Christophstraße 19, 50670 Cologne, Germany, processes technically necessary data (IP address, time, page requested, browser) in server log files. Legal basis: (f) (providing and securing the website). Retention: the web host’s server log files according to its privacy policy.
5. What other players see
Nothing. There are no player names, friend lists or leaderboards. Your player ID and recovery code are never shown to others.
6. Recipients and processors
- Server hosting: OVH GmbH, Christophstraße 19, 50670 Cologne, Germany, server location data centre in Frankfurt am Main, Germany (EU), as a processor (Art. 28 GDPR).
- Website and e-mail: OVH GmbH, Christophstraße 19, 50670 Cologne, Germany (web hosting and e-mail hosting), as a processor (Art. 28 GDPR).
- Google (Google Ireland Limited; Google LLC, USA): AdMob and UMP (ads, consent), Google Play Billing and Google Play Developer API (purchases, validation, refund notifications), Google Play in-app review – each as an independent controller.
- Apple (Apple Distribution International Ltd., Ireland; Apple Inc., USA): App Store and StoreKit (purchases), App Store Server API and server notifications (validation, refunds; our server only sends the transaction number), rating dialog – as an independent controller.
- Authorities only where we are legally obliged.
We don’t sell data and don’t pass data from our server to advertising partners.
7. Transfers to third countries
Our server stores data exclusively in the EU. Google and Apple may transfer data to the USA. Both are certified under the EU-US Data Privacy Framework (adequacy decision of the European Commission of 10 July 2023, Art. 45 GDPR); in addition they use standard contractual clauses (Art. 46 GDPR).
8. Retention at a glance
| Data | Retention |
|---|---|
| Server access logs (without IP address) | 14 days |
| Firewall log (suspicious requests only, with IP address) | 14 days |
| Rate-limit hashes | 2 days |
| Cloud save (current and previous) with recovery code | until deletion, at the latest 24 months after the last activity |
| Recovery log, failed attempts (IP hash) | 30 days |
| Gameplay statistics (state, milestones, day of first use) | overwritten; deleted at the latest 24 months after the last activity |
| Daily activity | 24 months |
| Level events | at most 90 days |
| Error reports | 90 days |
| Purchase receipts | at least 7 years (§ 132 BAO) and as long as the game is operated; after deletion without player ID |
| Failed purchase validations | 90 days |
| Mail, claims, code redemptions | messages until they expire; claims and redemptions until 24 months after the last activity |
| Server backups | 14 days (deleted data disappears from backups after that at the latest) |
| Data on your device | until you uninstall the app (in an iCloud or computer backup according to its own rules, see 4.11) |
9. Delete my data
Directly in the game: Settings → “Delete my data”. Our server immediately deletes all data linked to your player ID: cloud save including the recovery code, statistics, milestones, level events, error reports, mail and device keys. Code redemptions and restorations of “No ads” are kept without any link to you; purchase receipts are kept without your player ID because of the legal retention obligation (§ 132 BAO, Art. 17(3)(b) GDPR). The game then starts over on this device with a new player ID. You can get a purchased “No ads” back with “Restore purchases” in the store.
If you use the same progress on several devices (after a recovery), deleting on one device also deletes the cloud save of the others.
Without the app (for example after uninstalling): write to and include your recovery code (Settings → “Recovery code”) or your player ID (in the game under Settings → “Licenses”, at the very bottom; it is also in every feedback e-mail). The same applies to an access request under section 10.
10. Your rights
You have the right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and to object to processing based on legitimate interests (Art. 21). You can withdraw consent at any time with effect for the future (Art. 7(3)).
Write to and include your recovery code or your player ID (Settings → “Licenses”, at the very bottom; it is also in every feedback e-mail from the game). Without one of them we cannot find your data, because we don’t store names or e-mail addresses. The code works like a password – share it only with us.
11. Right to lodge a complaint
You can lodge a complaint with a data protection authority; in Austria this is the Österreichische Datenschutzbehörde, Barichgasse 40–42, 1030 Wien, www.dsb.gv.at.
12. Children
The game has no content unsuitable for children, but it is aimed at teenagers aged 16 and over and adults and is not a children’s app. In Austria, people aged 14 and over can consent to the processing of their data themselves (§ 4(4) DSG); for younger people, consent (statistics, personalised ads) requires a parent’s approval. If you are under 14, answer “No” to statistics, reject personalised ads or ask your parents. If we learn that a child’s data was processed without the required approval, we delete it.
13. Changes
If the game or the law changes, we will update this policy. The date at the top shows the current version.