TRACE Protocol

Trusted records for autonomous computation events.

Open standard for auditable autonomous systems — ActionPolicyEvidence

Version 1.0.0 • RFC-2025-001 • Apache-2.0 License

Protocol Specification

The TRACE Protocol defines a standardized approach to recording, validating, and evidencing autonomous system actions through a unified Action → Policy → Evidence model.

Protocol Flow
# Action → Policy → Evidence

from trace import Trace

trace = Trace()

# 1. Propose an action
decision = trace.propose(
    type="send_email",
    actor={"kind": "agent", "name": "mail-bot"},
    target="mailto:client@acme.com",
    params={"subject": "Proposal"}
)

# 2. Policy evaluation (enforce or observe)
if decision.status == "requires_approval":
    trace.approve(decision.id)

# 3. Record evidence
trace.evidence(decision.id, [
    {"name": "email_sent", "pass": True, "note": "msgId=123"}
])

Data Models

Defines three core data structures that form the foundation of the Action → Policy → Evidence model.

Action

Structured description of autonomous agent intent.

{
  "id": "a_123",
  "type": "send_email",
  "actor": { "kind": "agent", "name": "mail-bot" },
  "target": "mailto:client@acme.com",
  "params": { "subject": "Hi" },
  "timestamp": "2025-10-10T12:34:56Z"
}

Policy

Rules governing action execution.

rules:
  - when: { actionType: "send_email" }
    require: ["reviewer_approval"]
    mode: enforce

Evidence

Verifiable proof of action outcomes.

{
  "actionId": "a_123",
  "checks": [{ "name": "reviewer_approval", "pass": true, "approver": "@fernando" }],
  "timestamp": "2025-10-10T12:40:00Z"
}

API Reference

Machine-readable OpenAPI schema and a human-friendly reference.

Governance

TRACE Labs maintains the reference implementation and community RFC process.