Skip to main content

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 the CHIROID name 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)

Source distribution for chiroid 0.1.0
File Size Uploaded Provenance
chiroid-0.1.0.tar.gz 61.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for chiroid 0.1.0
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page