Disiplin is an offline-first habit and activity tracker. Your data is stored on your device; we have no account server and no cloud sync. This policy explains what data we process, why, and your choices.
App: Disiplin (com.ican.disiplin) · Contact: icanozcan96@gmail.com
Data We Collect
- Location (GPS): Collected only while you are recording an activity (running / walking / cycling), for the duration of that recording. It is used to calculate your route, distance and pace, and is stored on your device. Location is not tracked in the background; recording stops when you tap "Finish".
- Steps / health data: If you grant permission, steps (and, where available, distance / calories) are read via Health Connect and kept on the device.
- Account information: For your local account, your username and password (the password stored as an irreversible hash) are kept on the device.
- Recovery email (optional): So you can reset a forgotten password with a 6-digit code sent to your email, you can add an email address in Profile or right after sign-up. The address is stored only on your device. When a code has to be sent (verifying the address and resetting the password), only the address and the 6-digit code are passed to our server (disiplin.icanozcan.com) and our email service Brevo (EU); they are used to send the mail and not stored. To prevent abuse, the server keeps an irreversible digest (HMAC) of the address and of your IP address for 24 hours. Your username, password and data are not sent. You can remove the address in Profile at any time. If you don't add one, no email is collected.
- Diagnostics (crashes + usage statistics): If the app crashes, Firebase Crashlytics sends diagnostic data (device model, stack trace). Firebase Analytics collects statistics on how the app is used (e.g. which setup step people stop at, the chosen main goal, the source of an AI reply). Firebase automatically adds an app instance ID, device model, OS version and a coarse location derived from the IP address. Your name, meals, measurements, notes and GPS location are not sent; the advertising ID is not collected. You can turn both off with Profile → "Send diagnostics"; sending stops and data pending on the device is deleted.
- Kaze AI (the AI coach) runs on your device: Chat, daily advice and suggestions are produced entirely on your device, either by the language model you download or by the app's rule engine. What you write to the coach, the coach's long-term notes and your daily data are not sent to any cloud. Health data is not sent to the cloud.
- Barcode scanning: When you scan a packaged product, only the barcode number is sent to Open Food Facts to fetch product and nutrition information.
Journal (Günce)
Journal entries you type or dictate (text, an optional mood and tags) and the voice notes and photos you attach to them are stored only on your device, in the encrypted database; they are not sent to any server. When you dictate, speech is transcribed on the device if the phone has on-device recognition (an "On device" badge is shown). Without on-device recognition, speech is sent to the device's speech recognition service (Google on most phones) only to turn it into text; you are told this clearly the first time you dictate, you can decline and keep typing, and a "Google" badge is shown while listening. Audio is not kept while dictating.
- Voice notes: Recorded only when you tap the voice-note button, and not transcribed. The temporary file created while recording is deleted as soon as the recording ends or is cancelled; the only lasting copy is in the encrypted database.
- Photos: Added with Android's photo picker (without giving the app gallery access) or the camera. Before they are added they are downscaled on the device and all metadata (EXIF), including location, is removed; no copy is left in your gallery.
- Kaze reading your journal: Kaze AI reads your entries only if you turn on "Let Kaze read my journal" in Journal settings (off by default) and tap "Summarize, Kaze" on the weekly mirror screen. Reading and summarizing happen entirely on your device with the language model you downloaded; the summary is not stored or sent anywhere.
- Journal lock: You can lock the journal with your phone's own verification (fingerprint, face or screen lock). The app never sees or stores your fingerprint, face data or password; it only receives the result of the check.
- PDF and sharing: When you export the journal as a PDF or share an entry as text, the file or text goes only where you choose. The PDF is not encrypted: anyone who opens it where you save or share it can read it; the app tells you this before exporting.
- The journal is never added to the monthly summary's share image. Usage statistics never include entry content; only the fact that the module was first opened.
Where Data Is Stored
All user data is local to your device (a Room database, encrypted with a device-bound key). The coach's long-term notes (such as injuries and allergies) are also stored encrypted. It is not sent to our servers; we have no account system. Android Auto Backup is turned off and app data is not carried over by phone-to-phone transfer either: because the database key cannot leave the device, transferred data could not be opened on the new phone.
To move your data to a new phone you can create a backup file yourself via Profile → Back up. This file is not encrypted so that it can be opened on another device, and it also contains your journal entries, voice notes and photos; keep it somewhere you trust.
Sharing and Third Parties
We do not sell your data or share it for marketing. Limited exceptions:
- Sharing you initiate: When you tap "Share" on an activity summary, the app renders an image (PNG) and hands it to the app you choose. The same applies when you share the journal as a PDF or text. It leaves the device only when you initiate it and only to the destination you pick.
- OpenStreetMap: To display the map, map tiles are downloaded from OpenStreetMap servers; these requests contain the map area you are viewing, not your identity or your saved route.
- Google: Health Connect (reading steps), Crashlytics and Analytics (diagnostics, can be turned off) and, on phones without on-device recognition, the speech recognition service used while dictating are Google services and are subject to Google's privacy policy.
- Open Food Facts: When you scan a barcode, the barcode number is sent to fetch product information.
- Brevo (Sendinblue SAS, France / EU): If you added a recovery email, verification and password reset codes are emailed via Brevo; Brevo only sees your address and the code.
- Content servers: Exercise animations, food images and optionally downloaded AI models are fetched from GitHub, jsDelivr, Wikimedia Commons, Pexels / Mixkit and an image-resizing service (images.weserv.nl). These servers only see standard web request information (IP address, requested file); your personal data is not sent.
Permissions and Why
ACCESS_FINE_LOCATION: route / distance / pace while recording an activity.FOREGROUND_SERVICE_LOCATION: an accurate track while recording, including when the screen is off; shown by an ongoing notification.ACTIVITY_RECOGNITION: step counting.POST_NOTIFICATIONS: reminders (including the journal's evening reminder if you turn it on) and the recording notification.INTERNET/ACCESS_NETWORK_STATE: downloading map tiles and exercise media; product information for scanned barcodes; diagnostics.CAMERA: reading packaged-food barcodes and taking photos for journal entries. The camera is used only while the barcode screen is open or when you tap the camera button in the journal.RECORD_AUDIO: adding tasks by voice, dictating journal entries, journal voice notes and asking Kaze AI by voice. Audio is kept only when you record a journal voice note.USE_BIOMETRIC: unlocking the journal with your phone's own verification dialog. The app sees no biometric data, only the result of the check.
Notifications and Reminders
The app may send notifications for water, routine, goal, task, and habit reminders. The notification permission is granted by the user, and reminders can be turned off inside the app. To trigger reminders at the correct time, the device may use the exact alarm feature; if this permission is not granted, reminders run with approximate timing.
Purchases (Disiplin Pro)
The app offers an optional Disiplin Pro subscription and a one-time "lifetime" purchase. Payment is handled entirely by Google Play.
- The app never sees, processes or stores your card details, billing address or payment information; those are handled only by Google Play.
- The app stores only whether you hold a Pro entitlement. That entitlement is tied to your Google Play account, not to your Disiplin account.
- Purchase authenticity is verified on the device against Google's signature.
- Subscriptions are managed and cancelled through Google Play.
Health and Fitness Information
Disiplin does not provide medical diagnosis, treatment, or disease management. Exercise, calorie, and habit suggestions are for general wellness and personal tracking. For health-related decisions, consult a doctor or a qualified health professional.
Data Security
The app disables cleartext HTTP traffic and hashes passwords/recovery codes with PBKDF2. The database is encrypted on the device and the key is held in the Android Keystore. Screens where a password is entered, and the screen that displays your recovery code, are protected against screenshots and screen recording.
Even so: anyone who can unlock your device can open the app, and the backup file you export is unencrypted. Protect your device with a screen lock and store backup files somewhere safe.
Retention and Deletion
Your data stays on your device until you delete it. You can delete each activity, log and your profile from within the app; deleting a journal entry also deletes its voice notes and photos. When you delete your account, all of that account's data, including the coach's long-term notes, quote photos and journal attachments, is removed from the device. Uninstalling the app removes all on-device data; backup files you created yourself remain wherever you saved them. Step by step: Account and data deletion.
Children's Privacy
Disiplin is not directed to children under 13 (or the relevant age in your country) and does not knowingly collect data from them.
Changes
We may update this policy; for material changes we will update the "Last updated" date and, where possible, notify you in the app.
Contact
For questions about this policy or data processing: icanozcan96@gmail.com