Skip to main content

OCC cryptographic proof signing for Google ADK

Project description

occ-google-adk

OCC cryptographic proof signing for Google Agent Development Kit (ADK).

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-google-adk

Quick Start

Tool Hook (recommended)

from google.adk.agents import Agent
from occ_google_adk import OccToolHook

hook = OccToolHook()
agent = Agent(
    name="my_agent",
    tools=[get_weather],
    before_tool_callback=hook.before_tool,
    after_tool_callback=hook.after_tool,
)

Decorate Individual Tools

from occ_google_adk import occ_tool

@occ_tool
def get_weather(location: str) -> str:
    return f"Sunny in {location}"

Wrap All Agent Tools

from google.adk.agents import Agent
from occ_google_adk import wrap_agent_tools

agent = Agent(name="my_agent", tools=[get_weather, search])
wrap_agent_tools(agent)

Custom Signer

from occ_google_adk import OCCSigner, OccToolHook

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

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": "get_weather",
    "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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

occ_google_adk-0.1.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

occ_google_adk-0.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file occ_google_adk-0.1.0.tar.gz.

File metadata

  • Download URL: occ_google_adk-0.1.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for occ_google_adk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 267712d89a10fbadb03195678ce2bc38f4c501277c5c9642178d5aabb60edeb8
MD5 f758031c56610703593cd746f36f2729
BLAKE2b-256 fbb669e2e29cbd91773c58754f460802a731e8d3da6fae9ad8d427c4ac8fe678

See more details on using hashes here.

File details

Details for the file occ_google_adk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: occ_google_adk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for occ_google_adk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90339251420f8a5d10e3461fcde1f76228f27c7ba4f0ae8e809217a3e439c1fb
MD5 fbe6c6f5baa7f17d8fae48383299e958
BLAKE2b-256 aa5cb12a8fe12d56452ac706ac3f6a084bfeebba6edaafec001c9fe2a911ca3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page