Summarize and query your own bank statements
A start-to-finish example of the dacular vault: drop a folder of PDFs on your Mac, index them, and ask open-ended questions — "how much did I spend on travel last year?", "when does my insurance renew?" — answered by a frontier model that writes code but never sees your data. Everything runs on Apple Silicon; the documents and the answers stay on the machine.
⚠︎ Experimental. This is an early research flow — the pieces are moving and it isn't ready to trust with data that truly matters yet.
Gather your documents
Export your statements from your bank or insurer's website as PDF and
drop them in a folder — say ~/vault. Bank exports are
digital PDFs (a real text layer), which is exactly what the
extractor reads. CSVs and Markdown notes work too. Nothing is uploaded
anywhere; this folder just sits on your disk.
No data of your own to test with? Grab the sample vault — a few fictional statements, an insurance policy, and a vehicle registration:
git clone https://github.com/dacularapp/dacular
cp dacular/examples/vault/*.pdf ~/vault Install dacular
Install the dacular CLI via Homebrew:
brew install dacularapp/tap/dacular Set up the vault
One command installs the whole stack — the inference server (a chat model that reads your documents and an embedding model for search, both served from one port), the headgate harness, and the dacular vault — reusing anything already installed:
dacular install dacular bundles everything it needs — the millrace inference server, the headgate harness, and the local vault site — installing each only if it isn't already there.
Index your vault
Point dacular at your folder. It chunks each file, embeds the chunks locally, and stores the vectors in an on-device LanceDB index — only you ever see the contents:
dacular index ~/vault
dacular's manifest is the only thing the frontier
model is ever shown — aliases like file_0 [pdf] and
col_2, never names, values, or paths.
Ask
Open the vault chat — it brings the server up, launches the chat UI, and points your browser at it. Type a question and the frontier model writes a small program that searches your vault and reads the real text with the on-device model; the answer is computed locally.
dacular start # opens http://localhost:10000 Prefer the terminal? A one-shot:
dacular ask "When does my car insurance renew?" Your car insurance renews on 2026-09-15. Done for the day? dacular stop shuts the
whole stack back down.
Why this is private
The powerful model is treated as an untrusted code generator,
not a data processor. It sees the shape of your vault
(the aliased manifest) and writes code; the code runs locally, in a
network-denied sandbox that can reach only 127.0.0.1. The
on-device model is the only thing that reads real content, and the
answer is printed on your machine. Your statements never leave the Mac,
and never reach the frontier model.