Mari keeps your money on your phone

There is no Mari account, no Mari server, and nothing to sign in to. Your records live on this device and nowhere else.

What Mari collects

Mari has no analytics, no advertising and no crash reporting of its own, and it never asks for your name, email or phone number.

Two Google libraries Mari is built on do report on themselves, and it would be wrong to leave that out. Google Play's billing library sends its own version and Mari's name to Google each time the app starts. The text recognition that reads receipts reports how it performed, along with a random identifier for this installation — but only when you actually scan something.

Both reports describe the software and this phone's model. Your records, your amounts, your receipt photos and the text read from them are never part of either, and never leave this device.

Where your data is kept

Your accounts, records, categories and budgets are stored in a database on this device. Your settings are stored beside it. If you turn on the app lock, your PIN is never stored — only a salted hash of it, held in the device's encrypted storage — and unlocking with a fingerprint or face is handled by Android, which never shares the biometric itself with Mari.

None of this is uploaded anywhere.

Keeping exchange rates current

To keep exchange rates current, Mari asks a public rates service for today's figures. That request carries no API key, no device or advertising identifier, and none of your data — no amounts, no accounts, no records. It sends the currency you've picked as your base and nothing else, and receives a list of public rates in return.

It happens at most once every 12 hours, fails silently when you're offline, and can be avoided entirely by entering rates yourself. Every other feature works with no connection at all.

Rates are provided by https://www.exchangerate-api.com.

If you buy the upgrade

Purchases are handled entirely by Google Play. Mari asks Play whether this Google account owns the unlock, and Play answers yes or no — Mari never sees or stores your payment details. What Google records about that purchase is covered by Google's own terms, not this policy. If you never buy anything, Mari still never sends Play any of your financial data.

Scanning a receipt

Receipt scanning reads the photo on this device. The image is never uploaded, and neither is the text read from it — scanning works in airplane mode. Photos taken in Mari are deleted as soon as they have been read.

Mari asks for no camera or storage permission: the system camera writes one file into Mari's own cache, and the photo picker hands over only the single image you chose. A scan just fills in the form — it never saves a record by itself.

Files you export

A CSV or PDF export is written to the location you choose, and Mari has no say in what happens to it afterwards. If you save it to a cloud folder or send it to someone, it leaves the device because you sent it — not because Mari did.

Deleting everything

Settings has a Delete all data option. It asks for confirmation twice, then permanently removes your records, accounts, categories, budgets, settings and app lock from the device.

That deletion is final, and it is complete: there is no backup on a server to also delete, because there is no server. Uninstalling Mari removes the same data.

Permissions Mari asks for

Internet, used only for the rate request described above. Notifications, used only for bill reminders you set up yourself. Mari asks for no access to your contacts, location, camera, photos, messages or files beyond the one file you pick when exporting.