Steady Ember

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.

Updated 27 September 2026 · 6 min read

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

CriterionWhere you verify itSteady Ember
Data minimisationStore data safety, policy data sectionsHabits, completions, notes and preferences only — nothing collected for measurement or advertising
Local-first storagePolicy wording, aeroplane mode testAll data in a local SQLite database on the device; fully usable offline
No third-party SDKsPolicy third-party section, data sharedNo analytics or advertising SDKs — no Firebase, no Mixpanel
Least-privilege permissionsSettings, Apps, PermissionsNotifications for reminder channels; Health Connect only if you enable it; no internet permission in the release build
Encrypted backupsBackup screen, then open the fileAES-256-GCM backup envelopes protected by your personal hex key token
Uninstall transparencyDeletion section of the policyNothing held on a server — the record goes with the app unless you export it
Export as an exit rightThe export menu itselfOne-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 Play

No account · No ads · Works fully offline