CHIROID
The trust infrastructure for autonomous software.
Every consequential agent action should be authorized, attributable, and independently verifiable.
Product Category: Attested Agent Runtime
License: Apache-2.0
Notice: Conduct independent trademark and package namespace availability verification before commercial use of theCHIROIDname or domain.
1. Overview
CHIROID is a cryptographically verifiable execution and authorization layer for autonomous AI agents. It intercepts agent tool calls, evaluates them deterministically against explicit YAML authorization policies, mediates execution through allowlisted adapters, and produces tamper-evident, SHA-256 hash-chained, Ed25519-signed CHIROID Attested Agent Actions (CAA).
CHIROID is not an AI agent framework. It is an independent security boundary that integrates with existing agent frameworks and tools.
2. Quickstart
Installation
pip install -r requirements.txt
pip install -e . --no-build-isolation
CLI Usage
# 1. Initialize SQLite store, Ed25519 signing key, and default policy
python -m chiroid.cli.main init --db chiroid.db --policy policy.yaml
# 2. Validate a YAML policy
python -m chiroid.cli.main policy validate policies/staging-policy.yaml
# 3. Register an agent and start a session
python -m chiroid.cli.main agent register --id deployment-agent --name "Staging Deployer"
python -m chiroid.cli.main session start --agent-id deployment-agent --session-id session-1 --env staging
# 4. Run the end-to-end demonstration (allow, deny, approval, offline verification, tamper detection, replay)
python examples/end_to_end_demo.py
# 5. Export and verify an audit chain offline
python -m chiroid.cli.main export --session session-1 --output audit.jsonl
python -m chiroid.cli.main verify ./audit.jsonl
# 6. Check runtime health and host sandbox capabilities
python -m chiroid.cli.main doctor
# 7. Start the FastAPI server and Security Dashboard at http://127.0.0.1:8787
python -m chiroid.cli.main serve --host 127.0.0.1 --port 8787
3. Python SDK Example
from chiroid import ChiroidClient
client = ChiroidClient(
runtime_url="http://127.0.0.1:8787",
policy_file="./policies/staging-policy.yaml",
)
result = client.execute(
agent_id="deployment-agent",
session_id="session-staging-1",
tool="kubernetes.scale",
arguments={
"deployment": "api",
"replicas": 5,
},
environment="staging",
)
print("Allowed:", result.allowed)
print("Attestation ID:", result.attestation.attestation_id)
print("Ed25519 Signature:", result.attestation.signature)
4. Documentation Index
PRODUCT_SPEC.md— Product thesis, CAA primitive, epistemic boundaries, and MVP scope.ARCHITECTURE.md— TCB definition, canonical serialization, non-circular CAA hashing, and mediation architecture.THREAT_MODEL.md— 23 threat vectors mapped to controls, residual risks, and automated tests.SECURITY.md— Cryptographic domain separation constants and six distinct verification properties.ROADMAP.md— Implemented capabilities vs. simulated adapters vs. planned Rust/Go distributed architecture.docs/CRYPTO_SPEC.md— Formal hashing and signing specification.docs/API_SPEC.md— HTTP v1 REST API specification.
Metadata
Release files for chiroid 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chiroid-0.1.0.tar.gz | 61.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chiroid-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 133.2 kB
Release files / chiroid-0.1.0.tar.gz
| Download URL | chiroid-0.1.0.tar.gz |
|---|---|
| Size | 61.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
92dc3a6748a33b1494aa690028fd55b79e2bca8fd429d101f0a4edd7e8cce072
|
|
BLAKE2b-256 checksum How to use checksums |
972b985ca7b14f4c390cdb2c578d5ca3ba90e3cf01440bedd8f053a468fb87ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.11
|
Release files / chiroid-0.1.0-py3-none-any.whl
| Download URL | chiroid-0.1.0-py3-none-any.whl |
|---|---|
| Size | 71.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f140a9b0d1c3edf6da9f935213ecf3b7b31939718c954311081d941e745eff77
|
|
BLAKE2b-256 checksum How to use checksums |
0595a6f73d4c2262b157400a2fa65a18ae1a5c73f7679f3705f8680b6b48c627
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.11
|
Security for chiroid 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.