agentrust-trace 0.1.1__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. agentrust_trace-0.3.0/.github/workflows/docs.yml +72 -0
  2. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/ADOPTERS.md +1 -1
  3. agentrust_trace-0.3.0/ANTITRUST.md +26 -0
  4. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/CHANGELOG.md +33 -1
  5. agentrust_trace-0.3.0/CNAME +1 -0
  6. agentrust_trace-0.3.0/LIMITATIONS.md +55 -0
  7. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/MAINTAINERS.md +1 -1
  8. agentrust_trace-0.3.0/NOTICE +21 -0
  9. agentrust_trace-0.3.0/PKG-INFO +106 -0
  10. agentrust_trace-0.3.0/README.md +72 -0
  11. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/ROADMAP.md +2 -2
  12. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/docs/assets/icon.svg +5 -3
  13. agentrust_trace-0.3.0/docs/crosswalks/owasp-agentic-top-10.md +65 -0
  14. agentrust_trace-0.3.0/docs/glossary.md +68 -0
  15. agentrust_trace-0.3.0/docs/index.md +73 -0
  16. agentrust_trace-0.3.0/docs/integration/agt.md +139 -0
  17. agentrust_trace-0.3.0/docs/integration/cmcp.md +148 -0
  18. agentrust_trace-0.3.0/docs/platforms/amd-sev-snp.md +65 -0
  19. agentrust_trace-0.3.0/docs/platforms/index.md +34 -0
  20. agentrust_trace-0.3.0/docs/platforms/intel-tdx.md +68 -0
  21. agentrust_trace-0.3.0/docs/platforms/nvidia-h100.md +76 -0
  22. agentrust_trace-0.3.0/docs/quickstart.md +198 -0
  23. agentrust_trace-0.3.0/docs/schema.md +165 -0
  24. agentrust_trace-0.3.0/docs/stylesheets/extra.css +247 -0
  25. agentrust_trace-0.3.0/docs/trust-levels.md +114 -0
  26. agentrust_trace-0.3.0/docs/tutorials/agt-adapter.md +183 -0
  27. agentrust_trace-0.3.0/docs/tutorials/anchoring-to-the-registry.md +172 -0
  28. agentrust_trace-0.3.0/docs/tutorials/hardware-attestation-platforms.md +212 -0
  29. agentrust_trace-0.3.0/docs/tutorials/integrating-with-cmcp.md +171 -0
  30. agentrust_trace-0.3.0/docs/tutorials/signing-your-first-trust-record.md +191 -0
  31. agentrust_trace-0.3.0/docs/tutorials/verifying-a-trust-record.md +259 -0
  32. agentrust_trace-0.3.0/docs/tutorials/verifying-the-audit-chain.md +251 -0
  33. agentrust_trace-0.3.0/docs/verification.md +129 -0
  34. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/examples/amd-sev-snp.json +2 -2
  35. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/examples/intel-tdx.json +2 -2
  36. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/examples/nvidia-h100.json +2 -2
  37. agentrust_trace-0.3.0/examples/tpm2.json +52 -0
  38. agentrust_trace-0.3.0/mkdocs.yml +179 -0
  39. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/pyproject.toml +3 -1
  40. agentrust_trace-0.3.0/requirements-docs.txt +6 -0
  41. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/schema/trace-claim.json +6 -5
  42. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/spec/trace-v0.1.md +39 -4
  43. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/src/agentrust_trace/__init__.py +19 -2
  44. agentrust_trace-0.3.0/src/agentrust_trace/adapters/__init__.py +5 -0
  45. agentrust_trace-0.3.0/src/agentrust_trace/adapters/agt.py +197 -0
  46. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/src/agentrust_trace/models.py +16 -3
  47. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/src/agentrust_trace/schema/trace-v0.1.json +3 -2
  48. agentrust_trace-0.3.0/src/agentrust_trace/sign.py +223 -0
  49. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/src/agentrust_trace/validate.py +1 -1
  50. agentrust_trace-0.3.0/tests/test_agt_adapter.py +224 -0
  51. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/tests/test_models.py +35 -1
  52. agentrust_trace-0.3.0/tests/test_sign.py +297 -0
  53. agentrust_trace-0.1.1/PKG-INFO +0 -145
  54. agentrust_trace-0.1.1/README.md +0 -114
  55. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  56. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  57. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/ISSUE_TEMPLATE/spec_change.md +0 -0
  58. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  59. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/workflows/ci.yml +0 -0
  60. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/workflows/contributor-check.yml +0 -0
  61. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/workflows/publish.yml +0 -0
  62. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/workflows/require-maintainer-approval.yml +0 -0
  63. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/.github/workflows/sbom.yml +0 -0
  64. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/CHARTER.md +0 -0
  65. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/CODE_OF_CONDUCT.md +0 -0
  66. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/CONTRIBUTING.md +0 -0
  67. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/GOVERNANCE.md +0 -0
  68. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/LICENSE +0 -0
  69. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/SECURITY.md +0 -0
  70. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/examples/README.md +0 -0
  71. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/src/agentrust_trace/py.typed +0 -0
  72. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/tests/__init__.py +0 -0
  73. {agentrust_trace-0.1.1 → agentrust_trace-0.3.0}/tests/test_validate.py +0 -0
