Halo: Open-Source Tamper-Evident Runtime Evidence for AI Agents

Verifiable Audit Trails for AI Agent Actions

Halo is an open-source project that provides tamper-evident runtime records for AI agents. It creates an append-only, hash-chained log of every action an agent takes—including tool calls, model calls, data access, and approvals—allowing any party to verify that the log has not been altered without needing to trust the vendor who produced it.

This system shifts the burden of proof from written assurances and screenshots to a verifiable technical artifact, specifically designed to meet the demands of security reviews, SOC 2 checklists, and emerging AI regulations.

Core Technical Architecture

Hash-Chained Integrity Model

To ensure records cannot be edited or reordered without detection, Halo uses a hash-chaining mechanism. Each record's hash is computed by taking the record (excluding its own hash), setting the integrity.prev_hash to the hash of the previous record, and canonicalizing the data using RFC 8785 (JSON Canonicalization Scheme) before applying SHA-256. The first record in a chain begins with a prev_hash of 64 zeros.

Integrity vs. Completeness

There is a critical distinction between the integrity of a log and its completeness:

  • Integrity: A self-held chain proves that nothing was edited or reordered after the record was created.
  • Completeness: A self-held chain cannot prove that the operator did not delete an entire section of the log (e.g., "the bad day") and re-seal the chain, or simply fail to write a record.

To solve for completeness, Halo introduces the witness. A witness is an external party that holds periodic fingerprints (a record count and a head hash) of the chain. By anchoring a checkpoint to a witness, a user can verify that the log is complete and has not been truncated or omitted.

Security and Privacy Design

To minimize the risk of introducing vulnerabilities or leaking sensitive data, Halo is built with a strict security posture:

  • Zero Runtime Dependencies: The Python implementation uses only the standard library, meaning pip install halo-record installs exactly one package.
  • No Network Calls: Except for the optional witness client, the recorder makes no network calls. Record contents never leave the local infrastructure.
  • PII Redaction: Raw inputs never enter a record. Arguments are hashed and stored as redacted summaries. While the project uses regex-based redaction for common secrets and PII formats as a defense-in-depth measure, it is not a guaranteed filter.
  • Auditability: The codebase is small (~4,300 lines of Python), making it feasible for a security team to audit the entire project in a short timeframe.

Integration and Ecosystem Support

Framework Compatibility

Halo can be integrated into AI agent workflows through several methods:

  • Native Recorder: Using from halo import trace to wrap an agent's entry point.
  • Telemetry Ingestion: Support for OpenTelemetry GenAI spans, which allows compatibility with frameworks like CrewAI and LlamaIndex.
  • Adapters: Native adapters exist for LiteLLM callbacks, LangChain/LangGraph callbacks, OpenAI Agents SDK hooks, and the Vercel AI SDK (via the halo-record-ts TypeScript package).

Recording Coding Agents

For tools like Claude Code, Halo integrates via the PostToolUse hook. By adding a specific command to the ~/.claude/settings.json file, every file write, shell command, and MCP connector call is recorded into a local chain without requiring changes to the agent's core code.

Compliance Mapping

Halo serves as an evidence layer for various global AI compliance and security frameworks:

  • SOC 2 & Security Questionnaires: Replaces prose and screenshots with a verifiable Runtime Report.
  • EU AI Act: Provides the logging and record-keeping required for high-risk AI systems.
  • OWASP GenAI Security Project: Records actual agent behavior to provide evidence against risks like excessive agency and tool misuse.
  • AARM (CSA): Produces the tamper-evident action receipts (R5/R6) specified by the Cloud Security Alliance.
  • ISO 42001 / NIST AI RMF: Supplies operational evidence for management-system controls.

CLI Reference

Command Purpose
halo verify Validates the schema and hash chain; returns non-zero exit on failure for CI/CD integration.
halo report Renders a chain as a self-verifying HTML Runtime Report.
halo serve Serves per-tenant reports over HTTP with customer-scoped access.
halo anchor Witnesses a chain head or checks completeness against a witness.
halo hook Specifically for Claude Code PostToolUse hooks.

Sources

Related

  • Project
  • Project
  • Project
  • Project
  • Project