I built this app for users in the US, Canada, UK, Australia, New Zealand, Singapore, and beyond β with no servers, so your financial data has nowhere to go but your own device. Your browser translates your CSV files into spending data entirely on your device β nothing is uploaded. The app's full source code is public on GitHub β anyone can read exactly what it does. Here's how it works.
Last updated June 17, 2026
The app saves everything β accounts, balances, imported transactions, budgets, and snapshots β to your browser's local storage. It persists across refreshes and restarts, even without signing in. Your browser processes CSV files locally and nothing leaves your device unless you choose to sync. You can export your transactions and budget history as a CSV anytime from the Spending and Budget tabs, or export a full JSON backup (accounts, budgets, categories, and all transactions) from the overflow menu (β―) on the Spending tab β and import it back on any device to restore everything.
Sign in with Google or a passwordless email link and the app backs up your full data β accounts, transactions, budgets, categories, and snapshots β directly to your account via Firebase. When you sign in, your transaction data leaves your device β it's stored in your personal account on Google's servers. Google enforces access at the database level so only you can read it β not me. Sign in on any device to restore everything instantly. If you'd rather your data never leave your device, skip sign-in β the app works fully without it.
Once per session when you open the import screen, the app downloads community-rules.json from Cloudflare. This file contains keywordβcategory mappings the app uses to auto-categorize your transactions. The app sends no transaction data, descriptions, or personal information β it only downloads the rules file. The file lives publicly on GitHub so anyone can audit it. Missing a merchant? Suggest a pattern β β no account required. You can block this download using any privacy extension β the app will still work, but will skip applying community categorization rules to your transactions. Your own custom rules still apply.
Two separate types of data collection happen when you use this app β they're easy to confuse:
When you visit this app, Cloudflare records standard server request data: your internet address, browser type, pages requested, and timestamps (this is standard for any website you visit). Cloudflare manages this logging under their own privacy policy β the developer has no control over it and no direct access to individual request logs. It contains no financial data; Cloudflare applies the same logging to every website on their network. See cloudflare.com/privacypolicy for details.
This site uses Umami, a privacy-respecting analytics tool. It records page views, referrer, browser type, operating system, and country (inferred from your IP address, which Umami never stores). Umami sets no cookies, collects no personal data, and never identifies or tracks individual visitors across sessions. You can block it with any privacy extension β the app works fine without it.
These rights apply to users in the EU (GDPR β General Data Protection Regulation), UK (UK GDPR), and similar frameworks elsewhere. I honor them for everyone regardless of location. Because this app holds no financial data on its own servers, most of these rights are already satisfied by design β but here's the full picture:
If you have questions about this privacy policy or how your data is handled, there are two ways to reach me:
This app is built and maintained by one person. I read everything. It's free, with no data selling β if it's useful to you, you can support its development.