# ProofGate

- **Event:** [Agents in Context Toronto: a MongoDB Hackathon](https://cerebralvalley.ai/e/mongodb-toronto-hackathon)
- **When:** Sat, Nov 14 at 9:00 AM – 9:00 PM (EST)
- **Where:** Toronto, Canada
- **Team:** [SUKHMANPREET SINGH](https://cerebralvalley.ai/u/SukhmanAulakh), [Harrison Dsouza](https://cerebralvalley.ai/u/harrisondsouza), [Neil Saldanha](https://cerebralvalley.ai/u/NeilPatSal)
- **GitHub:** https://github.com/HarrisonDsouza/proofgate
- **Demo video:** https://youtu.be/lQ89g4JAezU
- **Gallery:** https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery
- **Page:** https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/61

Try to approve 50 claims in one click and ProofGate executes zero of them, then suspends you.

We built this because insurance companies are starting to let AI agents propose claim denials, with a human signing off on each one. ProPublica reported reviewers spending about 1.2 seconds per claim (the insurer disputes that number). If the human never opens the file, the review is fake, and a log written afterwards doesn’t change that.

Here’s how it works. Our agent proposes a denial and cites the documents it relied on. Before that denial can go through, MongoDB Atlas has to show that a licensed reviewer actually opened every one of those documents, for long enough. The server times the reading. We don’t trust the browser, so a client can’t just report “I read it for 30 seconds.”

All the checks (8 rules) run inside one Atlas transaction. If they pass, it creates a grant that works once and expires after 60 seconds. The claims system only changes a claim when it gets a valid grant. Without one it returns a 403 and logs the attempt.

If someone starts rubber-stamping, a change stream catches it while it’s happening. The reviewer gets suspended, their grants are revoked, anything they approved that hasn’t run goes back to review, and denials that already went through get reopened. We read the record back to confirm each reopen actually happened. A supervisor can also pause the agent or tighten the policy at any point, and each policy change is saved as a new version.

Afterwards, anyone can open the Examiner page, type a claim number, and rebuild the whole story from Atlas: what the agent proposed, which documents the reviewer opened and for how long, which policy version applied, what every rule decided, and what happened to the claim. Review events are hash-chained, so editing history breaks the chain.

We wrote our thresholds down and committed them to git before running a held-out test on Atlas. Results:

Rubber-stampers: 0 of 200 denials went through, and all 4 were suspended.
Honest reviewers: 95 of 96 went through, with no one wrongly suspended.
Fast but honest reviewers: 28 of 32 went through. That’s the real cost of the time floor.
In the live app, “approve 50” executes 0 of 50.
We also tested the worst timing case: a suspension landing while a denial is mid-transaction. Atlas forces a write conflict and the denial is refused.

What still gets through: a reviewer who fakes heartbeats got 16 of 16 through, and one who waits just past the floor got 32 of 32. So ProofGate makes faking a review much harder, not impossible.

Stack: MongoDB Atlas (Hackathon Sandbox) with transactions, change streams with resume tokens, $jsonSchema validation, versioned policy documents and time-series telemetry. The triage agent uses LangGraph with the MongoDB checkpointer, Atlas Vector Search and Voyage AI. Tracing goes to LangSmith with grant ids redacted.

## More from Agents in Context Toronto: a MongoDB Hackathon

- [senior-bank-guard](https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/58)
- [memorydock](https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/59)
- [Recall.IQ](https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/60)
- [Membrane](https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/62)
- [GhostShift](https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/63)
- [Mandela Logan](https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/64)

---

Markdown version of https://cerebralvalley.ai/e/mongodb-toronto-hackathon/hackathon/gallery/61. Site index for agents: https://cerebralvalley.ai/llms.txt · full text: https://cerebralvalley.ai/llms-full.txt
