A field manual for legal engineers who have been burned by confident wrong answers.
Three things most legal AI products get backwards:
Documents leave your machine before you get an answer.
The model talks first, citations get stapled on later.
"Page 47" counts as verification.
Picard OSS flips all three.
It is an open-source, local-first legal document assistant: upload PDFs, search with BM25 or multi-constraint CARP, chat with citation-grade answers, run tabular extraction across a matter, and click any [N] marker to jump to the exact bounding box on the source PDF. When retrieval finds nothing, Picard refuses. No LLM call. No improvisation.
Repo: (enterprise SaaS)
Current release: v0.2.0
You can run it from source, Docker, or a native installer. No Supabase. No Neo4j. No "trust our cloud with privilege."
Chapter 1: Your machine, your matter
Everything that matters stays under .picard-data/ on disk:
.picard-data/
├── picard.db # chunks, FTS5, entities, chat, tabular
├── pdfs/ # raw PDF bytes
└── models/ # fastembed ONNX, optional GLiNER / Presidio
Parsing, OCR, indexes, and PDF storage are local. The only optional outbound traffic is your LLM provider (OpenAI, Anthropic, etc.) or fully local Ollama. Documents do not egress for search, indexing, or viewing.
liteparse extracts layout-aware chunks with normalized bounding boxes. Digital PDFs parse at 150 DPI. Scans route through local PaddleOCR (optional sidecar) or Tesseract at 300 DPI. Every citation downstream inherits spatial provenance from day one.
One command for developers:
git clone https://github.com/iamsaurabhc/picard-oss
cd picard-oss
cp .env.example backend/.env
./scripts/start.sh
# → http://localhost:3000
Or skip the terminal entirely. See Chapter 6.
Chapter 2: Evidence before eloquence
Picard inherits an evidence contract from production legal AI at . A manifest.json on gh-pages powers in-app updates (Tauri updater + Settings update check) and the
SOCIAL SHARE CARD GENERATOR