Privacy Policy — Jelajah Angka
Last updated: September 23, 2026
This privacy policy applies to the Android app Jelajah Angka(com.gookkis.jelajahangka), developed and published by Heri Kiswanto ("we"). Jelajah Angka is a maths-fluency practice app for children aged 7 and up, teenagers, and adults. This page explains what data is processed when you or your child use the app, where that data lives, and what choices you have.
Quick summary
- The app collects no personal data at all. We run no server, and the app never sends anything to us or to anyone else.
- The app does not request the internet permission. Technically it cannot open a network connection, so nothing can leave the device.
- No account, no sign-in, no cloud sync.
- No ads, no analytics SDK, no crash reporting, no third-party trackers of any kind.
- All learning progress — player profiles, levels, stars, answer history, streaks — is stored only on your device.
- The only permission requested is notifications, for the daily practice reminder ("Jam Berlayar") you schedule yourself. You may decline it; the app works fully without it.
- The parent area can be locked with a PIN. The PIN is stored as a salted hash, never as plain text.
Data we collect
None. We do not request, collect, store, transmit, or sell any personal data of yours or your child's — including names, email addresses, phone numbers, contacts, photos, location, or the list of installed apps. The app has no backend, no database on our side, and no usage-reporting mechanism.
This is more than a policy promise: the app manifest does not declareandroid.permission.INTERNET, so Android itself refuses every connection attempt from this app. You can verify this in the permission list on Google Play or in your device Settings.
Data stored on your device
To do its job, the app stores the following locally, in its private internal storage:
- Player profiles you create yourself: nickname, player type (child, teen, adult), age, practice goal, avatar colour, and one habit-cue sentence (for example "Practice after dinner, at 19:00"). The nickname can be anything; nothing is verified.
- Learning progress: the current level, stars per level, XP, coins, collected trick cards, and offline duel results.
- Answer history per question: right or wrong, how long it took, whether a trick hint was used, and — for word problems — the kind of mistake. This is what lets the app decide which facts are memorised and which need review, and what builds the Report for the player and the parent.
- Practice habit: practice days, streaks, and sessions, for the logbook.
- Settings: daily time limit, duel timer, sound, background music, reminder schedule, and — if you enable it — the parent-area PIN, stored as a salted hash so the actual PIN is never kept.
This data:
- is never sent to us or to anyone else — the app has no path to the network;
- may be included in your Google account backup (Android Backup) if app backup is enabled on the device, so a child's progress survives a phone change — that backup is managed by Google and accessible only to your own Google account;
- is deleted entirely when you clear the app's data or uninstall the app.
Backup & Restore
Settings offers a Back up now button. It writes the data of every profile on the device into a single JSON file (named like jelajah-angka-<date>.json) and opens the Android share sheet, so you choose where that file goes — your Google Drive, your own email, a files app. The app does not pick the destination and never sends the file to us.
The backup file contains player nicknames and their full progress, so before it is shared the app offers to lock it with a passphrase. If you choose to lock it, the contents are encrypted on the device with AES-256-GCM under a key derived from your passphrase (PBKDF2-SHA256), and the names and progress inside can no longer be read without it. The passphrase is stored nowhere — if it is forgotten, the file cannot be opened again, by us or by anyone. Locking is optional: without a passphrase the file stays plain JSON you can read yourself.
Restore from file reads a file you pick through the system file picker and replaces the data on the device. If the file is locked, the app asks for the passphrase first.
Code Duel
The Code Duel feature generates a 6-digit code that you send to a friend yourself, through whatever messaging app you like. The code carries only the question seed and the level — no name, no result, no device identifier. A friend who enters the code gets the same questions on their own device; you compare results yourselves. There is no device-to-device connection, no random opponents, and nothing exchanged through us.
App permissions
Permissions requested directly by the app:
android.permission.POST_NOTIFICATIONS— shows the daily practice reminder ("Jam Berlayar") at the time you set during onboarding or in Settings. The reminder is scheduled and displayed entirely on the device. If you decline, no reminder appears and the app works fully.
The following permissions are added automatically by the Android scheduling library (WorkManager) used for that reminder, and are used only by that library:
android.permission.RECEIVE_BOOT_COMPLETED— keeps the reminder scheduled after the phone restarts.android.permission.WAKE_LOCK— lets the scheduler's short job finish without being cut off.android.permission.ACCESS_NETWORK_STATE— a built-in part of the scheduling library. This app has no internet permission, so it is never used to reach the network.
The app does not request internet, storage, camera, microphone, location, contacts, or any other sensitive permission. Backup files go out and come in only through the share sheet and the system file picker, which give the app access solely to the file you pick.
Your choices
- Decline or turn off reminders. Decline the notification permission when asked, or switch off Jam Berlayar in Settings. You can also revoke the permission any time under Settings › Apps › Jelajah Angka › Notifications.
- Lock the parent area. Enable Lock with PIN in Settings. Only Settings is locked; the Report stays readable for the child.
- Delete one player. Open Settings › Manage players and remove a profile. Every record of that player is deleted with it.
- Delete everything. Because all data is local, clearing the app's data (Settings › Apps › Jelajah Angka › Storage › Clear data) or uninstalling the app deletes all of it permanently. There is no copy on our side because we never received one. Backup files you exported yourself live where you put them and can be deleted like any other file.
- Turn off Google backup. Disable app backup underSettings › Google › Backup if you do not want local data included in your Google account backup.
Children's privacy
Jelajah Angka is intended for children aged 7 and up as well as teenagers and adults (a mixed audience). Child profiles are created by a parent. We designed the app so that there is nothing to leak: no ads, no accounts, no internet connection, no chat or random opponents, and no data leaving the device. The nickname and age entered are used only to greet the player and to guess a starting point, and they stay on the device. If you are a parent or guardian with questions, please contact us at the address below.
Security
The app has no internet permission, so there is no network traffic to secure and no copy of your data on our side that could leak. Data lives in the app's private storage, isolated from other apps by Android. The parent-area PIN is stored as a salted hash, not as plain text. Backup files you export can be locked with a passphrase (AES-256-GCM); if you choose not to lock one, its safety depends on where you keep it.
Changes to this policy
This policy may be updated from time to time, for example when features change. Should the app ever add a third-party service (such as ads on adult screens, which it does not have today), this page will be updated first and the Google Play Data safety section adjusted with it. The latest version is always published on this page with a new update date.
Contact
Questions about this privacy policy can be sent to admin@gookkis.com.