The short version
Habit Stacker is an offline habit tracker. It collects nothing about you, has no accounts, no analytics, no crash reporting and no advertising. Your habits, your completions and your notes are stored only on your device.
It uses the network for exactly one thing — fetching its two typefaces through Android's own font service — and that request carries none of your data. Section 2 covers it in full.
1. What the app stores, and where
All of it is local to your device, inside the app's private storage area, which other apps cannot read.
| What | Where | Why |
|---|---|---|
| Your habits — name, emoji, how the habit is completed, the habit it is stacked on, its order, and whether it is archived | Room database | The habit list itself |
| Completions — the date and time of each win, how long it took where that applies, and any note you attached | Room database | Your history, streaks and momentum |
| Settings — theme, momentum mode, reminder on/off and time, onboarding and celebration flags, and whether the review prompt has already been shown | DataStore preferences | Remembering how you left the app |
None of it is transmitted. None of it is readable by other apps. Android backup is explicitly disabled (allowBackup="false"), so it is not copied into cloud backup either — you own any backup yourself, through the export tools in section 5.
2. The one network request
Habit Stacker contains no networking library, makes no requests of its own, and has no server to make them to.
It does hold the INTERNET permission, and the reason is worth stating plainly. The app's typefaces — Fraunces and Inter — are not bundled into the download. They are declared as downloadable fonts, so Android itself fetches them once from the Google Play Services font provider and caches them for every app on the device. That keeps the install small. The request is made by the operating system rather than by the app, it names a font and a weight, and it carries nothing about you or what you track. Google's handling of it falls under the Google Privacy Policy.
That is the whole of the app's network use, and the only reason the permission is present.
3. Permissions
| Permission | Why | What it can see |
|---|---|---|
INTERNET | Downloadable fonts, and nothing else — see section 2. | Nothing of yours. The app makes no requests of its own. |
POST_NOTIFICATIONS | Shows your daily habit reminder, if you enable it. | Nothing. Decline it and the rest of the app works normally. |
SCHEDULE_EXACT_ALARM | Times that reminder precisely, rather than letting the system batch it. | Nothing. It is a scheduling permission and grants no access to data. |
RECEIVE_BOOT_COMPLETED | Re-arms your reminder after you restart your phone. | Nothing. It only lets the app learn that the device has started. |
One further entry appears in the installed manifest — com.zenocanvas.habitstacker.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION. It is not an Android capability and grants access to nothing: it is a signature-level permission that the AndroidX core library defines against the app's own package, so that broadcast receivers registered at run time cannot be reached by other apps. It is a hardening measure, and Google Play does not show it to you.
There are no others. No location, no camera, no microphone, no contacts, no calendar, no photos, and no storage-wide file access.
4. Third-party services
Google Play In-App Review is the only third-party SDK in the app. Once you have recorded 14 lifetime wins, it asks Google Play to show its standard "rate this app" sheet — at most once, ever. Settings also carries a Rate row that launches the same sheet on demand. The app sends Google no data of its own; whether the sheet appears at all is Google's decision, and the API never reports whether you rated, declined or dismissed it, so the app is never told the outcome or your rating. Google's handling of that interaction is covered by the Google Privacy Policy.
The Google Play Services font provider in section 2 is the only other Google component the app touches. Beyond those two there is no advertising network, no analytics library, no crash reporting and no attribution SDK. The dependency list is otherwise AndroidX and Jetpack libraries plus Hilt and Room, all of which run entirely on-device.
5. Backups and export — all user-initiated
Three places in Habit Stacker hand something to another app. In each case you start it, you choose the destination, and the app uploads nothing itself:
- Backup — writes everything to a file you pick through Android's own file picker. No storage permission is involved, because the picker grants access to that one file. Where it goes and who sees it are entirely your choice.
- Restore — reads a backup file you choose and replaces what is on the device with it, behind a confirmation.
- Export CSV — writes your habits and wins as two spreadsheet files, through the same picker. Those files are yours.
6. What the app does not do
- Does not collect or transmit personal information
- Does not use analytics, telemetry, crash reporting, or attribution SDKs
- Does not contain advertising, and contains no advertising SDK
- Does not use an advertising identifier
- Does not create an account or ask for an email address
- Does not track you across apps or websites
- Does not sell, rent, or share your data — there is none held to share
7. Children
The app collects no data from anyone, including children. It contains no ads, no purchases, and no user-generated or third-party content.
8. Deleting your data
Two ways, both immediate and complete:
- In the app: Settings → Clear all.
- Uninstall the app. Android deletes the app's private storage with it.
Back up first if you might want your history later. There is no server-side copy to request the deletion of, because nothing was ever sent anywhere.
9. Changes to this policy
If this policy changes, the updated version will be published at this same URL with a new "Last updated" date. If a future version ever changed what the app collects or how it uses the network, that would be disclosed here and in the Play Data Safety form before the version shipped.
10. Contact
Questions about this policy, or about anything the app does:
Zeno Canvas
Dhaka, Bangladesh
Email: info@zenocanvas.online
Last updated: 10 September 2026