Extract cells bound to the source bytes — and alarm on drift.
Document extractors fail silently — a changed layout returns a confident wrong cell. at1 docextract learns a template from sample reports, extracts each cell bound to its page and byte offset with a certificate, and trips a drift alarm when a document stops matching its template — so a layout change becomes an alert, not a bad number in your ledger.
- bound to source
- each extracted cell carries its page + byte offset in the original
- certificate
- a signed record of exactly where every value was read from
- drift alarm
- when a document stops matching its template, it trips — not lies
- learn from samples
- a handful of example documents defines the template
Learn a template
Show it a few of the same statement or report and it learns where each field lives. No per-vendor code — one inference path over your sample documents.
Extract with provenance
Each cell comes back bound to its page and byte offset in the source, with a certificate — so a disputed value can be traced to the exact spot it was read from.
Trip on drift
When a supplier changes their layout, the document stops matching its template — and the alarm trips, instead of the extractor confidently returning the wrong cell.
The workflow
# learn a template from a few sample documents of the same kind at1 docextract learn samples/*.pdf -o statement.template # extract cells bound to page + byte offset, with a certificate at1 docextract extract statement.template invoice_2026-07.pdf -o cells.json # verify a prior extraction, and trip the drift alarm if the doc no longer matches at1 docextract verify statement.template invoice_2026-07.pdf
Honest scope
This is strongest on consistent, templated documents — the same statement or report from the same source. It reads what the source actually contains and binds it to bytes; it does not correct a value that was wrong in the original. The drift alarm is designed to fire when structure diverges from the learned template rather than return a silent wrong cell — the right check is your acceptance test on real data — feed it a genuinely re-laid-out document and confirm it alarms. Validated on synthetic templated documents; partner acceptance on real statements is pending.