@@ -0,0 +1,72 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - "docs/**"
8
+ - "spec/**"
9
+ - "mkdocs.yml"
10
+ - "requirements-docs.txt"
11
+ - "README.md"
12
+ - "CHANGELOG.md"
13
+ - "CONTRIBUTING.md"
14
+ - "GOVERNANCE.md"
15
+ - "ROADMAP.md"
16
+ - "LIMITATIONS.md"
17
+ - "CNAME"
18
+ workflow_dispatch:
19
+
20
+ permissions:
21
+ contents: write
22
+
23
+ concurrency:
24
+ group: docs-deploy
25
+ cancel-in-progress: false
26
+
27
+ jobs:
28
+ deploy:
29
+ name: Build and deploy docs
30
+ runs-on: ubuntu-latest
31
+
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+ with:
35
+ fetch-depth: 0
36
+
37
+ - uses: actions/setup-python@v6
38
+ with:
39
+ python-version: "3.11"
40
+ cache: pip
41
+
42
+ - name: Install docs dependencies
43
+ run: |
44
+ pip install -r requirements-docs.txt
45
+ pip install -e ".[dev]"
46
+
47
+ - name: Configure git for gh-deploy
48
+ run: |
49
+ git config user.name "github-actions[bot]"
50
+ git config user.email "github-actions[bot]@users.noreply.github.com"
51
+
52
+ - name: Assemble docs build directory
53
+ run: |
54
+ BUILD=.docs_build
55
+ mkdir -p $BUILD
56
+
57
+ if [ -d docs ]; then cp -r docs $BUILD/docs; fi
58
+ if [ -d spec ]; then cp -r spec $BUILD/spec; fi
59
+ if [ -d examples ]; then cp -r examples $BUILD/examples; fi
60
+
61
+ for fname in README.md CHANGELOG.md CONTRIBUTING.md GOVERNANCE.md ROADMAP.md LIMITATIONS.md CNAME; do
62
+ if [ -f "$fname" ]; then cp "$fname" "$BUILD/$fname"; fi
63
+ done
64
+
65
+ echo "Build dir contains $(find $BUILD -type f | wc -l) files"
66
+
67
+ - name: Generate build config
68
+ run: |
69
+ sed 's|^docs_dir: \.$|docs_dir: .docs_build|' mkdocs.yml > .mkdocs_build.yml
70
+
71
+ - name: Build and deploy to GitHub Pages
72
+ run: mkdocs gh-deploy --force --clean --config-file .mkdocs_build.yml
@@ -8,4 +8,4 @@ To add your organization, open a pull request editing this file.
8
8
 
9
9
  | Organization | Usage |
10
10
  |---|---|
