Open source · Local-first · Cross-platform

Personal finance, encrypted and local.

A desktop app for Windows, macOS and Linux. Your data stays on your machine, encrypted with AES-256-GCM. No servers, no tracking, no account.

Main Finanzas panel showing Today, History and Analysis views
14,294
Lines of code
6
Built-in themes
6
Live currencies
100%
Local · no servers
Features

What's inside

The pieces that define the day-to-day. All of it is open source.

06
Analytics panel

Today, History and Analysis

Three connected views with hand-crafted SVG charts: sparklines, treemap, dual-bars, progress ring, heatmap.

Encryption

AES-256-GCM, local

Master key derived with SHA-256. Data is encrypted on disk. The key never leaves your machine.

Multi-currency

Live exchange rates

ARS, USD, EUR, USDT, BRL, GBP. Argentine official and blue rates via dolarapi.com. Tabular numerics everywhere.

Multi-theme

7 built-in themes

Warm dark, deep warm, midnight, slate, amber, sand and light. CSS variables, hot swap.

Vault

Credentials with TOTP

RFC 6238 implemented by hand, no external libraries. For passwords, API keys, .env and SSH keys (Dev Mode).

Shared

Splitwise-style expenses

Built-in splits, debts and settlements. You don't need a separate app.

Encryption

Your data doesn't leave your machine.

The file on disk is encrypted with AES-256-GCM. The master key is derived from your password with SHA-256 and only lives in memory while the app is open. No server can read your data because there is no server.

  • No server: nothing to breach remotely.
  • No third-party telemetry or analytics.
  • Portable backups: your encrypted file, wherever you want.
01
Encrypted file
AES-256-GCM on disk
02
Master key
Derived via SHA-256, in memory
03
Runtime data
Only decrypted during the session
Themes

6 themes, hot-swap

Hover to preview. Click to pin.

06
Demo

A minute inside

A quick walkthrough of the main views.

Stack

How it's built

No heavy UI frameworks. No backend. No weird dependencies.

React 18Strict TypeScriptTauri 2RustViteAES-256-GCMCustom SVGCSS variablesManrope