Security
Books that protect themselves
Letting an AI keep your books only works if the ledger cannot be corrupted. Here is exactly how LedgerMCP guarantees that, in plain language, with every claim enforced in the database or published as policy.
verify_books{
"business_id": "b_9f2…"
}Four rules the database enforces
Not app-code validations that a bug can skip, but constraints and revoked privileges in Postgres itself.
Every entry balances
Postings are permanent
Repeats are harmless
Balances are computed, never stored
The AI works inside a fence
AI assistants connect through scoped credentials: OAuth sign-ins they cannot escalate, or API keys you can make read-only. Every write lands in an append-only audit log with the actor recorded; anything that posted an entry is one click from reversed. Destructive actions like deleting transactions or accounts are human-only, in the web app.
And because the four invariants live in the database, the fence holds even against a malfunctioning agent: the worst a confused AI can do is post reversible, balanced, logged entries, which is a Tuesday, not an incident.
Append-only audit log
Read-only keys
Period locks
Human-only deletes
Infrastructure
Transport & sessions
Bank data
Accounts & keys
Tenancy & backups
Small attack surface
Report an issue
Your data is yours
Export everything to CSV in one click: transactions, general ledger, chart of accounts, tags, journal, and assets. We do not sell data, run ads, or train models on your books. The business model is bank-feed subscriptions, and that is the whole of it.
The promises are written down: privacy policy, data retention, subprocessors, and the rest of the policy set.
The deepest guarantee is structural: because the free tier is the product and export is always one click, we have to earn your business every month. A ledger you can leave is a ledger you can trust; the Bench story is what the alternative looks like.
Common questions
Is it safe to let an AI write to my books?
Safer than any alternative that accepts silent mistakes. The database rejects unbalanced entries, postings are immutable, retried requests cannot double-post, and every agent write is logged append-only with a one-click reverse. The AI works inside a fence the database enforces.
Can LedgerMCP employees edit my postings?
No. UPDATE and DELETE on postings are revoked at the database level for every role, including ours. Corrections only ever happen as new, linked reversal entries, which is exactly the property accountants and auditors want.
Do you see my bank password?
Never. Bank connections run through Plaid: you authenticate directly with your bank, and we receive only the data you authorize. The resulting access tokens are encrypted at rest with AES-256-GCM and never reach the browser.
What if an API key leaks?
Revoke it in Settings: instantly dead, and a new key is free. Keys are stored SHA-256 hashed (we cannot read them back), every action a key took is in the audit log, and anything it posted can be reversed. Read-only keys limit the blast radius to zero writes in the first place.
Is my data used to train AI models?
No. LedgerMCP ships no AI and never trains on your books. Your agent’s handling of conversation data is governed by your own Anthropic or OpenAI plan, the same terms as everything else you use it for.
Where does my data live, and who processes it?
In the United States, with a deliberately short list of providers: a managed cloud database and storage provider, Plaid (bank connectivity), a cloud application hosting provider, and Resend (email). The full list with roles is published at /subprocessors, and retention schedules at /data-retention.
Trust, then verify
Start free, post a few entries, run verify_books, and read the audit log yourself.