agentrust-trace 0.2.0__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 (77) hide show
  1. agentrust_trace-0.3.0/.github/workflows/docs.yml +72 -0
  2. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/ADOPTERS.md +1 -1
  3. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/CHANGELOG.md +14 -1
  4. agentrust_trace-0.3.0/CNAME +1 -0
  5. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/MAINTAINERS.md +1 -1
  6. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/NOTICE +2 -2
  7. agentrust_trace-0.3.0/PKG-INFO +106 -0
  8. agentrust_trace-0.3.0/README.md +72 -0
  9. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/ROADMAP.md +2 -2
  10. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/docs/assets/icon.svg +5 -3
  11. agentrust_trace-0.3.0/docs/glossary.md +68 -0
  12. agentrust_trace-0.3.0/docs/index.md +73 -0
  13. agentrust_trace-0.3.0/docs/integration/agt.md +139 -0
  14. agentrust_trace-0.3.0/docs/integration/cmcp.md +148 -0
  15. agentrust_trace-0.3.0/docs/platforms/amd-sev-snp.md +65 -0
  16. agentrust_trace-0.3.0/docs/platforms/index.md +34 -0
  17. agentrust_trace-0.3.0/docs/platforms/intel-tdx.md +68 -0
  18. agentrust_trace-0.3.0/docs/platforms/nvidia-h100.md +76 -0
  19. agentrust_trace-0.3.0/docs/quickstart.md +198 -0
  20. agentrust_trace-0.3.0/docs/schema.md +165 -0
  21. agentrust_trace-0.3.0/docs/stylesheets/extra.css +247 -0
  22. agentrust_trace-0.3.0/docs/trust-levels.md +114 -0
  23. agentrust_trace-0.3.0/docs/tutorials/agt-adapter.md +183 -0
  24. agentrust_trace-0.3.0/docs/tutorials/anchoring-to-the-registry.md +172 -0
  25. agentrust_trace-0.3.0/docs/tutorials/hardware-attestation-platforms.md +212 -0
  26. agentrust_trace-0.3.0/docs/tutorials/integrating-with-cmcp.md +171 -0
  27. agentrust_trace-0.3.0/docs/tutorials/signing-your-first-trust-record.md +191 -0
  28. agentrust_trace-0.3.0/docs/tutorials/verifying-a-trust-record.md +259 -0
  29. agentrust_trace-0.3.0/docs/tutorials/verifying-the-audit-chain.md +251 -0
  30. agentrust_trace-0.3.0/docs/verification.md +129 -0
  31. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/examples/amd-sev-snp.json +2 -2
  32. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/examples/intel-tdx.json +2 -2
  33. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/examples/nvidia-h100.json +2 -2
  34. agentrust_trace-0.3.0/examples/tpm2.json +52 -0
  35. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/mkdocs.yml +62 -8
  36. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/pyproject.toml +2 -1
  37. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/spec/trace-v0.1.md +37 -2
  38. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/src/agentrust_trace/__init__.py +5 -0
  39. agentrust_trace-0.3.0/src/agentrust_trace/adapters/__init__.py +5 -0
  40. agentrust_trace-0.3.0/src/agentrust_trace/adapters/agt.py +197 -0
  41. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/src/agentrust_trace/models.py +15 -2
  42. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/src/agentrust_trace/schema/trace-v0.1.json +1 -1
  43. agentrust_trace-0.3.0/src/agentrust_trace/sign.py +223 -0
  44. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/src/agentrust_trace/validate.py +1 -1
  45. agentrust_trace-0.3.0/tests/test_agt_adapter.py +224 -0
  46. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/tests/test_models.py +13 -0
  47. agentrust_trace-0.3.0/tests/test_sign.py +297 -0
  48. agentrust_trace-0.2.0/.github/workflows/docs.yml +0 -43
  49. agentrust_trace-0.2.0/PKG-INFO +0 -167
  50. agentrust_trace-0.2.0/README.md +0 -134
  51. agentrust_trace-0.2.0/docs/stylesheets/extra.css +0 -24
  52. agentrust_trace-0.2.0/src/agentrust_trace/sign.py +0 -80
  53. agentrust_trace-0.2.0/tests/test_sign.py +0 -121
  54. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  55. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  56. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/ISSUE_TEMPLATE/spec_change.md +0 -0
  57. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  58. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/workflows/ci.yml +0 -0
  59. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/workflows/contributor-check.yml +0 -0
  60. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/workflows/publish.yml +0 -0
  61. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/workflows/require-maintainer-approval.yml +0 -0
  62. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/.github/workflows/sbom.yml +0 -0
  63. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/ANTITRUST.md +0 -0
  64. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/CHARTER.md +0 -0
  65. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/CODE_OF_CONDUCT.md +0 -0
  66. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/CONTRIBUTING.md +0 -0
  67. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/GOVERNANCE.md +0 -0
  68. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/LICENSE +0 -0
  69. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/LIMITATIONS.md +0 -0
  70. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/SECURITY.md +0 -0
  71. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/docs/crosswalks/owasp-agentic-top-10.md +0 -0
  72. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/examples/README.md +0 -0
  73. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/requirements-docs.txt +0 -0
  74. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/schema/trace-claim.json +0 -0
  75. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/src/agentrust_trace/py.typed +0 -0
  76. {agentrust_trace-0.2.0 → agentrust_trace-0.3.0}/tests/__init__.py +0 -0
  77. {agentrust_trace-0.2.0 → 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 |
@@ -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,7 @@ 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.
39
52
 
40
53
  ---
41
54
 
@@ -0,0 +1 @@
1
+ trace.agentrust-io.com
@@ -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
 
@@ -1,7 +1,7 @@
1
1
  TRACE
2
- Copyright 2026 AgentTrust Authors
2
+ Copyright 2026 AgenTrust Authors
3
3
 
4
- This product includes software developed by the AgentTrust project
4
+ This product includes software developed by the AgenTrust project
5
5
  (https://github.com/agentrust-io/trace-spec).
6
6
 
7
7
  ---
@@ -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,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.
@@ -0,0 +1,73 @@
1
+ # TRACE
2
+
3
+ **Trust Runtime Attestation and Compliance Evidence** — an open specification for hardware-attested AI agent governance records.
4
+
5
+ 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.
6
+
7
+ ---
8
+
9
+ <div class="grid cards" markdown>
10
+
11
+ - :material-rocket-launch: **Get Started**
12
+
13
+ Install the library, sign your first Trust Record, and verify it end-to-end in minutes.
14
+
15
+ [Quickstart →](quickstart.md)
16
+
17
+ - :material-file-document: **Specification**
18
+
19
+ The normative TRACE v0.1 specification — envelope format, claim types, signing rules, and verification algorithm.
20
+
21
+ [Read the spec →](../spec/trace-v0.1.md)
22
+
23
+ - :material-connection: **Integration**
24
+
25
+ Connect TRACE to AGT and cMCP for end-to-end agent governance pipelines.
26
+
27
+ [Integration guides →](integration/agt.md)
28
+
29
+ - :material-check-all: **Conformance Tests**
30
+
31
+ 197 tests across 7 modules. Verify your implementation against the spec.
32
+
33
+ [Test suite →](https://tests.agentrust-io.com){ target=_blank }
34
+
35
+ </div>
36
+
37
+ ## What a Trust Record proves
38
+
39
+ A TRACE Trust Record answers — in a form any third party can verify without trusting the operator:
40
+
41
+ | Question | TRACE claim |
42
+ |---|---|
43
+ | What model ran? | `model.model_id` + `model.weights_digest` |
44
+ | Where did it run? | `runtime.platform` + `runtime.measurement` |
45
+ | Under which policy? | `policy.bundle_hash` + `policy.enforcement_mode` |
46
+ | What data did it touch? | `data_class` |
47
+ | Which tools were called? | `tool_transcript.hash` + `tool_transcript.call_count` |
48
+ | Is the record independently anchored? | `anchoring.receipt_uri` (SCITT) |
49
+
50
+ ## Standards alignment
51
+
52
+ TRACE is built on open IETF/IRTF standards and designed for CoSAI WS4 interoperability:
53
+
54
+ - **RFC 9711** — CBOR Web Token (CWT) / EAT claim envelope
55
+ - **RFC 9334** — RATS architecture (attester, verifier, relying-party roles)
56
+ - **SCITT draft-22** — transparency ledger anchoring
57
+ - **CoSAI WS4** — AI agent digital lifecycle controls (contributed spec language)
58
+
59
+ ## Quick reference
60
+
61
+ ```bash
62
+ pip install agentrust-trace
63
+ ```
64
+
65
+ ```python
66
+ from agentrust_trace import TrustRecord
67
+
68
+ record = TrustRecord.sign(claims, signing_key)
69
+ receipt = record.anchor() # SCITT ledger
70
+ record.verify(verifying_key) # raises on invalid
71
+ ```
72
+
73
+ [Full API reference →](schema.md) · [Changelog →](../CHANGELOG.md) · [GitHub →](https://github.com/agentrust-io/trace-spec){ target=_blank }
@@ -0,0 +1,139 @@
1
+ # Integration: AGT
2
+
3
+ [AGT (Agent Governance Toolkit)](https://github.com/microsoft/agent-governance-toolkit) is the most widely adopted agent governance framework (4,100+ stars, 100+ contributors). It provides Cedar policy enforcement, SPIFFE/SVID identity, and Merkle-chained audit logs for any agent framework.
4
+
5
+ AGT emits TRACE v0.1 Trust Records via `TRACEAuditSink` — see [ADR 0032](https://github.com/microsoft/agent-governance-toolkit/blob/main/docs/adr/0032-agt-emits-trace-v01-trust-records.md) for the full design.
6
+
7
+ ## What AGT emits
8
+
9
+ AGT emits **Level 0 (software-only)** TRACE records. The record is signed with an Ed25519 key held in the operator's key store — not a TEE-bound key. For Level 2 hardware-rooted records, deploy AGT inside [cMCP](cmcp.md) or another TEE runtime.
10
+
11
+ | TRACE field | Source in AGT |
12
+ |---|---|
13
+ | `subject` | `agent_did` passed to `govern()` |
14
+ | `policy.bundle_hash` | SHA-256 of the Cedar policy bundle bytes at session start |
15
+ | `policy.enforcement_mode` | Always `enforce` (Phase 1) |
16
+ | `tool_transcript.hash` | SHA-256 of the canonical JSON of the Merkle `AuditEntry` list |
17
+ | `tool_transcript.call_count` | Count of `AuditEntry` items in the session |
18
+ | `runtime.platform` | `software-only` |
19
+ | `runtime.measurement` | SHA-256 of the Merkle chain tip |
20
+ | `appraisal.status` | `affirming` (Phase 1) |
21
+ | `model`, `data_class`, `build_provenance` | Injected from `TraceConfig` |
22
+
23
+ ## Install
24
+
25
+ ```bash
26
+ pip install agentmesh agentrust-trace
27
+ ```
28
+
29
+ ## Quick start: TraceAGTAdapter
30
+
31
+ `TraceAGTAdapter` eliminates the ~50-line field-mapping boilerplate. Install:
32
+
33
+ ```bash
34
+ pip install agentrust-trace
35
+ ```
36
+
37
+ One-liner upgrade path for any AGT-governed session:
38
+
39
+ ```python
40
+ from agentrust_trace.adapters import TraceAGTAdapter, AGTSessionResult
41
+ from agentrust_trace import sign_record, generate_key
42
+
43
+ adapter = TraceAGTAdapter(
44
+ model_provider="anthropic",
45
+ model_id="claude-sonnet-4-6",
46
+ model_version="20251001",
47
+ build_provenance_digest="sha256:e5f6a7b8...",
48
+ transparency="https://registry.agentrust.io/claim/...",
49
+ )
50
+
51
+ session = AGTSessionResult(
52
+ agent_did="spiffe://trust.example.org/agent/my-agent",
53
+ policy_bundle_bytes=Path("policy.cedar").read_bytes(),
54
+ audit_entries=govern_fn.get_audit_entries(),
55
+ merkle_chain_tip=govern_fn.chain_tip,
56
+ )
57
+
58
+ record = adapter.build_trust_record(session)
59
+ signed = sign_record(record, generate_key()) # or load_signing_key() for production
60
+ ```
61
+
62
+ → Full walkthrough: [TraceAGTAdapter tutorial](../tutorials/agt-adapter.md)
63
+
64
+ ## Manual wiring (legacy)
65
+
66
+ The following is the raw field-mapping approach — kept for reference. Prefer `TraceAGTAdapter` for new integrations.
67
+
68
+ ```python
69
+ from agentmesh.governance import govern, GovernanceConfig
70
+ from agentmesh.governance.trace_sink import TraceConfig
71
+
72
+ trace_config = TraceConfig(
73
+ output_path="session.trace.json",
74
+ model_provider="anthropic",
75
+ model_id="claude-sonnet-4-6",
76
+ model_version="20251001",
77
+ data_class="confidential",
78
+ build_provenance_slsa_level=2,
79
+ build_provenance_digest="sha256:e5f6a7b8...",
80
+ )
81
+
82
+ config = GovernanceConfig(
83
+ policy_path="policy.cedar",
84
+ trace=trace_config,
85
+ )
86
+
87
+ governed_fn = govern(
88
+ my_tool,
89
+ agent_did="spiffe://trust.example.org/agent/my-agent",
90
+ config=config,
91
+ )
92
+
93
+ result = governed_fn(input)
94
+ path = governed_fn.close_session()
95
+ print(f"Trust Record written to: {path}")
96
+ ```
97
+
98
+ ## Key management
99
+
100
+ Key material is managed entirely by `agentrust_trace.load_signing_key()`. AGT does not hold keys directly.
101
+
102
+ ```bash
103
+ # Set the signing key path via environment variable
104
+ export AGENTRUST_TRACE_KEY_PATH=/run/secrets/trace-signing-key.pem
105
+ ```
106
+
107
+ For production, store the key in a secrets manager (AWS Secrets Manager, HashiCorp Vault, Kubernetes Secret) and inject via environment variable or volume mount.
108
+
109
+ ## Verifying the emitted record
110
+
111
+ ```bash
112
+ agentrust-trace verify session.trace.json --pubkey trace-key.pem.pub
113
+ ```
114
+
115
+ ## Upgrading to Level 2 (hardware-rooted)
116
+
117
+ Deploy your AGT-governed agent inside cMCP. The cMCP runtime:
118
+
119
+ 1. Measures the Cedar policy bundle into the TEE before any code runs
120
+ 2. Generates a TEE-bound key for the TRACE record
121
+ 3. Emits a Level 2 record that supersedes AGT's Level 0 record for the same session
122
+
123
+ The two records are linked by a shared `subject` and `tool_transcript.hash` — AGT's record and cMCP's record are mutually verifiable.
124
+
125
+ → [Integration guide: cMCP](cmcp.md)
126
+
127
+ ## Framework support
128
+
129
+ AGT instruments any Python callable via `govern()`. Confirmed compatible frameworks:
130
+
131
+ | Framework | Notes |
132
+ |---|---|
133
+ | LangGraph | Wrap tool nodes with `govern()` |
134
+ | CrewAI | Wrap task tools |
135
+ | AutoGen | Wrap function tools |
136
+ | Mastra | Via adapter contract |
137
+ | Raw Python | Direct function wrapping |
138
+
139
+ For the full integration list, see the [AGT integrations repo](https://github.com/agentrust-io/integrations).