Your money. Your space.
What this app stores and shares, in plain language.
Your financial data stays in this browser
Transactions, custom categories, language, currency and appearance preferences are stored in IndexedDB on this device. The app does not upload your ledger or connect to your bank. Currency conversion requests send currency codes to Frankfurter, which receives normal connection information such as your IP address, but no amounts or notes. Sharing a summary sends only the image you approve through your chosen app.
No app analytics or advertising
ZenExpense includes no analytics scripts, advertising trackers or third-party fonts. Your hosting provider may process technical request information, such as IP addresses and access logs, under its own policies.
Offline files are separate
The service worker caches application pages, code and images in Cache Storage. Financial records are stored exclusively in IndexedDB, not in these cached files.
Backups are yours to manage
Export creates an unencrypted JSON file. Import reads your chosen file locally. Protect your backups and device; anyone with access to your browser profile may be able to read your records.
Retention and deletion
Records are retained until you delete them. A previous snapshot is kept for recovery. Clear all data in Settings removes the ledger and preferences after confirmation. Browser settings can remove all site data, including offline files. Private browsing, device loss and clearing browser storage can erase records. There is no cloud recovery. Export regularly and before changing browsers or devices.