Skip to content

Where your files live

By default, everything lives under ~/.open-net-worth/ (override with the environment variables DATA_DIR/CACHE_DIR/LOGS_DIR).

~/.open-net-worth/
├── data/
│ ├── onw.db # everything: accounts, transactions, budgets, holdings,
│ │ # settings, Lucius's memory — one SQLite database
│ ├── files/ # original files + what was extracted from them
│ │ ├── attachments/ # statements, receipts, and images you've uploaded in chat
│ │ ├── receipts/ # transaction receipts
│ │ ├── statements/ # imported statement files + their parsed data
│ │ └── artifacts/ # documents Lucius has generated for you
│ ├── checkpoints/ # the data behind AI-turn rollback/undo — separate from files/
│ ├── backups/ # daily full-data disaster-recovery snapshots
│ └── sessions/ # reserved; not currently used for storage
├── cache/
│ ├── fx_cache.json # last-known exchange rates
│ ├── models_cache.json # \
│ ├── sectors_cache.json # > rebuildable provider-response caches —
│ ├── names_cache.json # > safe to delete any time, the app just
│ ├── monitoring_price_cache.json # > re-fetches on next use
│ ├── briefing_cache.json # /
│ ├── favicons/ # cached connector/site icons
│ └── codex-home/ # isolated config for a spawned Codex CLI session, if used
└── logs/
└── app.log # the application log

What’s actually your data

Practically everything that matters is data/onw.db and the folders under data/files/ — back up those by hand if you’re not relying on the built-in daily backup. cache/ is disposable: delete it and you just get a slower next read (prices and rates re-fetch), never data loss.

What used to be here, and isn’t anymore

Looking at an older instance, or older docs? You may see references to dozens of individual .json files under data/ (accounts.json, transactions.json, and so on) — those were migrated into onw.db. A single database is now the source of truth for everything except the genuinely file-shaped things (attachments, receipts, backups, caches) listed above.