Privacy Policy
Last updated: 15 August 2026
Robot Programmer is a coding-puzzle game for children roughly 5 to 10 years old, published by TLM Software Design, Inc. ("we", "us"). It is designed for children, so it is built on a simple rule: we collect no personal information about your child, and there is no way for your child to be contacted, profiled, or identified through the app.
This policy covers the Robot Programmer mobile app on iOS and Android, and this website.
The short version
- No account, no sign-up, no email address, no name, no age entry.
- No advertising of any kind, and no advertising identifier (no IDFA, no Android Advertising ID) — we do not request one even where the operating system offers it.
- No location, camera, microphone, photos, contacts, or calendar access. The app requests none of these permissions.
- No push notifications, no chat, no user-generated content, no social sharing, no leaderboards.
- Game progress and settings are stored on the device only. They are never uploaded.
- Crash reports and app-usage counts — no name, no account, no advertising identifier — can be switched off by a parent inside the app.
What the app stores on the device
To be a game at all, the app remembers a few things locally, in the device's own app-private storage:
- Which levels have been completed and how many stars each one earned.
- Whether the opening tutorial has been seen.
- Sound, music, and haptics preferences, and the analytics preference described below.
- Whether the optional "unlock all levels" purchase has been made.
None of this leaves the device, none of it is linked to an identity, and none of it is used to build a profile of your child or to target anything at them. A parent can erase all of it at any time: Settings → Grown-up settings → Privacy → Delete local data. That returns the app to its first-launch state. A previous purchase is not lost — it can be restored from the store that processed it.
What we receive, and how to switch it off
Two aggregate signals are sent to Google Firebase (Google Analytics for Firebase and Firebase Crashlytics), configured for a child audience with advertising features and ad personalisation disabled: 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 Robot Programmer and its pages, and nothing else — every other app on apps.swtlm.com has its own policy, because every app handles different data.
- Crash and technical-error reports. When the app stops unexpectedly we receive the technical details of the failure — the device model, the operating-system version, and where in the code it happened — so we can fix it.
- Pseudonymous gameplay counts. Events such as "a level was started", "a level was completed", "the tutorial finished". Each carries an app-generated installation identifier — a random number created on this install, not linked to a name or an advertising identifier — and we use them only in aggregate, to see which levels are too hard or where children stop playing.
Neither signal contains a name, an email address, an advertising identifier, a precise location, or anything typed by a child (nothing in the app is typed by a child). Neither is used for advertising, and neither is sold or shared for any other party's purposes.
A parent can turn both off entirely: Settings → Grown-up settings → Privacy → Analytics & crash collection. The switch takes effect immediately and persists; with it off, the app sends no analytics or crash reports at all.
The optional purchase
The first world of levels is free. One optional, one-time purchase unlocks the remaining worlds. Purchases are processed by Apple or Google — we never see or store payment-card details — and the receipt is validated through RevenueCat, which we use to remember that the unlock was bought and to restore it on your family's other devices. RevenueCat receives a pseudonymous, app-generated identifier and the store receipt; it receives no name, email, or address from us.
The purchase, and restoring it, are both reachable only after an adult passes a short arithmetic check, so a child cannot spend money alone.
Children's privacy (COPPA, GDPR-K, UK Children's Code)
This app is directed to children. We collect nothing that identifies your child — no account, no name, no email address, no age entry, no advertising identifier, no precise location, and nothing typed by a child. What we do receive is the crash reports and gameplay counts described above, and a parent can switch both off entirely in Settings → Grown-up settings → Privacy → Analytics & crash collection.
Those records carry only a per-install identifier we cannot connect to a person: we hold nothing that would let us tell you which installation is your child's, which is why we cannot look up one child's records to show or delete them individually. Everything the app stores about your child stays on the device and a parent can delete all of it at any time from the grown-up settings. You are welcome to contact us with any question about either.
We do not profile children, do not use their data to target content or advertising, and do not use nudge techniques to extend play or encourage spending.
Data retention
On-device data stays until the parent deletes it or uninstalls the app. Crash and usage records are retained by Firebase for its standard retention window, keyed to the per-install identifier described above and to nothing else — no name, no account, no advertising identifier.
Third parties
The app includes only these third-party components: Google Firebase (Analytics + Crashlytics), RevenueCat (purchase receipts), and the platform's own in-app review prompt. There is no advertising SDK, no analytics SDK beyond Firebase, and no social SDK. Adding any other third-party component would require us to revisit this policy first.
This website
This site uses Google Analytics to count visits. Analytics cookies
(_ga, _ga_*) are set only after you accept via the cookie
banner; decline and no analytics script loads and no cookie is set. You can withdraw
consent at any time by clearing this site's local storage in your browser. 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 Robot Programmer and its pages, and nothing else — every other app on apps.swtlm.com has its own policy, because every app handles different data. Our hosting provider (Amazon Web Services) also records standard
server access logs, including IP addresses, for security and operational purposes.
Changes to this policy
If this policy changes materially we will update the date at the top and publish the new version here before the change reaches the app.
Contact
Privacy questions and data-rights requests: privacy@swtlm.com. Anything else: info@swtlm.com.
TLM Software Design, Inc.