Verify TRACE claim inclusion proofs against the public registry
Project description
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 development entry (registry/2026/06/12.ndjson). This 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. The first production entries will be added after Confidential Computing Summit launch on June 23, 2026.
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. Anchoring is currently manual and low volume; a continuous anchoring cadence and a packaged
trace-verifyCLI on PyPI are planned but not yet operational.
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
Creative Commons Attribution 4.0 International (CC BY 4.0). See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trace_verify-0.1.0.tar.gz.
File metadata
- Download URL: trace_verify-0.1.0.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
241c48b965d46942117e0076a045dee5a3d3f3fcf7b52fcfd21b40f5a8c50950
|
|
| MD5 |
96f10136b0b756ab20928e6639e7f1c7
|
|
| BLAKE2b-256 |
07608f51fa3f2c8c9bf6caf90fad9d10c5a54560c32cc030287b6990c1fd8457
|
Provenance
The following attestation bundles were made for trace_verify-0.1.0.tar.gz:
Publisher:
publish.yml on agentrust-io/trace-registry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trace_verify-0.1.0.tar.gz -
Subject digest:
241c48b965d46942117e0076a045dee5a3d3f3fcf7b52fcfd21b40f5a8c50950 - Sigstore transparency entry: 1916830435
- Sigstore integration time:
-
Permalink:
agentrust-io/trace-registry@277345898aae50dbcf4f56ebabfb057e6dbd3ae6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/agentrust-io
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@277345898aae50dbcf4f56ebabfb057e6dbd3ae6 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file trace_verify-0.1.0-py3-none-any.whl.
File metadata
- Download URL: trace_verify-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b79389e54cc33587cc5dad7b7313291377cd97d11b41d144c3623b21d1b25dd
|
|
| MD5 |
f13e94acbf585f209728dc4c59fa271a
|
|
| BLAKE2b-256 |
57c5980f89a38c46d051ea75dbde34417c019ece1b003d3d27806f6278a9d682
|
Provenance
The following attestation bundles were made for trace_verify-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on agentrust-io/trace-registry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trace_verify-0.1.0-py3-none-any.whl -
Subject digest:
9b79389e54cc33587cc5dad7b7313291377cd97d11b41d144c3623b21d1b25dd - Sigstore transparency entry: 1916830584
- Sigstore integration time:
-
Permalink:
agentrust-io/trace-registry@277345898aae50dbcf4f56ebabfb057e6dbd3ae6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/agentrust-io
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@277345898aae50dbcf4f56ebabfb057e6dbd3ae6 -
Trigger Event:
workflow_dispatch
-
Statement type: