Simple, honest, local-first.
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 July 24, 2026
records your internet address, browser type (standard for any website)
+ financial data after sign-in (encrypted)
no financial data
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 Supabase (open source). You'll also set a sync passphrase β separate from your Google or email sign-in β and the app uses it to encrypt your data on your device before it leaves. Supabase stores only encrypted data it cannot read. Row-level security policies enforce access at the database level so only you can read it β not me. Choose that passphrase carefully: there's no reset. Sign in on any device and enter it to restore everything. Sync doesn't merge changes from multiple devices β if you edit on two devices before either syncs, the app keeps whichever save happened last. 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:
- Server logs β automatic, can't be turned off, standard for any website (see "Cloudflare hosting logs" below).
- Analytics β optional, privacy-respecting, blockable. Details below.
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.
Frequently asked questions
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.