Skip to main content

License TRACE Spec Discord

TRACE Registry

The public accountability layer for TRACE claim anchors. Each entry records the Merkle root of a batch of signed TRACE Trust Records, committed to this repository as an append-only record. Git's commit history is the tamper-evidence layer: any rewrite of a published entry diverges the commit hashes that auditors and mirrors have already observed.

Current Registry State

The registry currently contains one entry (registry/2026/06/12.ndjson). It is a software-only example anchor with advisory enforcement and a zeroed measurement, committed as a launch-day example. It does not represent a production Trust Record, and no production entries have been anchored yet.

The anchoring pipeline is live and runs on a schedule, verifying producer signatures before it anchors anything. A scheduled run with nothing to anchor is a no-op, so the gap since June reflects claim volume rather than a stalled pipeline.

The anchor construction (canonical claim bytes, leaf hashing, RFC 6962 Merkle tree, inclusion proofs) is specified in docs/anchor-format.md. A third party can implement a verifier from that document alone; the reference tools in tools/ are one implementation.

Status. The format, reference tooling, schema validation, and a first real entry (registry/2026/06/12.ndjson) are live. Scheduled anchoring is operational and trace-verify is published on PyPI. What is missing is volume: one entry, one producer, and no mirror we do not operate. See ROADMAP.md for what that means and what would change it.

Why this exists

Anyone holding a TRACE trust record and its inclusion proof can verify that the record was anchored in this registry without trusting the operator who issued it, using only this public git history and the verifier below. No single operator controls the audit trail.

Registry Format

Each daily file in registry/YYYY/MM/ is newline-delimited JSON, one anchor entry per line, validated by CI against schema/registry-entry.schema.json:

{"ts": "2026-06-12T18:09:41Z", "merkle_root": "sha256:9279...bada", "leaf_count": 1, "producer": "cmcp-gateway/0.1.0", "batch_id": "2026-06-12-001"}

Entries are append-only. See docs/anchor-format.md for field semantics.

Verifying a claim

You need three things: your signed claim (Trust Record), the inclusion proof your producer gave you, and the registry entry for the batch. Then:

git clone https://github.com/agentrust-io/trace-registry.git
cd trace-registry
python tools/verify_inclusion.py \
  --claim samples/example-trust-record.json \
  --proof samples/inclusion-proof.json \
  --entry registry/2026/06/12.ndjson
# OK: claim is included in batch '2026-06-12-001' (root sha256:9279..., ts 2026-06-12T18:09:41Z)

Exit code 0 means the claim is proven included; 1 means it is not. The verifier is a single standard-library Python file, so you can audit it (or reimplement it from the spec) rather than trust it. The samples/ files above are a real anchored example you can use to exercise the tooling.

Inclusion verification proves the signed claim bytes were anchored at the entry's timestamp. Validating the claim's signature against the producer key is a separate TRACE step.

Anchoring claims

Producers batch signed claims and anchor them with:

python tools/anchor.py claim1.json claim2.json \
  --producer my-gateway/1.0 --proof-dir proofs/ \
  >> registry/2026/06/12.ndjson

This emits the registry entry line and writes one inclusion proof per claim to hand back to claim holders.

Canonical Registry

This repository exists for independence: TRACE claim anchors can be checked without trusting any single operator's infrastructure, and the git history is auditable by anyone.

Community

Questions, feedback, integration help: Discord.

License

Dual: Apache-2.0 for code (src/, tools/, aggregator/, tests/, .github/) and CC BY 4.0 for registry data, proofs, schemas and documentation. See LICENSE.

The code was previously under CC BY 4.0, which Creative Commons itself recommends against for software: no patent grant, no software-tailored warranty disclaimer, and not OSI-approved. Mirroring this registry means running that code, so it needs a license written for software.

Download files

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

Source Distribution

trace_verify-0.3.0.tar.gz (63.5 kB view details)

Uploaded Source

Built Distribution

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

trace_verify-0.3.0-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file trace_verify-0.3.0.tar.gz.

File metadata

  • Download URL: trace_verify-0.3.0.tar.gz
  • Upload date:
  • Size: 63.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trace_verify-0.3.0.tar.gz
Algorithm Hash digest
SHA256 08667c647bf94b687cd037c190a71b0ed28836feea1c52e17d13436f4ca4c38d
MD5 6d9362824af7e69fcf8c8d1a323b807b
BLAKE2b-256 790caee168379d1c70af1cfa4998a1b31f63ba5f3fd670357df5e25e81f0f89c

See more details on using hashes here.

Provenance

The following attestation bundles were made for trace_verify-0.3.0.tar.gz:

Publisher: publish.yml on agentrust-io/trace-registry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file trace_verify-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: trace_verify-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trace_verify-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 954d3d19e0ccae8078e52c9c33271a23e082aa78bb5c5b540300f2c665898dbf
MD5 67bb89977677a9dc943735e2469a4c0c
BLAKE2b-256 efc6cdf35979d0819428cf781c0196d9d6fa9509e0a4e94571aa3cccb4dd3baa

See more details on using hashes here.

Provenance

The following attestation bundles were made for trace_verify-0.3.0-py3-none-any.whl:

Publisher: publish.yml on agentrust-io/trace-registry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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