Legal

Privacy Policy

Zero — Expense Manager

Last updated: November 9, 2026

Your budget never leaves your phone. There is no account, no sign-in, no bank connection, no advertising and no analytics. Everything you enter stays in encrypted storage on your own device, and leaves it only when you save, copy or share something yourself. The app uses the internet for exactly two things, both through Google Firebase: crash reports, which are off unless you switch them on or send one yourself, and the delivery of occasional announcement notifications. Neither contains anything you typed.

1. Information We Collect

We never receive your transactions, balances, envelopes, funds, bills, payees, notes or settings, and we never ask for your name or email address. Two Google Firebase services receive limited technical data:

  • Firebase Crashlytics, only if you allow it. Crash reports are off on a new install. They are sent when you switch on Send crash reports on the Data & backup screen, or when you tap Send on one report there, which sends that one report and leaves the switch off. A report holds the technical stack trace, the app version, the device model, the Android version, free memory and disk space, and a random installation identifier generated by Firebase.
  • Firebase Cloud Messaging, to deliver announcements. Every install receives a random messaging token from Firebase and is subscribed to one announcements topic, so we can send the occasional notice about the app to everyone at once. We never see your token, and nothing about you or your budget is sent with it.

Google processes this data under the Firebase privacy and security terms. We use crash reports only to find and fix bugs, and announcements only to tell you about the app.

2. Information the App Stores on Your Device

The app saves what you type in, so it can show it back to you:

  • Your budget: accounts, balances, envelopes, sinking funds, recurring bills and debts you create.
  • Your transactions: amounts, dates, payees and notes you record.
  • Your settings: currency, pay and pay rhythm, theme, which features you switched on, reminder times, and your crash-report choice.
  • Crash details: the technical description of any crash the app suffers, kept so you can see what went wrong, send it or delete it.
  • A change log: an append-only record of each create, edit and delete you make, which is what lets the app show you a history and undo a change.
  • An installation identifier: a random value generated the first time the app runs, used to label entries in that change log. It is not derived from your phone's hardware, it is not an advertising ID, and it is never sent anywhere.

This is held in a database on your device, encrypted at rest with SQLCipher (AES-256), whose key stays in the phone's secure hardware. It is excluded from Android's automatic cloud backup, so it is not copied to Google Drive or transferred to a new phone by the system. Uninstalling the app deletes all of it permanently.

3. Reminders and Notifications

The evening check-in and bills-due reminders are off until you turn them on. They are alarms scheduled on your phone and shown by your phone: nothing is sent to or from a server to make them ring. Announcement notifications arrive through Firebase Cloud Messaging, as described above. On Android 13 and later the app asks for permission to show notifications when you first turn a reminder on; you can refuse, and you can turn both kinds off in your phone's settings.

4. Crash Reports

When the app crashes it writes the technical stack trace to a local file so you can read it on the Data & backup screen, send it, copy it or delete it. Only the most recent few are kept. Nothing leaves the phone unless Send crash reports is on or you tap Send on a report. A crash report never includes your budget data.

5. Backups and Exports You Choose to Make

Backups stay on your phone unless you export them. At your request, and only then, Zero can:

  • Save a backup file to a place you pick in the system file picker. You can protect it with a password, which encrypts the file with AES-256; Zero cannot recover a forgotten password. The file holds your budget and your settings (theme, features, reminders, crash-report choice, currency and pay).
  • Copy a backup as text to your clipboard.
  • Export a CSV file of your transactions through the system share sheet.

What happens to a backup or export next is in your hands: if you save it to cloud storage, email it or paste it into another app, that copy is governed by that service's privacy terms. A backup without a password can be read by anyone who has it. We are not involved in and cannot see that step.

6. Sharing a Savings Milestone

When a sinking fund reaches a milestone, Zero offers a Share button. Tapping it hands a picture card — the fund's name, how much you have saved and its target — to Android's standard share sheet, so you can send it wherever you like. Nothing is shared unless you tap that button and then choose an app, and the card goes to the app you pick, never to us.

7. Links

The Rate Zero and Privacy policy rows in Settings open Google Play and this page in your browser. Those pages are governed by Google's and our website's own terms; the app sends nothing with them.

8. Sharing and Selling

We do not share, sell, rent, disclose or transfer your information. Zero contains no advertising, no analytics and no tracking. The only third-party services are Firebase Crashlytics and Firebase Cloud Messaging, described above.

9. Permissions the App Declares

The only permission Zero asks you to approve is notifications, on Android 13 and later. It never asks for contacts, location, camera, microphone, storage or your files. The other entries below are granted silently at install because none of them is sensitive.

  • POST_NOTIFICATIONS: shows your reminders and announcement notifications. Asked in context; you can refuse.
  • INTERNET: sends crash reports you allow to Firebase Crashlytics and receives announcements through Firebase Cloud Messaging. Never used for your budget data.
  • com.google.android.c2dm.permission.RECEIVE: lets Firebase Cloud Messaging deliver announcements to the app.
  • RECEIVE_BOOT_COMPLETED: phones drop scheduled alarms when they restart; this lets the app set your reminders again, and restore the home-screen widget.
  • ACCESS_NETWORK_STATE: declared by Firebase and the scheduling library to check connectivity before sending.
  • WAKE_LOCK: lets scheduled work, such as updating the widget, finish without the device sleeping mid-task.
  • FOREGROUND_SERVICE: declared by the scheduling library. Zero starts no foreground service.
  • com.well.spend.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION: generated automatically by the AndroidX libraries, which is why it carries the app's own name. It keeps Zero's internal messages inside Zero instead of exposing them to other apps. It grants access to nothing.

10. Children's Privacy

Zero is a personal budgeting tool intended for adults and is not directed to children. We do not knowingly collect information from anyone, of any age.

11. Your Rights

Because your budget data never reaches us, requests to access, correct, export or erase it are things you carry out yourself, directly and immediately: edit or delete any record in the app, save a full backup from the Data & backup screen, or uninstall the app to erase everything. We hold no copy that could survive that. To stop crash reports, leave Send crash reports off; to stop announcements, turn off Zero's notifications in your phone's settings.

12. Changes to This Policy

If a future version of Zero adds any other way of sending data — optional cloud sync, for instance — this policy will be updated before that version is released, and the change will be described plainly here with a new date above.

13. Contact Us

Questions about this policy or about privacy in Zero: bealitamoor@gmail.com