Security architecture

The local-first, zero-egress AI architecture.

A plain-English and technical breakdown of how PrivateDocs AI keeps document ingestion, vector search, and LLM inference entirely on your hardware — and how to verify it.

The four guarantees

What we mean by “local-first”

These aren't marketing claims — each one maps to a concrete component running on your machine.

Local-first by design

After license activation and the initial model download, PrivateDocs AI can run on a machine that is fully air-gapped. There is no recurring heartbeat or scheduled license check that interrupts your work.

Local ChromaDB execution

A pinned, embedded ChromaDB runs in-process. There is no external database service to deploy, no network port to expose, and no off-device replication.

Local Ollama execution

A managed Ollama runtime performs inference on your hardware. The app auto-starts and health-checks the runtime — no Docker, no Python, no terminal required.

Zero-egress posture

Your documents, prompts, and responses are not sent to us, to Supabase, to Stripe, or to any model API for AI processing. Account, licensing, billing, and optional update services remain separate.

Data flow

The path a document takes

Every step below happens on your machine. The only network path is the optional update and license check, which never carries document or chat content.

1. Native desktop app

You install a signed macOS or Windows binary. The UI is local; the model and vector store live in the same process tree.

2. Document ingestion

Files are parsed, OCR'd, and chunked on your machine. Chunks and embeddings are written directly into the local ChromaDB vault.

3. Local inference

When you ask a question, the retrieved chunks and your prompt are sent over a local IPC channel to the bundled Ollama runtime — not the internet.

4. Local persistence

Chat history and citations are written to the same local vault. Exportable, deletable, and never mirrored off-device.

Cloud LLM APIsNo document or chat-content egress, ever.

Offline claims, mapped to components

Each claim is a concrete local component

Zero egress for AI workloads

Document content, embeddings, prompts, and model responses never leave your device. There is no API call to a cloud LLM during normal chat or indexing.

Local vector vault

Embeddings are stored in a bundled, on-device ChromaDB instance. There is no hosted vector database and no off-site replica.

On-device inference

LLM inference runs through a bundled Ollama runtime on your own CPU/GPU/Apple Silicon. No inference request is sent to any third party.

OS-level encryption

Your vault folder inherits macOS FileVault or Windows BitLocker. We do not add our own encryption layer that could be bypassed by us.

Network transparency

Exactly what touches the network — and what doesn't

IT teams can allowlist these endpoints and block everything else. Document and chat content never appears in any of them.

What does touch the network

  • Initial sign-in and MFA (Supabase Auth)
  • License activation and validation
  • Billing through Stripe
  • Optional app and model updates (Ollama pulls)

What never touches the network

  • Document content and file names
  • OCR text and document chunks
  • Vector embeddings and ChromaDB queries
  • Your prompts and chat responses

Verify it yourself

Run any network inspector while you chat with a confidential document. You will see connections only to auth, billing, and (optionally) update endpoints — never to a model API carrying your content.

Recommended tools
Little Snitch (macOS) · GlassWire (Windows) · Wireshark

The local stack

Open-source components, packaged and pinned

We don't reinvent the wheel. We bundle the same battle-tested open-source stack you might assemble yourself — signed, pinned, and updated as a single native app.

Ollama runtime

Managed local inference engine. Pulls Llama 3, Mistral, DeepSeek, Qwen, and more — directly into your local registry.

ChromaDB

Embedded, in-process vector store. Your vault is a folder on disk — no external database service, no network port.

Local OCR + chunking

PDF, Office, and image ingestion runs entirely on-device. No document is uploaded for parsing or embedding.

Architecture FAQ

The technical questions IT teams ask

What exactly does "offline after setup" mean?

Once your license is activated and your initial models are downloaded, the desktop app can run on a machine with the network cable unplugged. Document parsing, OCR, embedding, vector search, LLM inference, and chat persistence all run locally. The app does not require an ongoing connection to function.

Is ChromaDB actually running on my machine?

Yes. PrivateDocs AI bundles a pinned, embedded ChromaDB instance that runs in the same process tree as the app. Your vault is a folder on disk — there is no hosted vector database, no network port, and no off-site replica. You can back it up, move it, or delete it like any other folder.

Where does Ollama run, and who controls the models?

Ollama runs as a managed local runtime inside the app. The app starts it, monitors its health, and restarts it if needed. Models are pulled directly into your local Ollama registry from inside the app — you can also bring models you already have. There is no inference call to a third-party model API.

How is AI egress prevented?

Architecturally, the AI inference path (document chunks, embeddings, prompts, model responses) never connects to PrivateDocs AI, Supabase, Stripe, or any external model API. The only network calls the app makes are for account sign-in, license validation, billing, and optional updates — none of which carry your document or chat content. You can verify this with any network inspector (e.g. Little Snitch, GlassWire, or Wireshark).

Can my IT team audit this?

Yes. The vault is a regular folder governed by your existing FileVault/BitLocker policy and DLP rules. Network behavior is limited to known auth, billing, and update endpoints that IT can allowlist. There is no shadow infrastructure or shadow API to discover.

Make your next security review easier with a clear local AI boundary.

Try the full offline architecture on your own hardware. 7-day free trial, no credit card required.