Skip to main content

occ-crewai

OCC cryptographic proof signing for CrewAI.

Every tool call produces an Ed25519-signed proof entry in proof.jsonl, creating a tamper-evident audit log of agent actions.

Install

pip install occ-crewai

Quick Start

Decorator

from crewai.tools import tool
from occ_crewai import occ_tool

@occ_tool
@tool("Search")
def search(query: str) -> str:
    """Search the web."""
    return do_search(query)

Wrap All Tools

from occ_crewai import wrap_tools

safe_tools = wrap_tools([search_tool, calc_tool])
agent = Agent(role="researcher", tools=safe_tools)

Step Callback

from occ_crewai import occ_step_callback

crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    step_callback=occ_step_callback(),
)

Custom Signer

from occ_crewai import OCCSigner, occ_tool

signer = OCCSigner(state_dir="/tmp/.occ", proof_file="audit.jsonl")

@occ_tool(signer=signer)
@tool("Search")
def search(query: str) -> str:
    """Search the web."""
    return do_search(query)

Proof Format

Each line in proof.jsonl is a JSON object:

{
  "version": "occ/proof/1",
  "timestamp": "2026-03-20T12:00:00.000Z",
  "signer": "<base64url-ed25519-public-key>",
  "payload": {
    "type": "tool-call",
    "tool": "search",
    "inputHash": "<sha256-hex>",
    "outputHash": "<sha256-hex>"
  },
  "signature": "<base64url-ed25519-signature>",
  "prev": "<sha256-hex-of-previous-proof>"
}

Proofs are chained: each proof's prev field contains the SHA-256 hash of the previous proof's canonical JSON.

Configuration

  • State directory: Keypair stored in .occ/signer-state.json (defaults to CWD)
  • Proof file: Defaults to proof.jsonl in CWD
  • Both configurable via OCCSigner(state_dir=..., proof_file=...)

License

Apache-2.0

Metadata

Release files for occ-crewai 0.2.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 occ-crewai 0.2.0
File Size Uploaded
occ_crewai-0.2.0.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for occ-crewai 0.2.0
File Interpreter ABI Platform
occ_crewai-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.1 kB

Release files / occ_crewai-0.2.0.tar.gz

Download URL occ_crewai-0.2.0.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
88ff7b6541dd5dca0d5f4559fb5c9a45e79779dcb500cc74a55e9bbddd06c76c
BLAKE2b-256 checksum
How to use checksums
7baa4a2af94e41bf1f465e5acf7165accdfaf3e9b48e06d2b871e39f488ac2cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / occ_crewai-0.2.0-py3-none-any.whl

Download URL occ_crewai-0.2.0-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7465d6b1123885b3de05ee53db9df1283d77a28e248378ba05a25c5533b06e46
BLAKE2b-256 checksum
How to use checksums
3268228f3d38ab5d140704e2e26788504148678413e0e6a3bbdfdd9e2226bbe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

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