Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for TrustRail
Inspiration
Payment-diversion fraud often arrives as a small, plausible document change: an invoice total is slightly above the purchase order, or remittance instructions use a new domain. OCR can extract the text, but it does not preserve a defensible decision. TrustRail keeps extraction, deterministic controls, live external evidence, and the human release decision in one replayable record.
What it does
TrustRail accepts an invoice and purchase order, extracts schema-defined fields, compares the documents against explicit control rules, and searches the changed remittance domain in real time. It highlights the exact reason a payment should stop, lets a human reviewer make the final choice, and generates a signed packet containing file hashes, extracted facts, control exceptions, search evidence, timestamp, and reviewer role.
How we built it
- Nutrient DWS performs schema-grounded extraction from real PDFs and generates and seals the decision packet.
- SerpApi performs a live search using the vendor name and remittance domain extracted from the invoice.
- A deterministic rules engine compares invoice total with PO authorization, remittance domain with the vendor master, and invoice ID with a demo ledger.
- The browser surface exposes source-grounded facts and keeps the final action behind a human review gate.
Where the sponsor APIs do the real work
Nutrient DWS extracts and seals. It converts the source PDFs into fields the control engine can trace and produces the final signed document artifact.
SerpApi proves. The remittance domain is not hard-coded into the search request; it is extracted from the uploaded invoice and searched live, with the result snapshot and timestamp preserved in the packet.
Challenges
The hard boundary was making the system useful without turning it into an agent that autonomously releases or signs a payment. TrustRail separates evidence generation from authority: extraction and search can be automated, but the decision remains explicit, reviewable, and attributable to a human role.
What we learned
Grounding makes extraction reviewable, but it does not make every extracted value correct. Live search adds context, but it is evidence rather than identity proof. A trustworthy workflow keeps confidence, source hashes, provider timestamps, deterministic comparisons, and the human decision together instead of collapsing them into one opaque score.
What's next
Production work would add vendor-master integration, independent callback verification, ERP posting only after approval, retention controls, and role-based review queues. The payment-authorization boundary would remain human-owned.
Built With
- nutrient
- python
- rest
- serpapi
Log in or sign up for Devpost to join the conversation.