1 provio.yaml
default · policy reference
2 Agent call
Pick a call and press Run. provio normalises it the way that agent's integration does, evaluates it against the policy on the left, and records the decision.
3 Ledger
Every decision is appended to a hash chain: the same LedgerRecord v1 format and SHA-256 hashing as .provio/ledger.jsonl. Edit a record and provio verify names the index where the chain broke.
4 Policy replay
Before you ship a policy change, run it over recorded sessions: provio replay <session> --candidate <file>. Which calls that went through would the new policy have stopped?
Same engine, your agent, your repo
Both packages ship the provio binary. Drop your policy next to your code as provio.yaml and every tool call goes through it, with the ledger in .provio/ledger.jsonl.
pip install provio-sdkLangGraph, OpenAI Agents SDK and Claude Agent SDK adapters.
npm install provio-sdkClaude Agent SDK and any Node agent with a tool hook.
provio integrate claude-codeWrites the hooks into .claude/settings.json; a provio ask becomes Claude Code's own prompt.
provio uiLocal console: live decisions, approvals, the ledger and provio verify.
The ledger you built above downloads as a real ledger.jsonl: provio verify --ledger ledger.jsonl checks it with the same result.