Brook
The exception handler for Plaid.
When the bank connection fails, Brook collects the borrower’s statement, reads it, and returns it in Plaid’s exact schema. The lender recovers the applicant they were about to lose.
The leak
A lender pays to acquire an applicant, walks them to the bank-connect step, and the connection fails. The applicant leaves. The acquisition cost is already spent, and nothing downstream ever sees the file.
Most teams treat that as a conversion number. It is a recoverable population.
How it lands
- 01 · TRY
Try the aggregator as you do today. Brook fires only when the connection fails.
- 02 · COLLECT
An in-page upload widget, or a durable emailed link when the borrower has to go and find the statement.
- 03 · READ
Brook reads the statement and returns it in the aggregator’s own schema. Nothing downstream changes.
- 04 · CERTIFY
Every certified read carries a tamper-checked certificate of provenance, defensible to an auditor.
What you get
- Identical schema
- Drop-in. Your models and decisioning already eat this shape.
- Pay on success
- It bills only when a statement is verified. A failed recovery costs nothing.
- Across aggregators
- Works behind Plaid, MX and Finicity.
- Zero retention
- Statements are purged after processing. VPC and self-host are available.
Who it is for
Companies that use a bank connection as a gate to a transaction, where a failed connect is a lost funded loan or activation: heads of credit, risk and lending; cash advance and earned-wage products; small-business bank-statement lenders; BNPL on cash flow. Sharpest where the bank read is the product.
What Brook does not do
- It does not replace your aggregator. It is the exception path. When the connection works, Brook is never called.
- It does not keep the statement. What persists is the certificate and the structured read, not the borrower’s document.