Privacy Policy
for Calistung: Baca Tulis Hitung
Short version
Calistung is an offline kids’ learning app. Your child’s name, avatar, stars, streak, drawings, and lesson progress live only on the device. We don’t run a server, we don’t include analytics or ads, and we don’t collect personal data from anyone — children or adults. The only off-device traffic is a pseudonymous receipt validation with Apple via RevenueCat when a parent buys the Calistung Lengkap unlock.
1. Who we are
Calistung is published by Akhaneva (“we,” “us,” “our”). This policy describes how the Calistung iOS / iPadOS app handles information. Calistung is rated for the App Store Kids Category (ages 3–6) and is designed to be compliant with Apple’s Kids Category guidelines, COPPA, and GDPR-K.
2. What we collect
Nothing leaves your device about your child. Calistung has no analytics SDK, no advertising SDK, no crash reporter, no telemetry pipeline, no remote logging, and no account system. We never see your IP address, we have no record that the app was opened, and we cannot identify any individual child or parent.
The data the app needs to function — your child’s profile (chosen avatar emoji + name, which defaults to “Adik” if blank), earned stars, streak count, completed lessons, unlocked rewards, traced drawings, and app settings — is stored locally on the device using Apple’s SwiftData framework and UserDefaults. It never leaves the device.
The single exception is in-app purchase validation. To know whether a parent has purchased the Calistung Lengkap lifetime unlock, the app talks to Apple’s In-App Purchase service via RevenueCat — see section 7 for details.
3. Information from the child
Calistung is built for ages 3–6. The app actively avoids collecting anything that could identify a child:
- The “name” field on the onboarding screen accepts any text the parent or child types. It is treated as a display nickname only, stored locally, and we encourage parents to leave it as “Adik” or use a first name only. It is never sent anywhere.
- The avatar is one of 12 animal emojis — there is no photo upload, no camera, no microphone, and no contact-picker anywhere in the app.
- There is no chat, no messaging, no social, no multiplayer, no leaderboard, no user-generated content shared with anyone, no comments, no profile sharing.
- There is no in-app web browser and no third-party links exposed to the child. The only links inside the app (App Store purchase, Apple subscription management) live behind the parent gate.
4. Parent gate
The Settings panel — the only place that exposes purchase, restore, reset progress, and other adult controls — is protected by a math challenge the app picks at random in the range a + b = ? where a is 5–12 and b is 3–9. A child too young to do that math cannot enter Settings, cannot reach the paywall, cannot reach an external link, and cannot purchase anything.
5. Microphone, camera, photos, location
Calistung does not request microphone, camera, Photos library, contacts, location, Bluetooth, local network, motion, HealthKit, or any other privacy-sensitive permission. The app has no use for any of them. The Info.plist intentionally does not include the matching usage descriptions, so iOS will not even show a prompt.
6. Tracing & drawings
When your child traces a letter, number, or word, the strokes are scored locally by the guided tracing engine to award stars. Drawings are not saved beyond the current lesson and never leave the device. There is no “share my drawing” feature.
7. Purchases — Calistung Lengkap
Calistung is free to download with a generous forever-free tier (Garis, Huruf A–J, Mengenal Huruf cards, Berhitung 1–10, Pola Urutan). The Calistung Lengkap one-time unlock (currently Rp 99.000, launch promo Rp 69.000) opens the rest of the curriculum — full A–Z + a–z, full Angka, all Kata tracing, all Baca games, all Hitung ranges, all 4 Pola games, Puzzle Jalan, and all 3 recorded voice banks. There is no subscription, no auto-renewal, and no advertising — ever.
Purchase is handled entirely by Apple In-App Purchase. Apple receives your Apple ID, payment, and billing address. We never see your card details, name, email, or postal address.
We use RevenueCat as the entitlement validator. When a parent taps Buy or Restore, the Calistung app sends RevenueCat a pseudonymous, randomly-generated identifier and the Apple-signed purchase receipt. RevenueCat returns whether the Lengkap entitlement is active, and the app unlocks the paid content accordingly. RevenueCat may also receive standard request metadata (device model, OS version, app version, transient IP for fraud prevention).
RevenueCat does not receive your child’s name, avatar, stars, streak, drawings, lesson history, or anything else the app stores. RevenueCat’s handling is governed by RevenueCat’s privacy policy. The Lengkap unlock supports Family Sharing where Apple permits.
The purchase UI is only reachable past the parent gate — children cannot trigger a purchase, see a price, or restore on their own.
8. Voice and audio
Calistung speaks every prompt in Bahasa Indonesia. The voice you hear is one of three pre-recorded banks bundled inside the app (Kak Jesika, Kak Anjani, Kak Dila) plus an offline fallback synthesizer. No audio is sent off-device for speech, ever. We do not transcribe, stream, or process the child’s voice — we never even ask for microphone access.
9. Children’s privacy
We comply with the U.S. Children’s Online Privacy Protection Act (“COPPA”) and the EU GDPR Article 8 (“GDPR-K”) by collecting no personal information at all. Because no personal information leaves the device, no parental consent is required to use the app under either framework. If a parent still wants written confirmation, email us — see section 13.
10. Third parties
Calistung does not embed third-party analytics, advertising, attribution, A/B-test, push-notification, or social-login SDKs. The third parties we do rely on, and their narrow purpose:
- Apple — the App Store, App Store Connect, In-App Purchase, TestFlight, and Family Sharing. Governed by Apple’s privacy policy.
- RevenueCat — Calistung Lengkap entitlement validation only, as described in section 7. Governed by RevenueCat’s privacy policy.
That is the entire list. No Firebase, no Mixpanel, no Adjust, no AppsFlyer, no Meta SDK, no Google Analytics, no Sentry, no anything else.
11. Data retention & deletion
Because Calistung stores everything on your device, you control retention completely:
- Reset progress inside Settings (past the parent gate) deletes all
ProgressRecord,Reward, stars, and streak entries from the device. - Delete the app removes the entire SwiftData store and all UserDefaults — every byte the app held is gone.
We have no copy on a server to delete on your behalf, because we never received one.
12. Your rights
Privacy laws — including GDPR, CCPA, UU PDP (Indonesia’s Personal Data Protection Law), and COPPA — grant users (and their parents, for kids) rights over personal data: access, deletion, correction, portability, objection. Because we do not collect personal data, those rights are satisfied by default. You can still email us and we’ll confirm in writing that we hold nothing about you or your child.
13. Contact
Questions about this policy, or a written confirmation request: akhaneva.co@gmail.com.
14. Changes to this policy
If we add features that change how data is handled — for example, optional iCloud sync for multi-device progress — we will update this page and bump the “last updated” date before the feature ships. Material changes will also be surfaced in-app and on the App Store release notes.