Powered by Jac — jaseci.org

10 Jac Walkers
guarding your AI agent

Deterministic policy evaluation. No LLM opinions. No probabilistic guessing.
Pure graph traversal that returns PASS, CONFIRM, or BLOCK.

Why Jac for Policy Evaluation?

Deterministic

LLMs are probabilistic -- ask the same question twice, get different answers. Safety policies must be deterministic. Jac walkers traverse a graph and return the same verdict every time.

Graph-Native

Jac is built around graphs. Policy evaluation is graph traversal -- walkers visit nodes, check conditions, and report verdicts. No ORM, no SQL. Just root --> node.

Composable

Each walker is independent. Stack 10 built-in policies, then add your own custom walkers. Each one checks a specific concern -- no tangled if-else chains.

How Jac Walkers Evaluate Policies

AI Actionsend_email, delete_file...
Jac WalkerTraverses policy graphdeterministically
PASS
ASK
BLOCK
VerdictDeterministic result

Every action your AI agent takes is evaluated by Jac walkers traversing a policy graph.
No LLM opinions. No probabilistic guessing. Pure deterministic graph traversal.

Built-in Policy Walkers

Click any walker to see its Jac source code

Write Your Own Policy in 5 Lines

Corpus uses Jac walkers for policy evaluation. A walker is a function that traverses a graph and reports a verdict. Here is a custom policy that blocks production API calls in dev:

my_custom_policy.jac
walker CheckNoProductionCalls {
    can check with entry {
        if self.action_type == "api_call" and "production" in self.target {
            report {"verdict": "BLOCK", "reason": "No production API calls in dev"};
            disengage;
        }
        report {"verdict": "PASS"};
    }
}

Save as policies/custom/my_policy.jac and Corpus picks it up automatically.

Built with the Jac programming language

Learn more at jaseci.org