- JavaScript 39.7%
- Python 25.5%
- Kotlin 25%
- CSS 8.7%
- HTML 0.8%
- Other 0.2%
The header was taken off the screen as Settings opened, and the screen under it was put back on top of Settings. It now goes back underneath. Assisted-by: Claude Opus 5.5 |
||
|---|---|---|
| android | ||
| banks | ||
| docs | ||
| tests | ||
| vendor | ||
| .dockerignore | ||
| .gitignore | ||
| accounts.js | ||
| app-signin.css | ||
| app.js | ||
| appsignin.py | ||
| ask.js | ||
| bio.js | ||
| collab-ui.js | ||
| crypto-accounts.js | ||
| crypto-fallback.js | ||
| crypto.js | ||
| Dockerfile | ||
| favicon.svg | ||
| index.html | ||
| ledger-doc.js | ||
| LICENSE | ||
| money-ask.js | ||
| README.md | ||
| server.py | ||
| styles.css | ||
| sync.js | ||
| theme.js | ||
LibreMoney
A zero-knowledge money planner. Budgets, recurring bills and a month-by-month ledger, encrypted on your device before it ever reaches your server. Not even the server can read it.
LibreMoney was called LibreLedger until version 2.2. Your ledgers open exactly as before.
It is for households and small groups who want to plan their money together without handing their finances to a bank app, a budgeting service or the person who runs the server.
What you get
- One clear screen. Your account balances at the top, then a ledger month by month with a running balance that carries from one month into the next.
- Recurring bills and income. Rent, phone, salary: set the schedule once and drop each month's entries in with a click.
- Totals, savings and housing summaries, several budgets in one ledger, and CSV or PDF export.
- Who spends what. Add the people in a ledger (a name, or someone who has the ledger shared with them), mark each payment as theirs or Shared, and see each person's spending, with Shared costs split evenly or by percentage, per month and per year.
- Ask about money. A safe-to-spend figure and your lowest point before the next payment, worked out on your device. Optionally add your own Claude or ChatGPT key and ask in plain words ("Can I afford £40 on Friday?"); names are swapped for labels before anything is sent, and the sums are never done by the AI.
- Notes and pay-by bills. Add a note to any entry or recurring item, and set a bill to "Pay by a date" (a total, a due date and what is paid so far) so it is planned for, not treated as due today.
- Together, live. Share a ledger with the people you choose. Changes appear on everyone's screen within a second, and you can see who is here and what changed. Edits made offline are kept and sent when you are back.
- Encrypted end to end. Everything is locked in your browser with a key made from your own password. There is no recovery: lose the password and the data is gone, which is the point.
- Signs in with your LibrePortal account. On a LibrePortal server, people are already known, so there is no extra account to make.
- Android app. Several accounts, each on its own card, from the LibreMoney app.
- Works on your home network. Plain
http://ip:portis fine on a network you trust.
Get started
- On LibrePortal: install LibreMoney from the app catalogue in the control panel. It installs private (only reachable from your trusted places) and is included in LibrePortal's backups. New to LibrePortal? Install it first.
- On your phone: download the Android app, or see the download page.
- On its own: it also runs as a small container or a single Python program; see docs/self-hosting.md.
Learn more
Contributing and reporting problems
Found a bug or have an idea? Open an issue. Please never post passwords, keys, passphrases or other secrets in an issue; describe the problem and we will say what to share. Security problems: use the report a bug page rather than a public issue. Pull requests are welcome.
Licence
GNU AGPL-3.0-or-later. The bundled encryption libraries and Yjs are MIT-licensed; bank logos belong to their owners.