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 logWhat’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.