Last updated 19 September 2026
This app handles payslips, bank statements and a complete record of what you earn and spend. That is about as sensitive as personal data gets, so this page describes exactly what is stored, what leaves the server, and what never does. It is written to be read, not to be scrolled past.
This instance is operated by the operator of this instance. Your data lives in that instance's own database and file storage. It is not pooled with other deployments, and there is no central service collecting from them.
Every record belongs to a household, and every member of your household can see all of it— including uploaded documents and the activity log. That is the point of a shared household, but it is worth being explicit: inviting someone gives them full visibility of the household's finances, not a limited view. Members of other households cannot see any of it.
Whoever administers the server can technically access the database and the uploaded files, in the same way that is true of any self-hosted application.
This app has no analytics, no advertising, and no third-party tracking. Data is sent outward in exactly four cases:
Uploaded documents are never sent to any third party, including the AI features. They stay on the server's disk and are only ever streamed back to you when you download them.
Worth stating explicitly rather than leaving as an absence: this app runs no analytics, product-analytics SDK, heatmap, or session-replay tool. Nothing records your screen, your keystrokes, your mouse movement or the values you type into a form, and no third-party script runs on any page — so there is no recording of your salary, balances or documents to be masked, retained or leaked in the first place.
Two things back that up rather than leaving it as a promise. Every page is served with a Content-Security- Policy that permits scripts and stylesheets only from this instance's own origin, so an outside tracking snippet cannot be added without also changing the server configuration. And the fonts the app uses are downloaded at build time and served from this instance, not from Google's servers — loading a web font from a third party would hand them your IP address on every page view, which is exactly the kind of quiet data flow this page exists to rule out.
Every email from this app is transactional: a sign-up verification link, a password reset you asked for, or a household invite someone sent you. No marketing or promotional email is sent, so there is no mailing list to be on and nothing to unsubscribe from. Each message identifies who sent it and carries the operator's postal address. If a promotional email ever is introduced, it will be opt-in and will carry a working unsubscribe link.
One cookie is used, and it is strictly necessary: the session cookie that keeps you signed in. There are no advertising or analytics cookies. Your browser also stores two preferences locally — your light/dark theme choice and whether the sidebar is collapsed. Those never leave your device.
Deleting a transaction or recurring rule moves it to Trash, where it stays until you permanently delete it from Settings. Nothing is purged on a timer. Deleting a document removes both the database record and the file on disk immediately. Deleting a user account removes that user; deleting a household cascades to everything the household owned.
Passwords are hashed with bcrypt and never stored or logged in plain text. Password-reset and email-verification links are stored only as SHA-256 hashes, are single-use, and expire (30 minutes for a reset, 24 hours for a verification). Changing your password or choosing “sign out all devices” invalidates existing sessions within a few minutes. Every database query is scoped to your household, and document downloads check ownership before streaming a file.
No system is perfectly secure, and this one is a personal-scale application rather than a bank. Use a unique password, and keep in mind that the security of a self-hosted instance also depends on how the server itself is run.
This app is for adults. You must be 18 or older to create an account or join a household, and the sign-up form asks for a date of birth and refuses a younger one — as do the invite-acceptance form and, on first entry, an account created through Google sign-in. No personal information is knowingly collected from a child: an account that answers with an under-age date of birth is deleted rather than kept on file. If you believe a child has nonetheless created an account here, contact us using the details below and it will be removed.
If what this app does with your data changes, this page changes with it and the “last updated” date above moves. Material changes will be surfaced in the app rather than left here quietly.
This instance has not configured a contact address. If you are running it, set the SUPPORT_EMAIL environment variable; if you are using someone else's instance, contact whoever gave you access.
See also the Terms of Service and the Copyright / DMCA page.