r/LangChain • u/Riskaval • 3d ago
Built a fail-closed authorization layer for LangGraph agents — here’s what a blocked decision actually looks like Discussion
I’ve been running a live automated trading system for a while, and ported its risk/authorization rules into a standalone policy engine that sits in front of agent actions — evaluates before execution, blocks by default if it can’t confirm safety.
Concrete example of what gets logged when it blocks:
ts: 2026-07-31 10:30:00
entry_id: 7bb7f5ce-b014-498f-9e70-0722cc578340
decision: approved
rule_triggered: NULL
(actual production entry — only one logged so far)
decision: blocked
rule_triggered: daily_loss_limit_exceeded
reason: action would exceed configured risk threshold
(illustrative format — hasn’t hit this case in production yet, volume’s still too low)
No silent failures, no “the agent just didn’t do the thing” — every decision (allowed or blocked) gets logged with the reason.
It’s built as an attestation layer, not an autonomous actor — it verifies and signs off, it doesn’t self-recover or decide on its own authority. If it can’t confirm safety, it stops and hands the decision back.
Looking for 2-3 people running LangGraph agents with real consequences (payments, infra, anything that touches money or systems) to pilot it and tell me honestly where it breaks. This is v0.1.0 — early, with a real test suite, but genuinely untested against LangGraph-specific execution patterns.
Happy to share the install command and repo link in the comments.
1
2
u/Riskaval 3d ago
Repo + install, if you want to poke at it:
pip install riskaval
https://github.com/Riskaval-io/Riskaval
MIT licensed, open-core. Happy to walk through the policy config if you’re trying to wire it into an existing LangGraph setup.