[Source](https://sheaf.us/)

# Subject: Frontier document intelligence for everyone

Dear Friend ( or Friend-to-be),

Store, extract & **talk to your documents**.

Yes. All of them.

 The wet‑ink scans. The package of 32 docs merged into one 104‑page PDF.

 Or the stack of 750 forms you receive weekly.

 The 312 due-diligence files for that project?

Everything gets analyzed, named and transferred to markdown (it’s sort of like text) and **cited to the pixel** on the original page.

Next time you ask a question, **it’ll show a box highlighting** the exact
 word, on the page it’s pulled from.

What’s even better, all the questions you ask over and over on each project get
 automated and become **a new section called “Facts”**. Yes, before you even ask.

Need an additional document?

 **Just send the request link** and the doc will be uploaded and analysed automatically.
 No need to receive it in your email and upload it yourself.

Hopefully we can save you a bit of time, so you can be with your family more.

[*Jonathan*](https://www.linkedin.com/in/jonathannovotny/)

PS.

 If there’s anyway we can make this better for you,... You know the
 [drill](contact.md)

P.P.S.

 Our codebase is for sale. Get a fully-licensed copy to edit, resell or host on your own
 server.

 Yes. We’re affordable. Welcome to the new world of custom software.

And yes, that too. We can manage, update or customize it for you. No problem. :)

Setup a demo workflow for me

How agents connect

Or inspect a finished case

## Make friends with your documents again.

Engineered for:

Cadence Bank

Old National Bank

Webster Bank

Hanover Insurance

Cincinnati Financial

Stewart Title

01 / INTAKE

## Accept & analyze original docs. Flag anomalies.

One PDF goes in. Sheaf finds where each document starts and ends, names it, and
 checks it against your expected document list. You get a manifest — 43 documents, their page
 spans, what is missing — before a single field is read.

2026-04-30_LYNN-ANNE-ENGLISH.PDF

412 pages · 43 documents found

- pp. 1–6

  URLA — Form 1003

  required
- pp. 7–9

  Lender loan information

  required
- pp. 10–12

  Credit report — soft pull

  required
- pp. 13–28

  Bank statements — 3 accounts

  required
- pp. 29–31

  Unlabelled scan

  reads as title commitment
- —

  Certificate of insurance

  not in this packet

Nothing below this line has been parsed yet

You are never billed for reading a pile you would have rejected on sight.

02 / CRITERIA

## Define required docs & fields. Name what’s missing.

An expected document list is a checklist of document types, each with a schema — the fields
 Sheaf should pull from that type. Every document found in the packet is matched to
 the checklist, then read for its fields. Whatever is missing gets named: no
 certificate of insurance in the packet, no ending balance on a bank statement.

Expected documents Purchase loan · California

- URLA — Form 1003

  signed
- Credit report

  under 90 days
- Bank statements

  3 months
- Certificate of insurance

  current term
- Government ID

  unexpired

Schema Bank statement

- account_holder

  string
- period_start

  date
- period_end

  date
- ending_balance

  currency
- nsf_count

  integer

Change the list and the whole corpus re‑scores against it. Nothing is read twice.

03 / GROUNDING

## Fingerprint every page. Drill to the exact pixel.

Every value carries its page and a four‑number box — $9,502.93, page 3 of 6.
 Any number drills straight back to the pixel it was read from.

What comes back for one field

**label**

Borrower — monthly income

**value**

$9,502.93

**page**

3 of 6

**box**

0.612, 0.284, 0.788, 0.301

**grounding**

pdf‑text‑layer

**Absence is a value.** A field your schema asked for and the
 document did not contain comes back marked not‑stated. You can query it.

Technical detail
 Why a value has to point at a page, and what an agent gets when it does
 Read the spec →

04 / REVIEW

## Human‑in‑the‑loop review: building custom intelligence.

Three decisions per document — page span, requirement match, field values —
 each confirmed or redirected from the keyboard. Redirects are the training signal.

The Sheaf review room. A packet is open at URLA Form 1003, pages 1 to 6 of 43 documents, with page thumbnails across the middle, a filing panel on the right showing approve, request new version and reject, and a list of six page decisions each marked inherited good.

Every stage on one screen

The scan itself, not a summary

Approve, or send it back

A decision on every page

43 documents, re‑cuttable

*Page decisions read *inherited good* where an earlier human
 decision already covered those exact pages.
 Approving is what files the document. Each decision is bound to a page span,
 so re‑cutting the boundaries around it changes nothing.*

TRY IT

## Open a finished case. One click.

Pick a packet and it opens in the review room, in a new tab, already analyzed.
 Approve, reject, re‑file, ask the assistant. No form to fill in: a workspace of
 your own is made as you click, and this page stays where it is.

05 / LEARNING

## Correct it once. It never comes back.

Every correction is kept with who made it, what the engine proposed, and the pages it
 covered. Where the human departed from the machine is the signal. Two independent
 reviewers agreeing promotes a rule. One person clicking forty times does not.

1. Observed

  A reviewer settles something the engine was not sure about.
2. Corroborated

  A second reviewer, independently, settles it the same way.
3. Promoted

  It stops reaching the queue. Sheaf applies it and cites the two decisions that made it.
4. Retired

  A later contradiction takes it back out, and the question returns.

Learned from your reviewers 1,140 decisions

- Prior‑year W‑2 offered against a current‑year requirement

  applied 212×
- Unlabelled scan that reads as a title commitment

  applied 341×
- Bank statement missing its final summary page

  applied 96×
- Any file above the $2M authority line

  never automatic

What is learned stays inside your organisation and is never pooled.

06 / CORPUS

## Then ask all of it at once.

Reading already happened, so a question is a lookup. What is missing, where two
 documents disagree, what your own average is — 3,914 files, 61 milliseconds.

Where were we invoiced above the rate we signed?

- Meridian Freight

  +$4,120

  RC‑4471 p.1 · INV‑88213 p.2
- Cross Valley Haulage

  +$3,880

  RC‑4402 p.1 · INV‑87994 p.1
- Ridgeline Carriers

  +$2,940

  RC‑4519 p.2 · INV‑88407 p.3

6 discrepancies · 3,914 files read$16,765 · 61 ms

The model receives two kilobytes of facts instead of four hundred pages. Reading
 ten thousand files to answer the same question would be two billion tokens.

07 / ACCESS

## We did not build the chat window.

Sheaf ends in the corpus. A person, an agent, or your own software asks the same
 question and gets the same answer, with the same pages behind it. No seat to buy.

A person

### Opens the review room.

Clicks a figure, lands on the page it was read from, approves it.

An agent

### Brings its own.

Claude, Codex, whatever you already run. Same corpus, same citations,
 no account for you to administer.

sheaf ask "missing COI on open work orders"

Your software

### Makes one request.

No session to keep alive, no browser, no seat to buy.

GET /api/data/query?q=…

All three get the same answer

Yes — 3 of 208 invoices billed above their agreed rate.

- Invoice #4417

  p.1

  $667.00

  +118 over
- Invoice #4392

  p.2

  $1,240.00

  +305 over
- Invoice #4390

  p.7

  $3,502.00

  +3,987 over

An answer, with the pages it stands on.

Point it at the pile. That is the whole configuration.

## What document work actually requires

### [Page-level citations](citations.md)

Every extracted value carries the file, page and span it came from. An answer you cannot walk back to the page is an answer you cannot defend.

### [Scanned and photographed documents](scans.md)

Real work arrives as a scan of a print of a fax. A page with no text layer is the ordinary case here, not the exception that gets routed to a person.

### [Knowing what is missing](missing.md)

Completeness is the question most systems never answer. Sheaf names the requirement that nothing satisfied, which is usually what is holding the file up.

### [Audit trail and reviewer decisions](audit.md)

Every automatic outcome points back at the human decisions behind it, so an auditor can walk from a value to a page without leaving the record.

### [Security and data handling](security.md)

Every request is checked against the role that made it, records age out on a fixed retention window, and each value stays traceable to its page.
