jevshield
Python pre-check layer that uses Jev Choice/Noul/Score to route agent requests to roles and gate side-effecting tool calls.
Overview
JevShield is a framework-agnostic decision control layer for AI agents. It is used when an agent needs to select an application-owned role or call a tool with meaningful side effects. A Router uses Jev to classify intent and select a route before tools are exposed, and a guard protects real tool calls at the execution boundary with policy and audit support. The application keeps ownership of orchestration, retrieval, delegation, retries and final responses; JevShield is not an agent runtime.
List summaries describe single-request Choice, Noul and Score evaluation, a dual-factor blocking matrix, calibrated-confidence routing, fail-closed parsing and a zero-config local fallback, targeting sub-100 ms gating. Decisions return explicit statuses. It supports several providers and gateway endpoints, ships a LangChain integration, optional multi-agent handoff and loop controls, and a credential-free minimal example. It is aimed at developers adding security gates to Python agents.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which application-owned route or role should handle this request? | — |
| Yes / no | Should this tool call be allowed to execute?(inferred) | — |
| Score | How risky is this tool call?(inferred) | — |
How it works
- Router asks Jev to choose a route for the request
- Application invokes the selected role
- Before a protected tool executes, the guard evaluates the call
- Blocking matrix and confidence thresholds decide allow, block or escalate
- Parsing failures fail closed; decisions are audited
Strengths
- Fail-closed by design
- Framework-agnostic with LangChain support
- Local fallback without configuration
- Clear separation of routing and execution guard
Caveats
- Jev-backed decisions need a provider key
- Local fallback is less capable than the model
- Agent orchestration remains your responsibility
Getting started
pip install jevshield (or "jevshield[langchain]"); run python examples/00_minimal_agent.py from a source checkout.At a glance
- Type
- Project
- Status
- beta
- Language
- Python
- Runtime
- library
- Has code
- yes
- Has tests
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Sub-100ms security gate for AI agent tool calls, powered by TypeSafe's Jev (System-1) decision model. Single-request Choice/Noul/Score evaluation, dual-factor blocking matrix, calibrated-confidence routing, fail-closed parsing, zero-config local fallback. LangChain-ready.
logicrw/awesome-jev-projectsSub-100ms security gate for AI agent tool calls, powered by TypeSafe.
wh000wh000/awesome-jev-liveSub-100ms security gate for AI agent tool calls, powered by TypeSafe's Jev (System-1) decision model. Single-request Choice/Noul/Score evaluation, dual-factor blocking matrix, calibrated-confidence routing, fail-closed parsing, zero-config local fallback. LangChain-ready.
hellogumbo/awesome-jev
Frequently asked questions
Is JevShield an agent framework?
No. It is a pre-check layer for routing and tool authorisation; your application runs the agent.
What happens if Jev's answer cannot be parsed?
Parsing fails closed, so the protected action does not run.
Does it work with LangChain?
Yes, via the langchain extra.
Related projects
Auditable Zig terminal agent pairing Codex for coding with Jev typed preflight and postflight checks under deterministic policy gates.
CLIproductionZigGateway that checks agent tool calls with policy plus Jev evidence, then binds approval to a single-use permit for that exact action.
MCP serverbetaTypeScriptMCP proxy and hooks that screen agent tool calls before they run and their results before the agent reads them, using Jev judgments.
MCP serverbetaTypeScriptXano backend template where Jev judges each agent tool call as safe, needs review or dangerous, and uncertain calls wait for a human.
ProjectbetaXanoScriptOpenAI-compatible endpoint that answers an agent's command-approval call with APPROVE, DENY or ESCALATE from a Jev Choice, failing closed.
ProxybetaPythonClaude Code plugin adding Jev judgments to Bash, Write and Edit calls and their outputs; a semantic guardrail, not a sandbox.
Pluginbeta