Skip to content

securo-finance/securo

Securo logo

Securo

CI Coverage License: AGPL-3.0
Website · Try our Demo · Read the Docs

Finance apps want your data. This one doesn't.

We believe personal finance should actually be personal. No corporation should sit between you and your financial data. Securo is an open-source finance manager that runs on your own infrastructure, giving you full visibility into your accounts, spending, and habits, without surrendering a single byte to third parties. Take back control.

Quick Start

Linux & macOS (uses Docker or Podman; installs Docker if neither is present):

curl -fsSL https://usesecuro.com/install.sh | bash

Windows: Install Docker Desktop, then:

git clone https://github.com/securo-finance/securo.git && cd securo
docker compose up --build

Open http://localhost:3000 and create an account. That's it.

Securo dashboard

Features

  • Multi-account management with running balances
  • Transaction management with search, filters, and CSV export
  • File import (OFX, QIF, CAMT, CSV)
  • Auto-categorization rules engine
  • Recurring transactions and budgets
  • Goals and savings targets with progress tracking
  • Asset management with valuation tracking and growth rules
  • Reports: Net Worth and Income vs Expenses with category sparklines
  • Bank sync via providers (Pluggy for Brazilian banks, Enable Banking for ~2500 European PSD2 banks, SimpleFIN for US and international banks, extensible)
  • Multi-currency support with automatic FX conversion
  • Multi-user support with admin panel and registration controls
  • Two-factor authentication (TOTP) with brute-force protection
  • AI Agents (optional): self-hosted LLM chat with tool-use over your data, plus a per-agent RAG knowledge base

Bank Sync (Optional)

Add credentials for any of the supported providers to .env, then restart with docker compose up. Configure one or both — each provider auto-registers when its credentials are present.

Pluggy — Brazilian banks

Sign up at pluggy.ai and add:

PLUGGY_CLIENT_ID=your-client-id
PLUGGY_CLIENT_SECRET=your-client-secret

Enable Banking — European banks (PSD2)

Sign up at enablebanking.com, create a Production application, and download its PEM private key. Save the PEM to ./secrets/ (gitignored), then add:

ENABLE_BANKING_APP_ID=your-application-id
ENABLE_BANKING_PRIVATE_KEY_FILE=/app/secrets/your-key.pem
ENABLE_BANKING_OAUTH_REDIRECT_URI=https://your-host/oauth/callback

The redirect URI must match exactly one of the Allowed Redirect URLs in your EB application. Production EB requires HTTPS — for local development, expose your frontend via a tunnel (ngrok, cloudflared) or use the EB sandbox.

Free tier — restricted mode. Enable Banking's free plan requires you to pre-link the accounts you want to import inside the EB portal before connecting from Securo. If you skip that step, the connection returns no accounts and Securo will surface a banner with a link to the portal.

SimpleFIN — US and international banks

SimpleFIN is a read-only open protocol. No API key needed — each connection brings its own credentials via a single-use Setup Token from the SimpleFIN Bridge. Just enable the feature:

SIMPLEFIN_ENABLED=true
SIMPLEFIN_API_URL=https://beta-bridge.simplefin.org   # sandbox; use bridge.simplefin.org for real banks

Then in Securo: Accounts → Connect Bank → SimpleFIN, and paste the token. The developer page gives out free demo tokens if you want to try it without a real bank.

Exchange Rates (Optional)

For automatic currency conversion, add a free Open Exchange Rates key to .env:

OPENEXCHANGERATES_APP_ID=your-app-id

Rates are fetched on-demand when foreign-currency transactions are created. Without a key, cross-currency amounts default to a 1:1 fallback rate with a visual warning.

AI Agents (Optional)

Self-hosted AI assistants over your Securo data — multi-provider (OpenAI, Anthropic, Ollama, OpenAI-compatible), tool-use via MCP, per-agent RAG knowledge base, ⌘J global chat panel.

Add to .env:

AGENTS_ENABLED=true
COMPOSE_PROFILES=agents

Then docker compose up -d. Settings → AI Agents to add a provider connection. Off by default; zero cost when off.

Tech Stack

Layer Stack
Backend FastAPI, SQLAlchemy, Alembic, Celery
Frontend React, TypeScript, Vite, Tailwind CSS
Database PostgreSQL
Queue Redis + Celery

AI-Assisted Development

Parts of this codebase were built with help of AI. All code is human-reviewed and no data leaves your environment.

Development

# Run backend tests
docker compose exec backend pytest

# Rebuild after dependency changes
docker compose up --build

Contributing

See CONTRIBUTING.md for guidelines.

License

This project is licensed under the GNU Affero General Public License v3.0.

This means you can freely use, modify, and distribute this software, but any modifications — including when used as a network service (SaaS) — must also be released under the AGPL-3.0.

About

Open-source personal finance manager. Self-hosted, privacy-first.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors