This release is a pre-release and may not be stable for production use.
Certior
Provable boundaries for multi-agent AI. A capability boundary for OpenClaw, LangChain, CrewAI, and your own delegation chains - every agent-to-agent call is checked by Z3 against a Lean-audited policy before it runs. Allowed calls return a signed receipt. Blocked calls raise
CertiorBlockedwith a precise reason.
Homepage: certior.io · Docs: docs.certior.io · Source: github.com/paulinebourigault/certior
Install
pip install certior
Requires Python 3.11 or later. Pulls in z3-solver, httpx, pydantic, jsonschema, and PyYAML.
Every tool call is enforced by Z3 against a policy model proven sound in Lean 4 offline. For live lattice-proven flow verification on every call, fetch the Lean binary on demand (not bundled in the wheel; ~90 MB, Linux x86_64 / macOS arm64):
pip install "certior[lean]"
certior-install-lean # downloads + SHA-256-verifies the binary, fails closed on mismatch
Without it the runtime stays on the always-on Z3 path.
Quickstart
from certior import Guard, CertiorBlocked
guard = Guard(permissions=["network:http:read"]) # an agent's capability boundary
@guard.wrap(required_capabilities=["network:http:read"]) # tool calls + child agents must fit inside
def web_fetch(url): ...
web_fetch("https://example.com") # allowed -> call runs, recorded in guard.audit_log
# capability escalation -> raises CertiorBlocked
# signed certificate of the decision: guard.verify(...).certificate
One decorator. Wraps any function. The rest of your code is unchanged.
Full 5-minute walkthrough: docs.certior.io/quickstart.
What it does
Three gates run before every tool call:
| Gate | Checks |
|---|---|
| Capability | child agent's capabilities ⊆ parent's; tool requires only what's granted |
| Content | HIPAA / SOX / attorney-client / custom detectors on prompts and outputs |
| Budget | per-agent hard ceiling; every step debits the parent |
Allowed calls return a signed certificate bound to a Lean-checked policy fingerprint. Blocked calls raise CertiorBlocked with a precise reason. An auditor reproduces the audit with a single lake build.
See how it works and certificates for the runtime model.
Adapters
| Framework | Module | Guide |
|---|---|---|
| OpenAI tool use | certior.adapters.tool_use |
docs.certior.io/guides/openai |
Anthropic tool_use |
certior.adapters.tool_use |
same recipe, native shape |
| LangChain | certior.adapters.langchain |
docs.certior.io/guides/langchain |
| CrewAI | certior.adapters.crewai |
docs.certior.io/guides/crewai |
| OpenClaw | certior.adapters.openclaw |
docs.certior.io/guides/openclaw |
| MCP / custom | @guard.wrap(...) |
docs.certior.io/guides/custom-loop |
What is proven
Three formal tools, three jobs:
- Z3 runs on every tool call and proves the action satisfies capability, budget, and flow constraints.
- Lean 4 machine-checks the policy model (155 theorems and lemmas, 0
sorry, 0 axioms beyond Lean's standard three:propext,Classical.choice,Quot.sound). CI fails the build if any of the four headline guarantees -delegationSafety,ifcSoundness,compositionSoundness,SecurityLevel.isValidBoundedLattice- stops depending only on standard axioms. - Dafny statically verifies kernel properties (path-safety, seccomp).
Certior does not verify the LLM's behaviour. It verifies the boundary the LLM operates inside.
Full assurance model: docs.certior.io/reference/trust-package.
Server, Studio, examples
The pip package is the SDK. The GitHub repository ships the FastAPI server, the Certior Studio UI, the Lean kernel, the GitHub Action, the certior-skill-audit CLI, and runnable examples:
Status
Alpha release, in active development under Apache-2.0. Public API may change between minor versions during the 0.x line; pin to certior==0.1.* for compatible updates.
Looking for design partners in healthcare, finance, legal, and regulated AI teams who need real audit trails on agent workflows.
Contact: hello@certior.io
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file certior-0.1.0a2.tar.gz.
File metadata
- Download URL: certior-0.1.0a2.tar.gz
- Upload date:
- Size: 368.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fdae7e98ace8cfe00669860decc8d856efe5a57a3f267b1e36d5eab06d89b88
|
|
| MD5 |
6b55065074bcdd77f7e86c165b9747f5
|
|
| BLAKE2b-256 |
617ade2f03da7215de694123a19a2d1e5fad7b1889df01de41fc7ac0164197e7
|
File details
Details for the file certior-0.1.0a2-py3-none-any.whl.
File metadata
- Download URL: certior-0.1.0a2-py3-none-any.whl
- Upload date:
- Size: 423.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58c2732d3d6ffbf049734b01c1ad8defd3cf33892e4ff10667281c64f87bf4c0
|
|
| MD5 |
8ce899cbed06462c836ddbab70309462
|
|
| BLAKE2b-256 |
07954bd913788bc5afcd47df3f7554a2ee6f734c5643b632b0b6412c2c9d1f62
|