Home · Why Steady Ember · What privacy-first means
What "Privacy-First" Actually Means in a Habit Tracker
Privacy-first has no definition, no certification and no cost to say. Here is a definition you can test: seven criteria, the exact place to verify each one, and a plain account of how this tracker measures against them.
Almost every habit app now describes itself as private or privacy-first. The phrase is not a standard, a certification or a legal category, which makes it a poor basis for a decision on its own. It becomes useful only when it is turned into tests that can be passed or failed.
Each criterion below names the specific place to look — a screen, a section of the policy, a file — rather than asking you to take a sentence on trust. The final section applies them to this tracker.
1. Data minimisation
What it means: the app collects only what a feature you actually use requires. Habit data needs a name, a schedule, a completion time and, if you write them, your notes. It does not need an address book, a location history or an advertising identifier.
How to verify it: start with the store listing's data safety section, then read the privacy policy's description of each data type. Minimisation looks like a short, specific list you can match line by line to features you have turned on. Categories you cannot connect to anything you have done are the finding.
2. Local-first storage
What it means: the working copy of your data lives on the device, and the network is optional rather than assumed. What you did today is written to a database on your phone, not queued for upload.
How to verify it: test it twice. The privacy policy should name the mechanism — a local database file, in plain language — and the app should complete its core tasks with aeroplane mode on. Check-in a habit, write a note, open your statistics. If any of them stall or fail, something is reaching out.
3. No third-party analytics or advertising SDKs
What it means: no third-party code inside the build reporting your usage anywhere. Such libraries run under someone else's policy and can start collecting things the app's own policy never mentioned.
How to verify it: read the third-party, analytics and advertising sections of the privacy policy, then compare them with the store listing's data shared disclosure. A specific statement about what is and is not bundled is a stronger signal than silence in both places. If advertising is disclosed, understand that the revenue model and the privacy claim are in tension by construction.
4. Least-privilege permissions, down to no internet permission at all
What it means: the build requests only what its features need, when it needs it. The strongest version is a release build that does not declare internet access at all — a build with no network permission cannot phone home, whatever future code might wish.
How to verify it: on Android, open Settings, Apps, the app, Permissions. This shows the declared list whether or not you have granted anything — the honest view of the build. Map each entry to a feature you intend to use, then ask the harder question: does the core task need a network at all? If not, the absence of the permission is the proof.
5. Encryption at rest for backups
What it means: a backup file is unreadable without a key, so a copy in a downloads folder or a chat thread tells an attacker nothing. Look for a modern authenticated cipher — AES-256-GCM — rather than an unspecified claim of being "encrypted".
How to verify it: check two things. First, the policy or the backup screen should name the algorithm and say where the key is kept; if the key is yours, nobody else can decrypt it, including the developer. Second, create a backup and open the file: if you can read your own notes in it, it is not encrypted at rest.
6. Transparency about what happens on uninstall
What it means: a direct answer to a question most people ask too late: if I remove this app, what exists afterwards?
How to verify it: read the deletion or retention section of the privacy policy. It should state whether data lives only on the device, whether any server-side copy ever existed, and how long anything else is retained. A policy that answers the question is doing its job; a policy that avoids it has still told you something.
7. Export as an exit right
What it means: your history is yours to take, in a format that does not depend on the app that produced it. Export is what separates owning a record from renting one.
How to verify it: find the export screen inside the app, not the policy. Check the formats — open ones such as CSV and JSON remain readable anywhere; a proprietary archive needs the app forever. Check whether export is free, and whether it covers everything: habits, completions, notes, not just a summary.
How Steady Ember measures against each
| Criterion | Where you verify it | Steady Ember |
|---|---|---|
| Data minimisation | Store data safety, policy data sections | Habits, completions, notes and preferences only — nothing collected for measurement or advertising |
| Local-first storage | Policy wording, aeroplane mode test | All data in a local SQLite database on the device; fully usable offline |
| No third-party SDKs | Policy third-party section, data shared | No analytics or advertising SDKs — no Firebase, no Mixpanel |
| Least-privilege permissions | Settings, Apps, Permissions | Notifications for reminder channels; Health Connect only if you enable it; no internet permission in the release build |
| Encrypted backups | Backup screen, then open the file | AES-256-GCM backup envelopes protected by your personal hex key token |
| Uninstall transparency | Deletion section of the policy | Nothing held on a server — the record goes with the app unless you export it |
| Export as an exit right | The export menu itself | One-tap CSV and JSON export of the full history, available on the free tier |
One criterion cannot be checked from a table: whether the app behaves the way it claims on your own phone. Run the checks yourself with What to Look for in a Private Habit Tracker, or read why the network is left out of the picture.
Privacy you can check on your own phone
Steady Ember is a private, offline habit tracker: local SQLite storage, no account, no analytics SDKs, and an export menu that always works. Up to 6 habits free — unlimited on the paid tier.
Get Steady Ember on Google PlayNo account · No ads · Works fully offline