Security and data flow
Written for the skeptical reader: your IT consultant, your malpractice carrier, your client's outside counsel guidelines. Everything on this page is verifiable against the open source code.
Every network call the app makes
| When | What | Contains |
|---|---|---|
| Setup, once, user-initiated | Model download through your local Ollama from the Ollama registry | No user data. The download is verified against pinned checksums. |
| At most once a day, optional | Update check: one GET to the GitHub releases API for the latest version number | No user data, no document data, no machine identifiers. Turn it off in Settings and docuchat makes no calls you did not click for. Updates are never downloaded or installed without your click. |
| Only when you click Update | Downloads the new signed app from the GitHub release | No user data. The download's code signature is verified against docuchat's developer identity before a single file is replaced; a failed check changes nothing. |
| Only for connections you create | Connectors you switch on (for example Gmail, Notion, Zoom, Fathom) call that service's API to pull YOUR documents IN when you connect, click Import, or leave sync on | Your API key travels only to the service it belongs to, and is stored encrypted on this Mac (deleted when you disconnect). Documents flow one way: in. Nothing about your questions, answers, or files goes out. No connections created = no calls, ever. |
| Everything else | Nothing | The question-answering path, document storage, search, and OCR make no network calls. All services bind to 127.0.0.1 (this computer only). There is no telemetry, no crash reporting, and no account. |
Verify it yourself: after setup, turn networking off entirely (airplane mode or pull the cable). Upload a document, ask questions, run a digest. Everything keeps working, because nothing needed the internet.
This website is not the app
Everything above describes docuchat, the application on your computer. This public website is an ordinary marketing page and is a different thing entirely. It loads web fonts, a booking link, and privacy-friendly product analytics (PostHog) that counts page views and which buttons get clicked, so we know whether anyone is finding this. There are no session recordings, no keystroke capture, and no reading of anything you type. If your browser sends Do Not Track, we record nothing at all. The contact form's contents are relayed to our email and used only to answer you.
None of that touches the app. The app you download has no analytics, no telemetry, and no crash reporting, and it never reports what you asked or what your documents say. The website can count that a stranger clicked Download. It cannot see a single thing that happens after you open docuchat, and neither can we.
What "verified" means, exactly
Every quoted passage in an answer is checked, character for character, against the text of the cited document before it is shown. A quote that does not appear in the source is rejected by code, not by the AI grading itself. Citations point to the exact page and passage; for transcripts, the page and line numbers are computed from the verified quote's position, never guessed by the model.
What it does not mean. Verified means the quote is really in your document. It does not mean the statement is legally correct, current, or complete, and it does not mean the answer found everything relevant. docuchat locates and summarizes what your documents say; you verify legal conclusions yourself. It is not an AI lawyer and gives no legal advice.
Where your data lives at rest
Your documents, the search index, and your chat history live in files on your own disk under your own user account, and they are encrypted. The search index sits inside an AES-256 encrypted volume that is unlocked only while the app runs. The app database is encrypted with SQLCipher. Each matter's original documents are encrypted with that matter's own key. All keys live in the macOS Keychain, never in a file. The app also excludes these stores from Time Machine backups and Spotlight indexing so client text does not silently flow into backups or system search.
Encryption makes deletion provable. When you dispose of a matter, the app destroys that matter's encryption key, which makes its original documents unrecoverable even from old copies, and issues a Certificate of Disposition stating the method in NIST SP 800-88 terms: cryptographic erase (Purge) for the originals.
Honest status. The certificate never claims more than what happened: derived search data is deleted and compacted inside the encrypted volume, which NIST classifies as Clear, not Purge, and the certificate says so. Documents added before encryption shipped keep a Clear certificate unless re-imported. Keep FileVault on regardless; layered protection is the point, and backups or snapshots made before disposition remain outside the app's control.
Hardening that ships today
- All services bind to 127.0.0.1 only; the API rejects requests whose browser origin or host header is not local, which blocks the known ways a malicious web page reaches local services (DNS rebinding, cross-site requests).
- The app refuses to start an Ollama version with known security vulnerabilities and restricts which browser origins may talk to the Ollama it manages.
- Model downloads are verified against pinned checksums after download.
- The AI has no tools: it cannot browse, send email, file documents, or change anything. It can only read the passages retrieved from your documents and write text, which is then mechanically checked.
Reporting a vulnerability
Please report security issues to the contact in security.txt. We take reports seriously and will credit finders who want credit.
This page describes the software's behavior; it is not a compliance certification or legal guarantee. Last updated July 2026.