Privacy policy
Privacy policy
Last updated 2026-10-21
Purrhoop is operated by TLM Software Design, Inc., a Michigan corporation with offices at 27280 Haggerty Road, Ste C-6, Farmington Hills, MI 48331, USA ("we", "us", "our"). The game is made for everyone, children included, so this policy is written to the standards that come with that: COPPA in the United States, GDPR-K in the EU and UK, and Google Play's Families policy. It describes what the app collects, why, where it goes and the choices you have.
Summary for parents
- No ads, ever. The app contains no advertising SDK of any kind.
- No advertising ID. The app does not read, collect or request the advertising identifier on iOS or Android, and never shows the iOS tracking prompt because it never tracks.
- No account, no personal information. No sign-in, names, photos, location, contacts or messages. There is nowhere in the game to type anything.
- Offline play. Every round, upgrade and setting works without a connection. Progress is saved on your device and removed when you delete the app.
- The only network traffic is Google Firebase (anonymous usage counts and crash reports) and RevenueCat (checking purchases).
- Purchases and every link that leaves the game sit behind a parental gate.
What the app stores on your device
The following is written to local storage on your device. None of it is sent to us, and none of it identifies you or your child.
- Game progress: your coin balance, best catch and best coins, upgrade levels, boosts, the cat's hats and neck pieces, its hearts, the fish you have caught, and the number of rounds played.
- Settings: music, sound and haptics switches, left-hand mode, the chosen look, the chosen language, and a record of whether the rating card has been shown.
- Purchase status: a local record, maintained by RevenueCat's SDK, of whether Full Catch or the Supporter pack is active.
There is no cloud sync of our own. If you have device backup turned on (iCloud backup on iOS, Google backup on Android), your operating system may include the app's local data in that backup. That copy is handled by Apple or Google under their terms, not by us.
Network behaviour
All gameplay works in airplane mode. Only two outside services ever receive traffic:
- Google Firebase: Analytics records a small set of anonymous usage events, and Crashlytics uploads a report if the app crashes.
- RevenueCat: contacted when the app checks which purchases you already own, and when you buy or restore one. Purchases are only offered behind the parental gate.
How analytics is configured
We use Firebase Analytics and Crashlytics in a deliberately restricted configuration:
- No advertising identifier is collected or requested. On Android the advertising-ID permission and the Privacy Sandbox advertising permissions are removed from the app, and ad-ID collection is switched off. On iOS the app uses the Firebase build that has no advertising-ID support.
- Ad storage, ad user data and ad personalisation are denied from the first launch, on both platforms. Automatic screen-view reporting is off. No user ID is set.
- The events we send are a small fixed set, with no free text. They record round start and end (round number, score, fish caught, coins, stars, shots, thefts and defences, power-ups, pauses), coin purchases in the game (which item and how many coins), which box in the cat's home was opened, which setting was changed and to what, the steps of a purchase (viewed, purchased, cancelled, restored), and the steps of the rate-this-app card. Two properties describe the player's look and whether Full Catch is owned.
- Firebase also records its own standard signals: first open, session start, app and OS updates, device model, OS version, app version, and the country inferred from the network address. On Android it reads the Play install referrer, which says which store listing or campaign an install came from, never who installed it.
- Crash reports contain a stack trace, device model, OS version and app version. They are not linked to a person.
- Debug builds used by our developers send nothing.
Firebase data is processed by Google under Google's privacy policy. Analytics data is retained for up to 14 months, Google's default.
The parental gate
Purchases, restoring purchases, the privacy policy link, the rating card and anything else that leads out of the game sit in the grown-ups box in the cat's home, behind a parental gate: a short multiplication question made of digits, freshly generated each time. There is no "remember me" and no way to switch it off.
Purchases: RevenueCat, Apple and Google
Purrhoop has two optional one-time purchases, Full Catch and the Supporter pack. Neither is a subscription and there are no consumables. Payment is handled entirely by Apple's App Store or Google Play: we and RevenueCat never see your payment method or financial details. RevenueCat receives an anonymous, app-generated identifier and the store receipt so it can confirm what you own and let you restore purchases on a new device. Prices are shown by the store in your currency.
Android permissions
The app declares INTERNET (purchase checks, crash reports, analytics) and
VIBRATE (haptics, which you can switch off). Libraries add network-state, billing and wake-lock
permissions, and the Play install-referrer service used by Firebase Analytics. No camera, microphone,
location, contacts, storage, calendar or biometric permission is requested, and the advertising-ID
permission is removed.
Children's privacy (COPPA and GDPR-K)
Purrhoop is suitable for children, so Google Play's Families policies apply to it. It is not in Apple's Kids Category. We do not knowingly collect personal information from anyone. The app has no accounts, no data-entry fields, no chat, no user-generated content, no advertising and no push notifications, so there is nothing for us to sell, share or profile. If you believe the app has collected personal information from your child, write to privacy@swtlm.com and we will investigate and delete it.
Your rights and choices
- Delete your data: deleting the app removes all game data from your device. We hold no personal data on our servers to delete.
- Limit analytics: there is no in-app analytics switch. Because no personal data or advertising ID is involved, the practical control is to uninstall the app, or to use your device's own privacy settings.
- Access and portability: the on-device progress is already yours; there is nothing of ours to export.
- For Firebase data held by Google, see Google's privacy controls.
If you live in the EU, UK, California or another region with comparable laws, you may ask to access, correct, port or delete personal data we hold, or to object to or restrict its processing. Write to privacy@swtlm.com and we will reply within 30 days.
International transfers
Firebase and RevenueCat operate servers in the United States and elsewhere. Anonymous events, crash reports and purchase checks from the app are processed there.
This website
These pages (apps.swtlm.com/purrhoop) are static and hosted on
AWS S3 + CloudFront. The site uses Google Analytics to count visits: pages viewed, sessions
and referral source. The analytics cookies _ga and _ga_* are set only after you
click Accept in the cookie banner, and Decline loads no script and sets no cookie. You can withdraw consent
at any time by clearing this site's local storage in your browser. AWS also keeps standard CDN access logs
(IP address, time, requested URL) under its default logging policy, never joined to any in-app identifier.
apps.swtlm.com is one website: this page and every app page on it share a single analytics property and a
single consent choice, so accepting or declining once applies everywhere on the domain. That is the
analytics only. This privacy policy covers Purrhoop and its pages, and nothing else; every other app on
apps.swtlm.com has its own policy, because every app handles different data.
Service providers
- Google Firebase: Analytics and Crashlytics, in the restricted configuration above.
- Google Analytics 4: aggregate website visit data, only with your consent.
- RevenueCat: purchase verification and restore.
- Apple App Store and Google Play: payment for the one-time purchases.
- Amazon Web Services (S3 and CloudFront): hosts this website.
Changes to this policy
We will post material changes here and update the date above. If a change ever widened what the app collects from children, we would seek verifiable parental consent as required by law before it took effect.
Contact
Privacy questions: privacy@swtlm.com. General support: info@swtlm.com.
TLM Software Design, Inc.27280 Haggerty Road, Ste C-6
Farmington Hills, MI 48331
USA