whoami.money – private personal plain-text finance app
Your money lives in one CSV file that you own. Every transaction is a single line – a date, a payee, the two accounts it moved between, an amount – so you can open it in any spreadsheet or text editor, and it will outlive this app. Nothing leaves your device unless you turn on sync, and your transactions are encrypted before they go.
It never connects to your bank. If you have been looking for a private budgeting app with no bank login – a Mint or YNAB alternative with nothing to sign up for and no account aggregator in the middle – this is one. If you just want a CSV finance tracker you can read in a spreadsheet, it is that too.
| Date | Payee | From | To | Amount | Notes |
|---|---|---|---|---|---|
| 2026-04-01 | Grocery Store | Assets:Chequing | Expenses:Food | 85.50 | Groceries |
| 2026-04-03 | Employer | Income:Salary | Assets:Chequing | 3200.00 | April pay |
The file
A journal is a CSV. The first line names the columns – date, payee, from_account, to_account, amount, notes, and an id the app fills in for you. Amounts are always positive; the direction comes from the two accounts. Every account name starts with one of five roots: Assets, Liabilities, Income, Expenses, Equity. If you budget, a sixth root, Budget, holds what you set aside. That is the whole format. It is double-entry bookkeeping underneath, but you never have to say the words.
What it does
- Type like a spreadsheet. Click a cell, drag a range, fill down, paste. There is a running balance, filters on any account, payee or #tag, and undo.
- Budget by category. What repeats, what is flexible and what is irregular are told apart from your own history, not guessed at.
- See where it went. Income against spending by week, month or year. Break it down by account or payee, watch it flow, or check what you are worth.
- Look ahead. The bills that repeat, found in your own ledger, and a forecast built from the return your own holdings measured.
- Catch your mistakes. Duplicates, uncategorised rows, unusual amounts, bills that quietly stopped arriving, holdings nobody has valued in a while.
- Work offline. Install it as a web app and it opens with no network at all.
Getting your transactions in
Four ways, and not one of them wants your online banking password:
- Open a CSV you already have – your own, or an export from another app.
- Import a statement. CSV, OFX or QFX, from a bank or a card. It reads the file's own columns whatever shape they are in, works out which of your accounts it belongs to, and matches rows you already have instead of duplicating them. Categories come from your own past filings.
- Paste rows straight from a spreadsheet.
- Type them, with your payees and accounts completing as you go.
Getting out is the same file. The journal IS the CSV – export it and it opens in Excel, Numbers, a text editor, or whatever you point at it.
What it costs
The app is free, and there is nothing to sign up for. No trial, no plan, no payment of any kind in it. I will keep it that way for as long as I can: it runs in your browser, the journal is a file you own, and neither one depends on me being paid.
Sync is the part with a bill behind it – a server, a database, hourly backups in another city – so sync is what will cost money. It is also the part you can skip. The app is complete without an account, and a journal that never leaves your device is free to keep.
What it runs on
Any modern browser, on any operating system. There is nothing to download to try it. Install it as a web app and it opens in a window of its own on macOS, Windows, Linux, Android and iOS, and works with no network at all. Your journal stays in that browser on that device, plus whatever CSV you export. Turn on sync and it follows you to another one.
Privacy
No ads, no trackers, no crash reporting. The page loads its own code and its own fonts from whoami.money and nothing else. The server counts visitors per day and keeps nothing that identifies one. Your journal is kept in this browser and in the CSV you export.
With sync on, your account is a random key – no email address, no name, no password – and every record is encrypted on your device before it is sent. The server holds ciphertext. It cannot read an amount, a date, a payee, an account or a note.
Who made it
One person, not a company. I am @lazydancer: I write it, and I run the server it syncs to. Something wrong or missing goes to github.com/lazydancer/whoami-money, where every issue is public. The source is private, so the check that does not depend on trusting me is your browser's own network log – it shows every request this page sends.
The program itself – the ledger you type into, the import sheet, the reports – runs in this page, and needs JavaScript to do it.