KidSpin Privacy Policy
Last updated: 2026-10-27 · Effective date: 2026-10-27
KidSpin is a learning app for children ages 3 to 7. We take privacy seriously, especially because our users include children. This policy explains what we do (and don't do) with information.
What KidSpin does NOT collect
- No name, email, phone, address, or photo is ever sent off the phone. (A child's optional first name stays on the device — see below.)
- No account creation or login is required to use KidSpin.
- No camera access.
- No precise location.
- No contacts.
- No third-party analytics SDKs that profile children (no Firebase Analytics, Mixpanel, Amplitude, etc.).
- We do not knowingly collect any personal information from children under 13 (COPPA) or under 16 (GDPR-K).
Microphone — the Echo feature (on-device only)
- When the microphone is used. Only while the Echo screen is open. Echo listens for the child's voice, records the short phrase, plays it back, and listens again. The mic is never enabled on app launch, on the home screen, in any other module, or in the background — leaving the screen or the app stops it.
- How long the recording lasts. One short phrase at a time. The file is replayed once, then deleted right after playback (and any leftover from a crash is deleted the next time Echo opens).
- Where the recording is stored. In a temporary directory on the device, scoped to KidSpin. It never leaves the device.
- What we do with the audio. Play it back at a higher pitch via the device's audio engine. We do NOT run speech-to-text, do NOT detect words, do NOT save the file, and do NOT upload it anywhere.
- Permission. Android asks for microphone permission the first time the child taps Echo. If you deny it, KidSpin still works — Echo just isn't available until you grant the permission in Android Settings.
Because the audio never leaves the device, it is not "collected" under Google Play's Data safety definitions (collection means data sent off the device), so it is not listed there.
What KidSpin stores on the device only
- Child profiles. Up to 4 children can share one phone. For each one KidSpin keeps an optional first name, an age and a picture chosen from the app's built-in animal pictures (never a photo). Stored locally only, never uploaded, and never put into anything shared unless a parent types a name into the share box.
- Progress. For each child: which letters / numbers / cards they have seen and checked, sticker counts, streaks, the result of the optional "where to start" placement game, favourite topics a parent picked, and the last 14 days of Today's Path (shown as a 7-day view in the parent progress report). Stored locally with
SharedPreferences. Never uploaded. - Daily time limit. If a parent sets one, the minutes each child has used today, reset at midnight. Stored locally only.
- Settings. Selected language, font size, voice on/off, child age band, reminder and weekly-summary times. Stored locally only.
- Purchase entitlement. If you buy the optional Bonus Pack, we store a single boolean ("owned: true") on the device so the extra modules stay unlocked. The transaction itself is handled by Google Play, not by us — we never see your card or billing details.
Advertising
KidSpin shows no ads. Since version 1.0.3 the app contains no advertising SDK, so no ad network receives any data from it, and the Android Advertising ID and Privacy Sandbox ad APIs are removed from the app.
If we ever add ads again, it will only be a network certified for Google Play's Families Policy, configured for children, and this policy will be updated before that version is released.
In-app purchase
The Android app offers the optional Bonus Pack as a one-time Google Play purchase, with a reference price of US$2.99 (Rs 299 in Pakistan). The price shown by Google Play before confirmation is the price you pay in your region. It unlocks the full paid learning modules; there is no Google Play subscription.
The separate web family gift code is processed by Paddle.com (our merchant of record). Paddle collects the billing email and payment details. KidSpin's license backend stores the order reference, buyer email, unlock code and device activations. When a parent enters an unlock code in the app, it sends that code and a random app-generated device ID to this backend to enforce the five-device limit, then re-checks the license at most once every three days when online. The app keeps the code and entitlement locally. Google Play purchases follow Google's refund policy; web purchases have a 14-day refund window.
Quote requests on our website
The white-label and app development page has a form for schools and businesses. It is for adults and is not part of the app. When you send it, our backend (hosted by Supabase) stores what you typed (name, email, organisation, country, what you need, budget, timeline and details) and emails it to us through Resend so we can reply. We use it only to answer your request and delete it 12 months after we receive it, or sooner if you ask.
Data Safety summary (for the Play Store form)
- Data sharing: we do not sell information or share it for advertising. Our license hosting and any enabled crash reporting use the service providers listed below. Google Play's Data safety form excludes transfers to service providers acting on our behalf from its definition of sharing.
- Audio recordings: not collected — Echo audio stays on the device and is deleted after playback.
- Device or other IDs (license codes only): if a parent redeems a web license code, the app sends the code and a random app-generated device ID to our license server to enforce the device limit, and re-checks it every few days. That activation links to the license record, which contains the web buyer's email; it is not anonymous. No license-check data is sent if no code is redeemed.
- Crash logs: only if crash reporting is enabled in the installed version, Firebase Crashlytics sends stack traces, device model, OS and app version, and an installation identifier for stability diagnostics. No Firebase Analytics, advertising profiling or advertising ID is used.
- Data is encrypted in transit: Yes (HTTPS only).
- Users can request data deletion: Yes — email us to remove a license activation. Everything else is stored on the device and removed by uninstalling the app.
How to delete your KidSpin data
- Data on the phone (child profiles, progress, stickers, time used, settings, Bonus Pack flag): uninstall KidSpin, or open Android Settings → Apps → KidSpin → Storage → Clear data. It is deleted at once.
- License activation (only if you redeemed a web license code): email asadtechlead@gmail.com with the subject "KidSpin data deletion" and your license code. We delete the device IDs linked to that code within 7 days and confirm by email. The purchase record (order reference, buyer email and code) is kept for refunds and support, for the time shown under Data retention.
KidSpin has no accounts, so there is no account to delete.
Data retention
This section is KidSpin's written data retention policy for children's information (U.S. COPPA Rule, 16 CFR 312.10); the full internal version, with the exact deletion steps, is available from asadtechlead@gmail.com on request. We keep information only as long as we need it for the reason we collected it, never indefinitely, and deletion runs automatically every day.
| Information | Why we keep it | How long |
|---|---|---|
| Everything on the phone (profiles, progress, settings, license code) | Runs the app offline. We hold no copy. | Until you uninstall KidSpin or clear its data |
| Echo voice clip | Played back once | Deleted right after playback (a crash leftover is deleted the next time Echo opens) |
| License device ID (only if a parent redeemed a web code) | Enforces the five-device limit and confirms the license is still valid | While the license works; deleted 30 days after it ends (refund, cancellation or expiry), or within 7 days of your request |
| Web purchase record (order reference, buyer email, code) | Re-sending lost codes, refunds and payment disputes | While the license works; deleted 24 months after it ends, or on request |
| Payment notifications from Paddle | Making sure each purchase creates exactly one code | 90 days |
| Server logs (our license backend) | Fixing problems; we never log codes, emails or device IDs | Kept by our host for 1 day |
| Crash reports (only if enabled) | Finding and fixing crashes | 90 days, then deleted by Firebase |
| Website quote requests (adults only, not from the app) | Replying to a request for a white-label or custom app | 12 months after we receive it, or on request |
| Emails you send us | Answering you | 12 months after your question is resolved |
Paddle, as merchant of record for web purchases, keeps its own billing records under Paddle's privacy policy.
Children's privacy
KidSpin is designed for children, with on-device learning and voice playback. If you believe we have inadvertently collected personal information from a child, please contact us so we can investigate and delete it.
We do not collect personal information such as names, contact details or photos from children; the only data sent off the device is a license device ID when a parent redeems a code, and crash reports if enabled. The Echo microphone feature is operated entirely on the device and any captured audio is deleted after playback. Parents may revoke the microphone permission at any time in Android Settings without affecting any other part of the app.
Parental gate
Settings, purchases and external actions use a parent check with a single-digit addition question and a short lockout after repeated wrong answers. A correct answer allows the current parent session until returning to the app's home screen or restarting the app. This check is a handoff prompt for parents; it is not proof of age or identity. Google Play also controls its own purchase confirmation and authentication.
Permissions used
| Permission | Used for |
|---|---|
INTERNET | Google Play in-app billing and web license-code checks. |
RECORD_AUDIO | Echo voice playback only. On-device; not retained; not transmitted. |
VIBRATE | Tactile feedback when a card is revealed or an answer is correct. |
POST_NOTIFICATIONS, RECEIVE_BOOT_COMPLETED | Optional daily learning reminders and a weekly parent summary, re-scheduled after the phone restarts. Android asks for permission only after a parent turns notifications on. |
| Google Play billing | The optional Bonus Pack purchase. |
Notifications and the screen
- Weekly parent summary. A notification scheduled on the phone once a week (off until a parent turns it on — asked once, the day after install, behind the grown-up question; change the day and time in Settings). It only says "Tap to see this week's progress (parents only)" — no numbers or names — and opens the progress report behind the parent check. Nothing is sent to us to produce it.
- Listen mode keeps the screen on. While a story or duas play hands-free in Listen mode, KidSpin keeps the screen awake so playback doesn't stop, and lets it sleep again when playback stops or the screen closes. This uses the standard Android screen-on window flag and needs no extra permission.
KidSpin does NOT request: camera, location, contacts, storage, SMS, phone, calendar, the Android Advertising ID (AD_ID) or the Privacy Sandbox ad APIs. Some Google libraries add standard housekeeping permissions (network state, wake lock) that do not access personal data.
Third-party services
- Google Play Billing — handles the optional Bonus Pack purchase. We never see card or billing details. KidSpin no longer reads the Play install referrer: sharing the app earns no reward, and a shared link only carries a fixed campaign tag that Google Play counts in its own store reports. Google privacy.
- Supabase — hosts the license backend and the website quote form described above. Supabase privacy.
- Paddle — processes separate web purchases. Paddle privacy.
- Resend — sends the unlock-code email to the buyer's address after a web purchase (the email and the code), and forwards website quote requests to our inbox; Resend keeps its delivery log for 30 days. Resend privacy.
- Firebase Crashlytics — sends crash reports only in a release configured for crash reporting, as described above. Firebase privacy.
Changes
Substantive changes to this policy will be reflected in the "Last updated" date above and described in the app's release notes.
Contact
Questions, concerns, or COPPA / GDPR data requests: email asadtechlead@gmail.com.
KidSpin is built by Asad Mahmood, Lahore, Pakistan.