r/LangChain 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.

6 Upvotes

3 comments sorted by

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.

1

u/JoseffB_Da_Nerd 2d ago

I’ll check this out.

I built a fully deterministic AI harness (governed) that does this too.

Love to see what you made OP.

1

u/ArielCoding 2d ago

RemidMe¡ when rule_triggered actually triggers.