Since 0.5.0.
A lender or a KYB team receives a company's documents: formation papers, a Form W-9, bank statements, a tax return. Someone reads them one by one to answer the same questions every time. check_package answers them on the machine where the files already are, and cites the file, page and exact line for each answer so a person can check it in seconds.
It prepares the review. It does not approve, decline or score anyone.
What it checks
| Check | Fails when | Status if it cannot check |
|---|---|---|
| Required documents | A document the profile needs is not in the package | missing |
| Legal name | It differs between documents («Inc.», «INC» and «Inc» count as the same) | missing with fewer than two documents |
| EIN | Two documents carry different EINs | missing |
| Statement balance | Beginning balance + deposits − withdrawals ≠ ending balance | missing if a figure is absent |
| Running balance | A transaction row's change in balance is not its amount | not reported without a transactions table |
| Deposits vs. return | Annualized deposits are outside 0.5–2× the gross receipts (the message states the one-statement-per-month assumption) | — |
| Edited files | info: statement or return saved by an editor or word processor, modified after creation, changes appended after the first save, or a figure drawn in a font the other figures do not use | — |
Anything it cannot verify is reported as missing, never as pass.
Profiles: kyb (formation document, W-9, bank statement) and lending (also a business tax return).
Use it
From an agent (MCP), read-only:
{ "tool": "check_package", "arguments": { "paths": ["applications/acme"], "profile": "lending" } }
From a terminal:
sirdas paquete applications/acme --perfil lending
Privacy
The real values are compared locally. The result is then anonymized as a whole, with one map: the model sees [TAX_ID_1] against [TAX_ID_2] and knows the EINs differ without seeing either. A person at the terminal can pass --no-anonymize to see the values.
Combine it with an access policy (SIRDAS_POLICY) to decide, per agent, which fields of which document types it may receive at all.
Limits
Tested on synthetic documents; real packages will find formats the rules do not know yet. Document types today: Form W-9, Forms 1120, 1120-S, 1065 and Schedule C, certificates or articles of incorporation and organization, certificates of good standing, US bank statements and invoices. The edit signals are reasons to ask the issuer for the original, not proof of fraud.