Cal Hacks 13.0
No payment to an account the vendor hasn't confirmed.
The invoice is real. The vendor is real. Only the destination changed.
Re-seed the fixtures (Settings → Re-seed) to create the demo cases; the fraud case replays here.
Permissions as enforced in the database, not as prompt instructions.
| Capability | Agent (LLM / intake / package actions) | Human (dashboard) |
|---|---|---|
| Read a vendor email and PDF, extract a requested account | yes | yes (manual edit) |
| Open a case and queue the probe deposit | yes (via bankAccounts.createUnverified) | yes |
| Re-point open invoices to the requested account (held) | yes | yes |
| Record a stated amount | only trusted channels (voice of record, portal login); email is stored rejected | "Simulate vendor answer" in sim mode, labeled |
| Verify an account (markVerified) | no | no (only the bound confirmation does, atomically) |
| Pay | no | yes, and only to a verified current-version account of that vendor |
| Exceptional release | no | two distinct named approvers + written reason, from NEEDS_HUMAN only |
| Edit contacts or account status | no | supersede contact; add human-attested record contact |
| Draft the recovery package prose | yes, from deterministic fields; every number verified | reviews, signs, calls |
| Know the probe amount | no (not in prompts, tools, events, or public queries) | no (operator reads the bank statement; test-only endpoint is key-gated) |
These are results on scripted cases. They demonstrate behavior on these cases; they do not establish effectiveness against real-world fraud.
Built with: Convex, Next.js, Claude, Nessie, Vapi + Cartesia (written), Playwright.
Tracks: Hyphenate, Microsoft, Convex, Capital One, Cartesia (conditional), Anthropic.
Team: Meridian Outdoor Co. demo · Run your own scenario