11
- | Opaque Systems | Founding contributor — developed the initial specification, reference implementation, and TRACE registry infrastructure |
11
+ | OPAQUE Systems | Founding contributor — developed the initial specification, reference implementation, and TRACE registry infrastructure |
@@ -0,0 +1,26 @@
1
+ # Antitrust Policy
2
+
3
+ TRACE is an open specification project hosted under the agentrust-io organization and targeting donation to the Agentic AI Foundation (AAIF) under the Linux Foundation. Participation in this project is subject to antitrust and competition laws.
4
+
5
+ ## Prohibited topics
6
+
7
+ The following topics must not be discussed in any project forum, issue, PR, mailing list, meeting, or chat channel:
8
+
9
+ - Prices, pricing strategies, or cost structures of any product or service
10
+ - Market allocation, geographic territories, or customer segmentation
11
+ - Bids, contracts, or terms with any customer or competitor
12
+ - Whether to deal with, or boycott, any company or individual
13
+ - Production volumes, capacity plans, or sales forecasts
14
+ - Any other competitively sensitive business information
15
+
16
+ ## What is appropriate
17
+
18
+ Project discussions must be limited to technical matters: specification design, cryptographic protocols, SDK implementation, conformance test coverage, and interoperability. Commercial decisions are for each organization to make independently.
19
+
20
+ ## Reporting
21
+
22
+ If you observe discussion that appears to violate this policy, stop the discussion immediately and report it to the Project Lead via private GitHub message or email. Do not continue the discussion or document it further in project channels.
23
+
24
+ ## Questions
25
+
26
+ If you are uncertain whether a topic is appropriate for project discussion, consult your organization's legal counsel before participating.
@@ -9,6 +9,19 @@ Format: [Semantic Versioning](https://semver.org/). Spec versions follow `MAJOR.
9
9
 
10
10
  ---
11
11
 
12
+ ## [0.3.0] — 2026-06-30
13
+
14
+ ### Security
15
+
16
+ - `verify_record` now requires an explicit trusted key. Self-verification from the embedded `cnf.jwk` is no longer the default; use `allow_embedded_key=True` to opt in.
17
+ - Verification enforces freshness (`iat` / `max_age_seconds`, default 24h) and an optional `expected_nonce`. JWK `kty` / `crv` are validated.
18
+
19
+ ### Breaking
20
+
21
+ - **BREAKING:** Canonicalization is now RFC 8785 (JCS). Trust records are NOT cross-verifiable with 0.2.0 (the prior `json.dumps` canonicalization was non-conformant).
22
+
23
+ ---
24
+
12
25
  ## [0.1.0] — 2026-06-23
13
26
 
14
27
  Initial public draft. Announced at Confidential Computing Summit, San Francisco.
@@ -35,7 +48,26 @@ Initial public draft. Announced at Confidential Computing Summit, San Francisco.
35
48
 
36
49
  ### Open questions
37
50
 
38
- Seven open questions requiring founding-member input before v0.2 are documented in §7 of the spec.
51
+ Seven open questions requiring community input before v0.2 are documented in §7 of the spec.
52
+
53
+ ---
54
+
55
+ ## [0.2.0] — TBD
56
+
57
+ ### Specification
58
+
59
+ - Extend `subject` field to accept DID URIs (any `did:` method) in addition to SPIFFE SVIDs.
60
+ Previously `^spiffe://` only; now `^(spiffe://|did:)`. Additive, backward-compatible.
61
+ DID-native runtimes (e.g. AGT `did:mesh:` identities) no longer require a parallel SPIFFE identity.
62
+ Closes: microsoft/agent-governance-toolkit ADR-0032, agentrust-io/trace-spec#35.
63
+
64
+ ### Schema
65
+
66
+ - `schema/trace-claim.json`: `subject` pattern updated to `^(spiffe://|did:)`, description updated.
67
+
68
+ ### Reference Implementation
69
+
70
+ - `TrustRecord.subject` pattern updated to `r"^(spiffe://|did:)"`.
39
71
 
40
72
  ---
41
73
 
@@ -0,0 +1 @@
1
+ trace.agentrust-io.com
@@ -0,0 +1,55 @@
1
+ # Known Limitations
2
+
3
+ This document describes what TRACE does not do, and where layered defenses are needed. Honest scope boundaries prevent misplaced trust.
4
+
5
+ ## What a TRACE claim does not prevent
6
+
7
+ **Operator-forged software-only records**
8
+ A TRACE claim at Level 0 (software-only signing) is signed by a key held in software. A privileged operator with root access can produce a valid-looking Level 0 record for a run that never happened, or that violated policy. Level 0 is suitable for development and audit-trail tooling only — not for third-party verification.
9
+
10
+ **Replay of a valid past record**
11
+ A TRACE claim proves a specific run happened; it does not prevent a verifier from being shown a valid record from an earlier run. Verifiers that rely on recency must check the `iat` and `exp` claims, require nonce binding to a challenge, or anchor records to a public transparency log and check for freshness.
12
+
13
+ **Policy correctness**
14
+ The `policy.bundle_hash` field attests that a specific policy was in force at runtime. It does not attest that the policy achieves the intended security outcome. Policy review is a separate control.
15
+
16
+ **What happened inside the model**
17
+ The call transcript records tool invocations, arguments, and responses that are observable at the gateway boundary. It does not record the model's internal chain-of-thought, intermediate reasoning, or context window contents. Reasoning that influences behavior without producing a tool call is not captured.
18
+
19
+ **Cross-boundary data propagation**
20
+ The call graph summary uses temporal adjacency to approximate data flow between tool calls. It cannot definitively prove which specific data from one tool response influenced which subsequent call. The `provenance_disclaimer` field in every call graph summary is required for this reason.
21
+
22
+ **TEE side-channel attacks**
23
+ Hardware attestation proves the TRACE signing key and policy engine were measured in silicon before execution. It does not protect against side-channel attacks (cache timing, power analysis) targeting the TEE itself. TEE-level side-channel defense is the responsibility of the TEE platform vendor.
24
+
25
+ **Revocation of the signing key after issuance**
26
+ If the TRACE signing key is compromised after records are issued, existing records remain cryptographically valid. Key monitoring, rapid revocation, and transparency log integration are the required controls — TRACE provides the anchoring mechanism but cannot detect compromise itself.
27
+
28
+ ## What Level 0 does not provide
29
+
30
+ Level 0 (software-only signing) is suitable for development, internal audit trails, and staging environments. It does not satisfy:
31
+
32
+ - EU AI Act Art. 12 (tamper-evident logging) — requires Level 1+
33
+ - DORA Art. 9 (ICT risk management) — requires Level 1+ with transparency log anchoring
34
+ - Any claim of hardware-rooted trust — the signing key is held in software and can be extracted by a privileged operator
35
+
36
+ ## What the SDK does not do
37
+
38
+ - **Evaluate Cedar policy** — the SDK includes the Cedar policy field in the claim; evaluation requires the Cedar engine (included in AGT or cMCP)
39
+ - **Store or index records** — the SDK produces and verifies TRACE claim documents; storage, rotation, and retrieval are the caller's responsibility
40
+ - **Anchor to a transparency log** — the SDK generates records suitable for SCITT anchoring; submission to a transparency log requires a separate SCITT client
41
+ - **Replace a secrets manager** — signing private keys must be stored in a secrets manager (Azure Key Vault, AWS Secrets Manager, HSM); do not store them on disk without protection
42
+ - **Provide an authoritative verification service** — the self-hosted verifier confirms cryptographic validity against the issuer's key; authoritative third-party verification with SLA is a separate commercial service
43
+
44
+ ## Performance
45
+
46
+ Hardware attestation adds latency at the point of claim generation (not per-tool-call):
47
+
48
+ | Provider | Typical claim signing latency |
49
+ |---|---|
50
+ | Software (Level 0) | < 1 ms |
51
+ | TPM | 50–200 ms |
52
+ | SEV-SNP | 10–50 ms |
53
+ | TDX | 10–50 ms |
54
+
55
+ Claim verification (signature check + schema validation) is < 5 ms in all cases.
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Affiliation | GitHub | Contact |
6
6
  |---|---|---|---|
7
- | Imran Siddique | OPAQUE Systems | @imraan | imran.siddique@opaque.co |
7
+ | Imran Siddique | OPAQUE Systems | @imraan | maintainers@agentrust.io |
8
8
 
9
9
  The Project Lead has final decision authority on specification changes, AAIF/CoSAI submission scope, conformance requirements, and Maintainer appointments.
10
10
 
@@ -0,0 +1,21 @@
1
+ TRACE
2
+ Copyright 2026 AgenTrust Authors
3
+
4
+ This product includes software developed by the AgenTrust project
5
+ (https://github.com/agentrust-io/trace-spec).
6
+
7
+ ---
8
+
9
+ Third-party components used by the Python SDK:
10
+
11
+ pydantic
12
+ License: MIT
13
+ https://github.com/pydantic/pydantic
14
+
15
+ jsonschema
16
+ License: MIT
17
+ https://github.com/python-jsonschema/jsonschema
18
+
19
+ jcs (dev dependency — RFC 8785 canonical JSON)
20
+ License: MIT
21
+ https://github.com/nicowillis/jcs
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.4
2
+ Name: agentrust-trace
3
+ Version: 0.3.0
4
+ Summary: TRACE v0.1 — hardware-attested governance records for AI agents
5
+ Project-URL: Homepage, https://github.com/agentrust-io/trace-spec
6
+ Project-URL: Repository, https://github.com/agentrust-io/trace-spec
7
+ Project-URL: Issues, https://github.com/agentrust-io/trace-spec/issues
8
+ Project-URL: Changelog, https://github.com/agentrust-io/trace-spec/blob/main/CHANGELOG.md
9
+ License: Apache-2.0
10
+ License-File: LICENSE
11
+ License-File: NOTICE
12
+ Keywords: ai-governance,attestation,confidential-computing,eat,rats,tee,trace
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
+ Classifier: Topic :: Security
21
+ Classifier: Typing :: Typed
22
+ Requires-Python: >=3.11
23
+ Requires-Dist: cryptography>=42.0
24
+ Requires-Dist: jsonschema>=4.20
25
+ Requires-Dist: pydantic>=2.0
26
+ Requires-Dist: rfc8785>=0.1.2
27
+ Provides-Extra: dev
28
+ Requires-Dist: mypy>=1.10; extra == 'dev'
29
+ Requires-Dist: pytest-cov>=5.0; extra == 'dev'
30
+ Requires-Dist: pytest>=8.0; extra == 'dev'
31
+ Requires-Dist: ruff>=0.4; extra == 'dev'
32
+ Requires-Dist: types-jsonschema; extra == 'dev'
33
+ Description-Content-Type: text/markdown
34
+
35
+ <p align="center">
36
+ <img src="docs/assets/icon.svg" width="96" height="96" alt="TRACE"/>
37
+ </p>
38
+
39
+ # TRACE: Trust Runtime Attestation and Compliance Evidence
40
+
41
+ <p align="center">
42
+ <a href="https://trace.agentrust-io.com">
43
+ <img src="https://img.shields.io/badge/%F0%9F%93%96_Full_Documentation-trace.agentrust--io.com-8251EE?style=for-the-badge&logoColor=white" alt="Full Documentation" height="40">
44
+ </a>
45
+ </p>
46
+
47
+ <p align="center">
48
+ <a href="spec/trace-v0.1.md">Specification</a> &nbsp;|&nbsp;
49
+ <a href="schema/trace-claim.json">Schema</a> &nbsp;|&nbsp;
50
+ <a href="examples/">Examples</a> &nbsp;|&nbsp;
51
+ <a href="https://github.com/agentrust-io/trace-registry">Registry</a> &nbsp;|&nbsp;
52
+ <a href="https://github.com/agentrust-io/trace-tests">Test Suite</a> &nbsp;|&nbsp;
53
+ <a href="https://github.com/agentrust-io/cmcp">Reference Impl</a>
54
+ </p>
55
+
56
+ [![License: CC BY 4.0](https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg)](LICENSE)
57
+ [![Spec](https://img.shields.io/badge/Spec-v0.1-0ea5e9)](spec/trace-v0.1.md)
58
+ [![PyPI](https://img.shields.io/pypi/v/agentrust-trace)](https://pypi.org/project/agentrust-trace/)
59
+ [![CI](https://github.com/agentrust-io/trace-spec/actions/workflows/ci.yml/badge.svg)](https://github.com/agentrust-io/trace-spec/actions/workflows/ci.yml)
60
+ [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white&style=flat)](https://discord.gg/grgzFEHgkj)
61
+
62
+ > **Developer Preview.** Launching at Confidential Computing Summit, June 23 2026.
63
+
64
+ An open specification for hardware-attested AI agent governance records. TRACE defines the format, anchoring protocol, and verification rules for cryptographically provable evidence that an AI agent ran under a specific policy, in a verified hardware environment, on classified data, invoking identified tools — bound into a single signed artifact rooted in silicon attestation.
65
+
66
+ A TRACE Trust Record answers: _what ran, where, under which policy, touching which data, calling which tools_ — in a form any third party can verify without trusting the operator.
67
+
68
+ ## Quick start
69
+
70
+ ```bash
71
+ pip install agentrust-trace
72
+ ```
73
+
74
+ ```python
75
+ from agentrust_trace import TrustRecord, sign_record
76
+
77
+ record = TrustRecord(
78
+ subject="spiffe://trust.example.org/agent/payments-processor",
79
+ model_id="claude-sonnet-4-6",
80
+ platform="amd-sev-snp",
81
+ policy_hash="sha256:b2c3d4...",
82
+ )
83
+ signed = sign_record(record, key=signing_key)
84
+ ```
85
+
86
+ ## Resources
87
+
88
+ | | |
89
+ |---|---|
90
+ | 📖 Full documentation | [trace.agentrust-io.com](https://trace.agentrust-io.com) |
91
+ | 📄 Specification | [spec/trace-v0.1.md](spec/trace-v0.1.md) |
92
+ | 🔍 Schema | [schema/trace-claim.json](schema/trace-claim.json) |
93
+ | 📦 PyPI | [agentrust-trace](https://pypi.org/project/agentrust-trace/) |
94
+ | 🧪 Test suite | [trace-tests](https://github.com/agentrust-io/trace-tests) |
95
+ | 🗂 Registry | [trace-registry](https://github.com/agentrust-io/trace-registry) |
96
+ | 🔗 Reference implementation | [cmcp](https://github.com/agentrust-io/cmcp) |
97
+ | 💬 Discussions | [GitHub Discussions](https://github.com/orgs/agentrust-io/discussions) |
98
+ | 📋 Changelog | [CHANGELOG.md](CHANGELOG.md) |
99
+
100
+ ## Standards alignment
101
+
102
+ Targeting the [Agentic AI Foundation (AAIF)](https://agenticai.foundation) at the Linux Foundation. Active standardization track in [CoSAI WS4](https://github.com/oasis-open-projects/coalition-for-secure-ai). Builds on [RFC 9711 (EAT)](https://www.rfc-editor.org/rfc/rfc9711), [RFC 9334 (RATS)](https://www.rfc-editor.org/rfc/rfc9334), and SCITT draft-22.
103
+
104
+ ## Contributing
105
+
106
+ See [CONTRIBUTING.md](CONTRIBUTING.md) and [GOVERNANCE.md](GOVERNANCE.md). All contributors must agree to the [ANTITRUST.md](ANTITRUST.md) policy.
@@ -0,0 +1,72 @@
1
+ <p align="center">
2
+ <img src="docs/assets/icon.svg" width="96" height="96" alt="TRACE"/>
3
+ </p>
4
+
5
+ # TRACE: Trust Runtime Attestation and Compliance Evidence
6
+
7
+ <p align="center">
8
+ <a href="https://trace.agentrust-io.com">
9
+ <img src="https://img.shields.io/badge/%F0%9F%93%96_Full_Documentation-trace.agentrust--io.com-8251EE?style=for-the-badge&logoColor=white" alt="Full Documentation" height="40">
10
+ </a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="spec/trace-v0.1.md">Specification</a> &nbsp;|&nbsp;
15
+ <a href="schema/trace-claim.json">Schema</a> &nbsp;|&nbsp;
16
+ <a href="examples/">Examples</a> &nbsp;|&nbsp;
17
+ <a href="https://github.com/agentrust-io/trace-registry">Registry</a> &nbsp;|&nbsp;
18
+ <a href="https://github.com/agentrust-io/trace-tests">Test Suite</a> &nbsp;|&nbsp;
19
+ <a href="https://github.com/agentrust-io/cmcp">Reference Impl</a>
20
+ </p>
21
+
22
+ [![License: CC BY 4.0](https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg)](LICENSE)
23
+ [![Spec](https://img.shields.io/badge/Spec-v0.1-0ea5e9)](spec/trace-v0.1.md)
24
+ [![PyPI](https://img.shields.io/pypi/v/agentrust-trace)](https://pypi.org/project/agentrust-trace/)
25
+ [![CI](https://github.com/agentrust-io/trace-spec/actions/workflows/ci.yml/badge.svg)](https://github.com/agentrust-io/trace-spec/actions/workflows/ci.yml)
26
+ [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white&style=flat)](https://discord.gg/grgzFEHgkj)
27
+
28
+ > **Developer Preview.** Launching at Confidential Computing Summit, June 23 2026.
29
+
30
+ An open specification for hardware-attested AI agent governance records. TRACE defines the format, anchoring protocol, and verification rules for cryptographically provable evidence that an AI agent ran under a specific policy, in a verified hardware environment, on classified data, invoking identified tools — bound into a single signed artifact rooted in silicon attestation.
31
+
32
+ A TRACE Trust Record answers: _what ran, where, under which policy, touching which data, calling which tools_ — in a form any third party can verify without trusting the operator.
33
+
34
+ ## Quick start
35
+
36
+ ```bash
37
+ pip install agentrust-trace
38
+ ```
39
+
40
+ ```python
41
+ from agentrust_trace import TrustRecord, sign_record
42
+
43
+ record = TrustRecord(
44
+ subject="spiffe://trust.example.org/agent/payments-processor",
45
+ model_id="claude-sonnet-4-6",
46
+ platform="amd-sev-snp",
47
+ policy_hash="sha256:b2c3d4...",
48
+ )
49
+ signed = sign_record(record, key=signing_key)
50
+ ```
51
+
52
+ ## Resources
53
+
54
+ | | |
55
+ |---|---|
56
+ | 📖 Full documentation | [trace.agentrust-io.com](https://trace.agentrust-io.com) |
57
+ | 📄 Specification | [spec/trace-v0.1.md](spec/trace-v0.1.md) |
58
+ | 🔍 Schema | [schema/trace-claim.json](schema/trace-claim.json) |
59
+ | 📦 PyPI | [agentrust-trace](https://pypi.org/project/agentrust-trace/) |
60
+ | 🧪 Test suite | [trace-tests](https://github.com/agentrust-io/trace-tests) |
61
+ | 🗂 Registry | [trace-registry](https://github.com/agentrust-io/trace-registry) |
62
+ | 🔗 Reference implementation | [cmcp](https://github.com/agentrust-io/cmcp) |
63
+ | 💬 Discussions | [GitHub Discussions](https://github.com/orgs/agentrust-io/discussions) |
64
+ | 📋 Changelog | [CHANGELOG.md](CHANGELOG.md) |
65
+
66
+ ## Standards alignment
67
+
68
+ Targeting the [Agentic AI Foundation (AAIF)](https://agenticai.foundation) at the Linux Foundation. Active standardization track in [CoSAI WS4](https://github.com/oasis-open-projects/coalition-for-secure-ai). Builds on [RFC 9711 (EAT)](https://www.rfc-editor.org/rfc/rfc9711), [RFC 9334 (RATS)](https://www.rfc-editor.org/rfc/rfc9334), and SCITT draft-22.
69
+
70
+ ## Contributing
71
+
72
+ See [CONTRIBUTING.md](CONTRIBUTING.md) and [GOVERNANCE.md](GOVERNANCE.md). All contributors must agree to the [ANTITRUST.md](ANTITRUST.md) policy.
@@ -9,7 +9,7 @@ Announced at Confidential Computing Summit, San Francisco, June 23 2026.
9
9
  - Wire formats: EAT/JWT and CBOR-COSE
10
10
  - Hardware roots: NVIDIA H100/Blackwell, Intel TDX, AMD SEV-SNP, Azure MAA, GCP Confidential Space, AWS Nitro
11
11
  - JSON Schema and three hardware examples
12
- - Reference implementation: cMCP Phase 1 (runtime trust, no policy enforcement)
12
+ - Reference implementation: cMCP Phase 1 (Cedar policy enforcement, TRACE Level 2 emission)
13
13
 
14
14
  **Not in v0.1:** MCP profile (normative), A2A profile, vendor platform annexes, OWASP/ATLAS cross-walks, encrypted claims envelope.
15
15
 
@@ -45,4 +45,4 @@ Driven by founding-member feedback and open questions from §7 of the spec.
45
45
 
46
46
  ## Influencing the roadmap
47
47
 
48
- Open a GitHub issue with the `spec` or `roadmap` label. Founding-member and vendor feedback from the CC Summit period (June–September 2026) has priority for v0.2 scope.
48
+ Open a GitHub issue with the `spec` or `roadmap` label. Contributor and community feedback from the CC Summit period (June–September 2026) has priority for v0.2 scope.
@@ -2,14 +2,16 @@
2
2
  <defs>
3
3
  <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
4
4
  <stop offset="0%" stop-color="#f5f3ff"/>
5
- <stop offset="100%" stop-color="#e0f2fe"/>
5
+ <stop offset="100%" stop-color="#ede9fe"/>
6
6
  </linearGradient>
7
7
  <linearGradient id="brand" x1="0" y1="0" x2="1" y2="1">
8
- <stop offset="0%" stop-color="#7c3aed"/>
9
- <stop offset="100%" stop-color="#0ea5e9"/>
8
+ <stop offset="0%" stop-color="#5BD2BE"/>
9
+ <stop offset="50%" stop-color="#8251EE"/>
10
+ <stop offset="100%" stop-color="#C661F7"/>
10
11
  </linearGradient>
11
12
  </defs>
12
13
  <rect width="400" height="400" fill="url(#bg)"/>
14
+ <!-- Shield -->
13
15
  <path d="M200,58 L326,112 L326,224 C326,298 268,340 200,360 C132,340 74,298 74,224 L74,112 Z"
14
16
  fill="url(#brand)" opacity="0.10" stroke="url(#brand)" stroke-width="3.5" stroke-linejoin="round"/>
15
17
  <!-- Eye outline -->
@@ -0,0 +1,65 @@
1
+ # OWASP Agentic AI Top 10 Evidence Cross-walk
2
+
3
+ > **Non-normative.** This document is informative only. Nothing here changes TRACE v0.1 schema fields, wire formats, required claims, or conformance requirements. References to "TRACE" mean the TRACE v0.1 Trust Record as defined in [`spec/trace-v0.1.md`](../../spec/trace-v0.1.md).
4
+
5
+ ---
6
+
7
+ ## Purpose
8
+
9
+ OWASP's Agentic AI Top 10 (ASI01–ASI10) names the principal risk categories for autonomous AI agents. TRACE is an evidence and attestation layer: it does not prevent these risks, but it produces verifiable, hardware-rooted records that support audit, incident review, and governance verification after or during execution.
10
+
11
+ This page answers a concrete question for each OWASP risk: which TRACE Trust Record claims carry relevant evidence, what that evidence actually proves, and where TRACE v0.1 leaves a gap that a future profile would need to close.
12
+
13
+ Field names are exact TRACE v0.1 claim names as specified in §3.1 of the spec. Sub-field references such as `policy.bundle_hash`, `runtime.platform`, and `appraisal.status` refer to the nested fields shown in the §3.2 wire-format example.
14
+
15
+ ---
16
+
17
+ ## Mapping table
18
+
19
+ | OWASP risk | Relevant TRACE claims | Evidence TRACE can provide | Limitations / out of scope | Future TRACE profile need |
20
+ |---|---|---|---|---|
21
+ | **ASI01: Agent Goal Hijack** | `policy`, `tool_transcript`, `data_class`, `runtime`, `transparency` | `policy.bundle_hash` shows which policy was bound at execution time; `policy.enforcement_mode` shows whether it ran in `enforce` or `silent`; `tool_transcript.hash` and `tool_transcript.call_count` show the scope of tool activity; `data_class` shows the sensitivity of data processed; `transparency` anchors the record to an append-only log for independent audit. | Does not capture the agent's internal goal representation or reasoning chain. Does not itself detect or block prompt injection. A hijacked goal that stays within recorded tool boundaries leaves no additional fingerprint in v0.1 claims. | MCP/A2A profile fields for intent binding, goal hash, prompt-to-plan linkage, and per-decision policy outcome records. |
22
+ | **ASI02: Tool Misuse and Exploitation** | `tool_transcript`, `policy`, `data_class`, `runtime`, `transparency` | `tool_transcript.hash` binds the transcript of tool invocations crossing a protocol boundary (MCP, A2A) into the signed record; `tool_transcript.call_count` bounds the observed call volume; `policy.bundle_hash` and `policy.enforcement_mode` show what rules were in force; `data_class` shows the sensitivity classification applied at the call layer; `runtime.platform` and `runtime.measurement` bind the execution environment. | `tool_transcript` covers calls crossing an instrumented protocol boundary. Functions embedded inside the deployed binary are bound only by `build_provenance` and `model`, not by per-invocation transcript records. Does not prove each call was semantically appropriate without per-call policy decision records. | MCP profile for per-call tool identity, parameters, egress data class, and allow/deny decision outcome per invocation. |
23
+ | **ASI03: Identity and Privilege Abuse** | `subject`, `cnf`, `signature`, `runtime`, `policy`, `appraisal` | `subject` carries the SPIFFE SVID binding workload identity to a TEE-held key; `cnf` binds the signing key to the TEE via the hardware measurement in `runtime`; `appraisal.status` records the verifier's judgment of the evidence against policy; `policy.bundle_hash` shows what authorization rules were bound. Together these allow a verifier to confirm that the claimed identity corresponded to a genuine, measured workload at record issuance time. | Does not replace IAM or RBAC systems. Does not prove that external permissions granted to the workload were correctly scoped. Does not cover lateral movement or privilege escalation that occurred at infrastructure layers outside the TEE boundary. | Delegation profile fields for scoped credentials, audience restriction, purpose binding, and per-action authorization evidence. |
24
+ | **ASI04: Agentic Supply Chain Vulnerabilities** | `build_provenance`, `model`, `runtime`, `transparency`, `appraisal` | `build_provenance.slsa_level`, `build_provenance.builder`, and `build_provenance.digest` bind build-time provenance to the running workload; `model.weights_digest` and `model.model_id` bind the model artifact; `runtime.measurement` and `runtime.rim_uri` bind the runtime image to vendor-published Reference Integrity Manifests; `transparency` provides an append-only anchor for the full record. | Does not enumerate every transitive dependency. Does not detect malicious code that was present at build time but is not reflected in measurement divergence. Does not prove model behavior is safe -- only that the identified artifact was the one that executed. | Richer AIBOM/SBOM linkage in the `model` sub-claim; vendor platform annexes specifying per-silicon supply-chain appraisal criteria. |
25
+ | **ASI05: Unexpected Code Execution** | `runtime`, `build_provenance`, `tool_transcript`, `policy`, `appraisal` | `runtime.measurement` shows what workload and container digest were loaded; `build_provenance.digest` and `build_provenance.slsa_level` bind the build artifact; `tool_transcript.hash` captures tool invocations at protocol boundaries; `appraisal.status` records whether the verifier accepted the runtime evidence against current RIMs. | Does not prevent code execution. Does not prove no code ran outside the recorded `tool_transcript` scope: inline code execution embedded in the workload binary is not captured at invocation granularity by v0.1 claims. | Tool and code-execution profile: sandbox identity, command execution transcript hash, filesystem and network boundary evidence per invocation. |
26
+ | **ASI06: Memory and Context Poisoning** | `model`, `data_class`, `tool_transcript`, `build_provenance`, `transparency` | `model.model_id` and `model.weights_digest` identify the model artifact; `data_class` records the sensitivity classification applied to inputs and outputs; `tool_transcript.hash` captures context-retrieval calls that crossed an instrumented boundary; `build_provenance.digest` binds the build artifact that includes any vector-store or RAG client code. | TRACE v0.1 does not bind memory snapshots, RAG corpus roots, embedding-store contents, or poisoning scan results. Context provenance -- where retrieved chunks originated and whether they were validated -- is not a v0.1 claim. | Memory and RAG profile: context source hashes, corpus Merkle roots, poisoning scan status, namespace and tenant boundary evidence. |
27
+ | **ASI07: Insecure Inter-Agent Communication** | `subject`, `cnf`, `signature`, `runtime`, `tool_transcript`, `transparency` | `subject` and `cnf` establish and bind workload identity for each participating agent; `signature` (or the enveloping-signature equivalent) proves record integrity; `runtime.measurement` binds the TEE that produced the record; `tool_transcript.hash` anchors the inter-agent call transcript; `transparency` anchors the record in an append-only log accessible to any verifier. | TRACE v0.1 does not define a normative A2A profile. Message-level semantic validation, nonce binding per message, and delegation chain records across multiple hops are not v0.1 claims. | A2A profile: peer agent identity, per-message hash, audience restriction, nonce, delegation chain, and protocol version binding. |
28
+ | **ASI08: Cascading Failures** | `tool_transcript`, `transparency`, `subject`, `appraisal`, `policy` | `tool_transcript.hash` and `tool_transcript.call_count` provide a bounded activity record for post-incident traceability; `subject` identifies the workload at each hop where a Trust Record was issued; `appraisal.status` and `appraisal.verifier` record the verification outcome; `policy.bundle_hash` shows what controls were bound; `transparency` provides an auditable anchor for reconstructing the sequence of records. | Does not itself detect cascade conditions, stop propagation, or reconstruct full multi-agent lineage unless every participating agent issued Trust Records and those records are correlated at analysis time. Lineage reconstruction requires out-of-band tooling. | Workflow provenance profile: parent/child record references, propagation lineage identifiers, blast-radius counters, and circuit-breaker event records. |
29
+ | **ASI09: Human-Agent Trust Exploitation** | `tool_transcript`, `policy`, `data_class`, `transparency`, `appraisal` | `tool_transcript.hash` records the set of actions the agent took at protocol boundaries; `policy.bundle_hash` and `policy.enforcement_mode` show what rules were in force; `data_class` records the sensitivity class of data involved; `appraisal.status` provides the verifier's assessment; `transparency` anchors the record for independent audit. Collectively these support a post-incident review of what the agent was authorized to do and what it did. | Does not prove what a human was shown in the UI, whether the explanation was accurate, or whether informed consent was obtained. Does not detect social engineering at the human layer. | HITL (human-in-the-loop) evidence profile: approval record, reviewer identity, hash of displayed risk summary, and human decision evidence bound into the Trust Record. |
30
+ | **ASI10: Rogue Agents** | `subject`, `runtime`, `cnf`, `signature`, `policy`, `tool_transcript`, `appraisal`, `transparency` | The full v0.1 claim set combines hardware-bound identity (`subject`, `cnf`), measured execution environment (`runtime`), policy binding (`policy.bundle_hash`, `policy.enforcement_mode`), tool activity (`tool_transcript`), verifier judgment (`appraisal.status`), and transparency anchoring (`transparency`) into one signed, independently verifiable record. A verifier can confirm that the agent presenting this record ran as a measured, policy-bound workload with a TEE-rooted identity at the stated time. | Does not determine behavioral intent. Does not detect rogue behavior that remained within the boundary of recorded claims. A workload can issue a valid Trust Record and still behave in ways the record does not constrain at inference time. | Behavioral integrity profile: declared capability manifest hash, expected tool set, execution baseline hash, and anomaly or quarantine event records. |
31
+
32
+ ---
33
+
34
+ ## What TRACE does not do
35
+
36
+ The table above surfaces per-risk scope boundaries. These apply across all ten risks:
37
+
38
+ **TRACE does not prevent OWASP Agentic AI risks.** TRACE is an evidence and attestation layer. It records what happened -- what executed, under what policy, in what environment, on what data class, invoking what tools -- and binds that record cryptographically to a hardware root of trust. Controls that act before, during, or around execution (firewalls, guardrails, RBAC, prompt filters, sandboxing) are out of scope.
39
+
40
+ **TRACE does not adjudicate model behavior.** As stated in §2.4 of the spec, prompt injection, jailbreaks, hallucination, and alignment drift are permanent scope boundaries. TRACE proves what model artifact executed and what countermeasures were bound; it does not evaluate whether the model's output was correct or intended.
41
+
42
+ **TRACE v0.1 does not cover intra-binary execution.** `tool_transcript` captures invocations crossing an instrumented protocol boundary (MCP, A2A, or equivalent). Code paths executed inside the deployed binary -- including embedded tool dispatch, in-process memory reads, or direct API calls -- are bound only by `build_provenance` and `model`, not at invocation granularity.
43
+
44
+ **TRACE does not replace IAM, RBAC, or network controls.** `subject` and `cnf` establish and bind workload identity, but the permissions granted to that identity by external systems are outside the Trust Record. A correctly identified workload can still hold excessive privileges.
45
+
46
+ **TRACE does not capture UI or human-layer interactions.** What a human sees, approves, or consents to is not a v0.1 claim. This affects ASI09 directly and is a gap for any risk that involves human oversight.
47
+
48
+ **TRACE does not reconstruct multi-agent lineage automatically.** Records from multiple agents can be correlated by a verifier using `subject`, `transparency`, and `tool_transcript` identifiers, but the v0.1 schema has no normative parent/child record pointer. Lineage reconstruction requires out-of-band analysis tooling and is addressed in the v0.2 workflow provenance profile item.
49
+
50
+ ---
51
+
52
+ ## Relationship to the TRACE roadmap
53
+
54
+ This cross-walk is a v0.2 roadmap item listed in [`ROADMAP.md`](../../ROADMAP.md). The "Future TRACE profile need" column in the table above describes the additional claim structures that would close each gap; those profiles are separate roadmap items and will be specified in later releases.
55
+
56
+ The MITRE ATLAS cross-walk (a separate v0.2 item) will address tactics and techniques at a finer granularity than the OWASP risk categories here.
57
+
58
+ ---
59
+
60
+ ## References
61
+
62
+ - OWASP Agentic AI Top 10: <https://genai.owasp.org/>
63
+ - TRACE v0.1 specification: [`spec/trace-v0.1.md`](../../spec/trace-v0.1.md)
64
+ - TRACE roadmap: [`ROADMAP.md`](../../ROADMAP.md)
65
+ - MITRE ATLAS: <https://atlas.mitre.org/>
@@ -0,0 +1,68 @@
1
+ # Glossary
2
+
3
+ Terms used in the TRACE specification and documentation.
4
+
5
+ ---
6
+
7
+ **Appraisal**
8
+ The process of evaluating a TEE evidence bundle against a reference integrity manifest (RIM) to produce an `appraisal.status` verdict. An `"affirming"` verdict means the measured environment matches the expected state. Defined in IETF RFC 9334 (RATS).
9
+
10
+ ---
11
+
12
+ **cnf / JWK**
13
+ The TRACE `cnf` field (from RFC 7800) carries a JSON Web Key (`jwk` sub-field) that contains the Ed25519 public key used to sign the record. It is included in the signed payload so the verifier does not need to retrieve the key out-of-band.
14
+
15
+ ---
16
+
17
+ **Conformance**
18
+ A trust record is conformant if it passes all test cases required at its declared trust level. Conformance is verified by the `trace-tests` test suite. Partial conformance (record passes some but not all required tests) is not valid.
19
+
20
+ ---
21
+
22
+ **EAT — Entity Attestation Token**
23
+ A JWT-based format for conveying evidence about a hardware or software entity. TRACE records use the EAT `eat_profile` claim to identify the specific TRACE profile version. Defined in IETF draft-ietf-rats-eat.
24
+
25
+ ---
26
+
27
+ **GatewayClaim**
28
+ A cMCP claim embedded in a TRACE trust record that binds the record to a specific cMCP session. Contains the session ID, gateway DID, and the Cedar policy bundle hash that governed the session.
29
+
30
+ ---
31
+
32
+ **JCS — JSON Canonicalization Scheme**
33
+ RFC 8785. A deterministic serialization of JSON objects: Unicode code-point-ordered keys, no whitespace, IEEE 754 double-precision number encoding. TRACE uses JCS to canonicalize the record before computing the Ed25519 signature.
34
+
35
+ ---
36
+
37
+ **RIM — Reference Integrity Manifest**
38
+ A signed document describing the expected firmware and software measurements for a TEE environment. During Level 1 appraisal, the verifier compares the TEE's runtime measurements against the RIM. The `runtime.rim_uri` field optionally points to a RIM.
39
+
40
+ ---
41
+
42
+ **RATS — Remote Attestation Procedures**
43
+ The IETF working group and architecture (RFC 9334) that defines the roles and flows for remote attestation: Attester (the hardware), Verifier (checks evidence against RIM), Relying Party (consumes the resulting attestation result). TRACE Level 1 and 2 follow the RATS architecture.
44
+
45
+ ---
46
+
47
+ **SCITT — Supply Chain Integrity, Transparency, and Trust**
48
+ An IETF draft standard for append-only transparency logs of software and attestation artifacts. TRACE Level 2 records include a SCITT receipt URI in the `transparency` field, anchoring the record to a public or shared log.
49
+
50
+ ---
51
+
52
+ **SPIFFE / SPIRE**
53
+ SPIFFE (Secure Production Identity Framework For Everyone) defines URI-based workload identities of the form `spiffe://<trust-domain>/<workload-path>`. TRACE requires the `subject` field to be a SPIFFE URI or a DID. SPIRE is the reference implementation.
54
+
55
+ ---
56
+
57
+ **Trust Level**
58
+ A numeric value (0, 1, or 2) that summarizes the strength of the guarantees carried by a trust record. See [Trust Levels](trust-levels.md) for the full definition of each level.
59
+
60
+ ---
61
+
62
+ **Trust Record**
63
+ A signed JSON document emitted by an AI agent at the end of a governed session. It asserts the agent's identity, model, policy, data class, tool invocations, and (at Level 1+) hardware attestation state. Defined in full in the [TRACE Specification](../spec/trace-v0.1.md).
64
+
65
+ ---
66
+
67
+ **Transparency**
68
+ In the TRACE context, transparency means that a trust record has been submitted to an append-only log (SCITT) and can be independently audited by any party with access to the log. The `transparency` field holds the receipt URI. Required at Level 2.