Document intelligence · self-hosted
Every value,
proven.
Quilldoc extracts structured data from any document and grounds every field to the exact place it came from. No supporting evidence? Then no value — we don't invent.
Runs on your hardware — air-gapped if you need it. No per-page fees.
MERIDIAN AUTO SUPPLY
14 Ridgeway Ind. Park
0
invented values
ungrounded fields are withheld, not guessed
100%
field grounding
every value cites its evidence on the page
$0
per page
self-hosted on your GPU — no metering
1 box
to deploy
a single GPU server, air-gap optional
How verification works
Extraction is easy.
Evidence is the product.
Anyone can call a model. The hard part is telling you which values are trustworthy — and refusing to guess the rest.
Ingest
Drop in PDFs, scans, or photos. OCR runs locally; nothing leaves your network.
ocr: local · egress 0Extract
Fields defined by your schema are pulled by a task-specific model, not a chat prompt.
schema.total_amount → 12,480.00Ground
Every value is anchored to a bounding box on the source page. No evidence, no value.
evidence: page 1 · bbox [412, 704, 486, 719]Verify
Low-confidence rows land in a human review queue. Everything else ships as JSON.
0.58 → review queueBenchmarks
We measure on the documents
you actually process.
Grounding is structural, not a marketing number: any value we can't anchor to a box on the source page is withheld, not scored — so every returned field cites its evidence. Per-field precision is validated on your own corpus. If a category isn't measured, we say so.
| Doc type | Grounded | Per-field precision |
|---|---|---|
| Invoices | 100% | on request |
| Purchase orders | 100% | on request |
| Bank statements | 100% | on request |
| Contracts (clause) | 100% | on request |
| Handwritten forms | 100% | on request |
“Grounded” = share of returned fields anchored to a bounding box on the source page. We share per-field precision validated on your documents — we don't publish numbers we can't reproduce on your corpus.
The fork
Cloud accuracy or your own walls.
Pick both.
Cloud document AI makes you choose: their newest models in their cloud, or their oldest models in your building. Quilldoc collapses the fork — modern extraction, owned open-weight models, severed network.
| Cloud document AI | Quilldoc | |
|---|---|---|
| Modern VLM extraction | yes — in their cloud | yes — on your box |
| Runs fully air-gapped | legacy models only, if at all | the same models, weights included |
| Refuses to invent values | confidence scores at best | ungrounded fields withheld |
| Pricing | $10–30 per 1,000 pages + minimums | your GPU. that's it |
Deployment claims verified against vendor documentation, July 2026. Azure's newest extractor is cloud-only; its air-gap containers run pre-LLM models with volume minimums. Google's air-gapped cloud excludes its structured-extraction processors.
Sovereignty
Your documents don't
leave your building.
Quilldoc is a container you deploy. Not an API you call. Not a vendor you send your invoices to.
Runs on your GPU
A single A100 or L40S is enough for most workloads. Scale horizontally if you need to.
Air-gap optional
No outbound calls, ever. Model weights ship in the container — cut the wire and it still works.
Auditable
Deterministic outputs. Every extraction logs the exact bounding box it was pulled from.
See it work on a document
you actually care about.
Drop a PDF, watch every field extract with its confidence and evidence citation. Two minutes.