Document intake and income verification
The agent extracts. It does not decide.
What goes wrong
Document spreading is where agents landed first, because the work is high-volume, tedious and looks safely mechanical. It is the least regulated thing in the stack right up until the moment the agent stops describing a paystub and starts drawing a conclusion from it.
The failure is quiet. An extraction agent that returns a risk_grade, a suggested limit, or a reason the file should be declined has become a credit decisioning model. Nobody filed a model card for it, nobody validated it, and its output flows into an underwriting decision that now carries an ECOA adverse-action obligation that no one has met.
The second failure is louder but easier to miss in aggregate: a confidently wrong number. OCR that reads $8,200 as $82,000 does not throw an error. It produces a clean, well-formed, entirely false income figure, and the ability-to-repay determination built on it inherits the error without trace.
Who runs this today
- Mortgage and consumer lenders running income and asset verification against paystubs, W-2s, bank statements and tax transcripts.
- Commercial lenders spreading financial statements into a standardised template.
- Anyone who has wired a general-purpose model into an intake queue and is relying on the prompt to keep it in its lane.
Which controls apply
6 rules ship with the DOCUMENT_INTAKE template. Every
threshold is a number from a published rule, so a model-risk reviewer can
read the value and open the CFR rather than asking how it was fitted.
None of these rules decides credit.
| Control | Authority | Verdict |
|---|---|---|
| Extraction Agent May Not Decide Credit A document agent that emits an approval, a denial reason, a limit or a rate has silently become a credit decisioning model, with the ECOA and SR 26-2 obligations that follow. Scope is enforced, not assumed. | 15 U.S.C. 1691(d) | BLOCK |
| Income Documentation Present Reg Z requires verification of income using third-party records; an intake result missing them cannot support the ability-to-repay determination downstream. | Reg Z 12 CFR 1026.43(c)(2)(i) | BLOCK |
| Stated vs Verified Income Variance Within 25% A wide gap between stated and verified income means the stated figure cannot be relied on, and is a standard misrepresentation signal. Routed to a human rather than blocked -- the variance may be legitimate (bonus, seasonal, multiple employers). | Reg Z 12 CFR 1026.43(c)(2)(i) | ESCALATE |
| Income Documents Within 60 Days Standard investor and agency requirement that income documentation be current at underwriting. | Reg Z 12 CFR 1026.43(c)(2)(i). | FLAG |
| Extraction Confidence At Or Above 0.85 Low-confidence OCR output is the most common source of silently wrong income figures. Below the floor the extraction goes to a human rather than downstream. | Reg Z 12 CFR 1026.43(c)(2)(i) | ESCALATE |
| No Full SSN In Extraction Output GLBA safeguarding: the downstream consumer of an extraction needs the last four digits, never the full identifier. | 16 CFR 314) | BLOCK |
What the evidence looks like
The sample below is a real ESCALATE. Stated income was double the verified figure -- past the 25% review tolerance -- so the decision went to a human rather than being blocked outright, because a legitimate borrower with bonus or seasonal income looks exactly like this.
Sample evidence bundle
A real bundle from this template, exported through the same endpoint a customer would use. It carries the decision, the failed rules with their reasons, and the hash-chained audit events. You can verify it yourself without installing anything from us — the verifier is standalone and imports nothing from Sentinel.
A sensible pilot
The other three
The same gate governs all of them. Start where a wrong answer is recoverable, and move to credit decisioning when the evidence earns it.
Start in shadow mode
We are taking three design partners. Every deployment starts in OBSERVE, which evaluates everything and enforces nothing, so the first month costs you a report rather than a risk.
See the programme