Securo puts ownership ahead of convenience
Securo is a self-hosted personal finance manager for people who do not want a hosted service holding their complete financial history. It combines balances, transactions, budgets, goals, assets, and reports in a browser interface on your infrastructure. With 2,322 GitHub stars and an AGPL-3.0 license, it merits attention, but its license and operating model demand more involvement than a conventional app.
The scope exceeds basic expense tracking. Securo supports running balances, search, filters, CSV export, recurring transactions, categorization rules, valuation growth rules, and net-worth and income-versus-expense reports. Imports cover 4 formats: OFX, QIF, CAMT, and CSV. Multi-currency conversion, multiple users, an admin panel, and registration controls make it plausible as a household finance hub rather than merely a prettier ledger.
What happened when we ran it
We cloned commit 69503c0 into a fresh, unprivileged Debian container with 3 CPUs and 8 GB of RAM. The Python project lives under backend/, in a repository with 822 files and roughly 161,522 lines of source. Installation succeeded in 30 seconds, bringing in 137 packages and consuming 460 MB. The build succeeded in 5 seconds. This does not prove every production deployment will be easy, but the backend installed and built cleanly without secrets on our box.
The full pytest run took 782 seconds, reporting 3165 passed, 0 failed, and 45 skipped of 3165. That is a substantial positive signal. The repository also contains 6 CI workflow files, a Dockerfile, and a tests directory. One result prevents a clean bill of health: pip-audit reported 5 known vulnerabilities. Our run establishes their presence in the resolved dependencies, not their exploitability, so operators should inspect the advisories before deployment.
The strongest feature is practical data coverage
Securo handles the awkward ways financial data arrives. Manual import across 4 formats helps when an institution lacks a connector, while rules can reduce repetitive categorization. Assets and savings targets broaden the view beyond monthly spending, and category sparklines add useful context. Optional AI agents can query user data and maintain a per-agent RAG knowledge base, but the ordinary finance workflow does not appear to depend on them.
Bank sync spans 3 documented routes. Pluggy targets Brazilian banks, Enable Banking covers about 2,500 European PSD2 banks, and SimpleFIN addresses US and international connections. This is not a promise that any particular institution will work. Enable Banking production use requires HTTPS, an application, a PEM key, and an exact OAuth redirect URI; its free plan requires accounts to be pre-linked. SimpleFIN is read-only, but users must still obtain a token. Securo documents these constraints clearly.
Authentication controls suit a serious private service
Securo lists TOTP 2-factor authentication with brute-force protection, standard OIDC, passkeys, admin controls, and configurable registration. The OIDC documentation explains disabling local authentication and startup validation meant to avoid an instance with no usable login path. It also distinguishes auto-registration, existing-account linking, and role synchronization, details that matter when integrating an existing identity provider.
OIDC-only deployment remains an operation, not a checkbox. A fresh instance needs 1 administrator provisioned through OIDC, with OIDC_AUTO_REGISTER=true, OIDC_SYNC_ROLES=true, and a matching administrator role. Existing hashes, sessions, passkeys, and TOTP settings remain when local login is disabled. Administrators must understand the difference between disabling a route and deleting credentials, especially outside a trusted network.
The rough edges are operational, legal, and security-related
The 1-command quick start is concise, yet piping a remote install script into a shell deserves inspection. Windows users clone the repository and run Docker Compose. Either route gets software running, not safely operated: persistent volumes, encrypted transport, patching, backups, restoration drills, secret storage, monitoring, and upgrades remain the operator's responsibility. Bank access also introduces third-party availability and credential concerns.
The AGPL-3.0 license protects the project's open-source character, but companies modifying Securo for network use should review source-sharing obligations. The 157 open issues indicate a backlog, although count alone cannot show severity or maintainer responsiveness. The latest release is v0.14.4 from August 23, 2026, and the repository was pushed on August 27, 2026. Together, those dates show active development rather than abandonment.
It fits as an internal application behind your existing edge
In a real stack, Securo belongs behind 1 HTTPS reverse proxy, with durable storage, managed secrets, scheduled backups, and restricted access. OIDC makes sense when an identity provider already exists. Enable bank connectors one at a time and verify them against noncritical accounts. Treat the optional AI capability as a separate data-access decision, because tool use over personal financial records expands what the configured model service can see.
For budget-first users, Actual Budget is cleaner; for a longer-established web manager, compare Firefly III; for formal double-entry accounting, choose GnuCash. Securo wins when one deployment needs imports, bank sync, goals, assets, multi-currency handling, multiple users, and modern identity controls. Version v0.14.4 looks promising and our clean test outcome is persuasive, but start privately, review the 5 audit findings, and prove backup restoration before loading irreplaceable history.