matrixscroll 0.4.2__tar.gz → 0.5.1__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.
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/.gitignore +3 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/CHANGELOG.md +27 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/PKG-INFO +35 -33
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/README.md +396 -396
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/SPEC.md +55 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/ADOPTER_KIT.md +90 -90
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/CRYPTO_BACKEND.md +6 -1
- matrixscroll-0.5.1/docs/CRYPTO_ROADMAP.md +75 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/FIVE_MINUTES.md +78 -78
- matrixscroll-0.5.1/docs/POC2_AUDIT.md +61 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/ROADMAP_2026-07.md +44 -44
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SECURITY_PROPERTIES.md +18 -3
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SOFTWARE_PRODUCTS.md +53 -53
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/WHITEPAPER.md +146 -146
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/commercial/PLATFORM_PIVOT.md +3 -3
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/commercial/SSX360_SCROLL.md +1 -1
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/hardware-provider.md +60 -60
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-agent.md +1 -1
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-claude-code.md +1 -1
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-git.md +154 -154
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-mcp.md +62 -62
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/registries-guide.md +11 -4
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/ci/protected-branch.yml +74 -74
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/__init__.py +1 -1
- matrixscroll-0.5.1/matrixscroll/canonical.py +38 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/cli.py +71 -1
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/cloud/client.py +3 -0
- matrixscroll-0.5.1/matrixscroll/constants.py +26 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/crypto_backend.py +77 -0
- matrixscroll-0.5.1/matrixscroll/formal.py +46 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/gate.py +16 -1
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/git.py +2 -2
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/manifest.py +29 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/mcp.py +176 -38
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/policy.py +55 -0
- matrixscroll-0.5.1/matrixscroll/pqc.py +208 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/se050_transport.py +225 -225
- matrixscroll-0.5.1/matrixscroll/ssx360_cli.py +331 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/pyproject.toml +14 -4
- matrixscroll-0.5.1/schemas/commit-envelope.v1.1.json +19 -0
- matrixscroll-0.5.1/schemas/pqc-signature.v1.json +37 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_canonical.py +9 -0
- matrixscroll-0.5.1/tests/test_canonical_pqc.py +16 -0
- matrixscroll-0.5.1/tests/test_formal_specs.py +40 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_mcp_server.py +36 -1
- matrixscroll-0.5.1/tests/test_pqc.py +100 -0
- matrixscroll-0.5.1/tests/test_ssx360_cli.py +55 -0
- matrixscroll-0.4.2/matrixscroll/canonical.py +0 -18
- matrixscroll-0.4.2/matrixscroll/constants.py +0 -12
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/CONTRIBUTING.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/LICENSE +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/SECURITY.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/controls/agentic_ai_controls.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/ADOPTION.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/AGENTIC_AI_SECURITY.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/CI_HARD_GATE.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/COMMIT_TIME_VS_ARTIFACT_TIME.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/COMPARISON.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/HERO_DEMO.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SE050_POC_SCOPE.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SE050_USB_PROTOCOL.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/commercial/SCROLL_GATE_V2.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/delegation-attestation-rfc.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/rekor-guac-bridge-design.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/superpowers/plans/2026-06-19-ci-action-plan.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/superpowers/plans/2026-06-19-sdk-refactor-plan.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/superpowers/specs/2026-06-19-matrixscroll-git-design.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/yubikey-bridge.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/yubikey-smoke.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/agentic_ai_evidence_manifest.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/agentic_ai_evidence_manifest.signed.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/commit-envelope.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/commit-envelope.signed.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/demo/agent-commit-demo.sh +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/demo/generate_signed_examples.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/demo/hero-self-attestation-demo.sh +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/release-manifest.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/release-manifest.signed.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/trusted-keys-policy.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/_claim.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/_core.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/_payment.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/cloud/__init__.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/errors.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/guac_export.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/hooks/post-commit +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/hooks/pre-push +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/mcp_core.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/provenance/__init__.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/provenance/actions.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/__init__.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/base.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/emulated.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/hardware.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/registry.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/tpm.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/yubikey.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/py.typed +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/rekor_publish.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/scroll/README.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/scroll/__init__.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/action-envelope.v1.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/commit-envelope.v1.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/evidence-pack.v1.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/release-manifest.v1.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/__init__.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/fixtures/github-gpgsig-commit.txt +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_agentic_guidance.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_cli.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_core.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_crypto_backend.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_gate.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_git_envelope.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_guac_rekor.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_mcp_core.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_policy.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_provenance.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_release_metadata.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_se050_transport.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_security_properties.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_tpm_provider.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_vectors.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_yubikey_provider.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/README.md +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/_fixture_key.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/_generate.py +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_algorithm.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_device_id.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_field.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_nested.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_public_key.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_schema.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_signature.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/unsigned_empty_block.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/unsigned_no_block.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_commit_envelope.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_nested.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_simple.json +0 -0
- {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_unicode.json +0 -0
|
@@ -4,6 +4,31 @@ All notable changes to the Matrix Scroll Python SDK are documented here. The
|
|
|
4
4
|
format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
|
|
5
5
|
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.5.1] - 2026-07-02
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **`ssx360` and `ssx360-ledger` console scripts** — ship on PyPI with the SDK
|
|
11
|
+
(local repo had entry points since POC 2 baseline; 0.5.0 wheel omitted them).
|
|
12
|
+
|
|
13
|
+
### Documentation
|
|
14
|
+
- Pin public install examples and CI workflows to `matrixscroll==0.5.1`.
|
|
15
|
+
|
|
16
|
+
## [0.5.0] - 2026-07-02
|
|
17
|
+
|
|
18
|
+
Post-quantum overlay (v1.1 additive extension).
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- **SPEC.md §11** — optional `pqc_signatures` array (ML-DSA FIPS 204, SLH-DSA FIPS 205).
|
|
22
|
+
- **`matrixscroll.pqc`** — software-only PQC overlay; Ed25519 `signature` block unchanged.
|
|
23
|
+
- **`matrixscroll pqc-keygen`** — generate/load PQC keys under `~/.matrixscroll/pqc/`.
|
|
24
|
+
- **`MATRIXSCROLL_PQC`** env — attach overlay on sign (e.g. `ml-dsa-65`); hardware mode exempt.
|
|
25
|
+
- **Policy `require_pqc`** — `false` (default), `emulated_only`, or `true` (hardware exempt).
|
|
26
|
+
- **Optional extra `[pqc]`** — `liboqs-python` backend for ML-DSA / SLH-DSA.
|
|
27
|
+
|
|
28
|
+
### Unchanged
|
|
29
|
+
- USB/NFC/SE050 device signing remains **Ed25519-only** (no firmware change).
|
|
30
|
+
- All v1 vectors and Ed25519 verification behavior.
|
|
31
|
+
|
|
7
32
|
## [0.4.2] - 2026-06-29
|
|
8
33
|
|
|
9
34
|
Crypto backend consolidation (middle path).
|
|
@@ -189,6 +214,8 @@ Initial public release. Extracted from the SSX360 reference implementation.
|
|
|
189
214
|
- Device id format: `MS-XXXX-XXXX` (SHA-256 of the raw public key, first 8 hex
|
|
190
215
|
chars, uppercase).
|
|
191
216
|
|
|
217
|
+
[0.5.1]: https://github.com/SSX360/matrixscroll/releases/tag/v0.5.1
|
|
218
|
+
[0.5.0]: https://github.com/SSX360/matrixscroll/releases/tag/v0.5.0
|
|
192
219
|
[0.2.2]: https://github.com/SSX360/matrixscroll/releases/tag/v0.2.2
|
|
193
220
|
[0.2.1]: https://github.com/SSX360/matrixscroll/releases/tag/v0.2.1
|
|
194
221
|
[0.2.0]: https://github.com/SSX360/matrixscroll/releases/tag/v0.2.0
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: matrixscroll
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Signed provenance for agent-assisted Git commits with offline verification;
|
|
3
|
+
Version: 0.5.1
|
|
4
|
+
Summary: Signed provenance for agent-assisted Git commits with offline Ed25519 verification; optional ML-DSA/SLH-DSA software overlay (FIPS 204/205). USB/NFC/SE050 hardware remains Ed25519.
|
|
5
5
|
Project-URL: Homepage, https://ssx360.com
|
|
6
6
|
Project-URL: Documentation, https://ssx360.com/docs
|
|
7
7
|
Project-URL: Repository, https://github.com/SSX360/matrixscroll
|
|
@@ -15,14 +15,14 @@ Project-URL: Changelog, https://github.com/SSX360/matrixscroll/blob/main/CHANGEL
|
|
|
15
15
|
Project-URL: Discussions, https://github.com/SSX360/matrixscroll/discussions
|
|
16
16
|
Project-URL: Security, https://github.com/SSX360/matrixscroll/blob/main/SECURITY.md
|
|
17
17
|
Project-URL: GitHub Action, https://github.com/SSX360/matrixscroll-verify-action
|
|
18
|
-
Project-URL: PyPI Provenance, https://pypi.org/project/matrixscroll/
|
|
18
|
+
Project-URL: PyPI Provenance, https://pypi.org/project/matrixscroll/0.5.1/
|
|
19
19
|
Project-URL: Reference Device, https://ssx360.com/hardware
|
|
20
20
|
Project-URL: Tests, https://github.com/SSX360/matrixscroll/tree/main/tests
|
|
21
21
|
Project-URL: Public Roadmap, https://github.com/SSX360/matrixscroll/blob/main/docs/ROADMAP_2026-07.md
|
|
22
22
|
Author-email: SSX360 <security@matrixscroll.com>
|
|
23
23
|
License-Expression: Apache-2.0
|
|
24
24
|
License-File: LICENSE
|
|
25
|
-
Keywords: ai,ed25519,matrixscroll,provenance,root-of-trust,secure-element,signing,ssx360,supply-chain
|
|
25
|
+
Keywords: ai,ed25519,fips-204,fips-205,matrixscroll,ml-dsa,post-quantum,provenance,root-of-trust,secure-element,signing,slh-dsa,ssx360,supply-chain
|
|
26
26
|
Classifier: Development Status :: 4 - Beta
|
|
27
27
|
Classifier: Intended Audience :: Developers
|
|
28
28
|
Classifier: Intended Audience :: Information Technology
|
|
@@ -38,7 +38,7 @@ Classifier: Topic :: Security :: Cryptography
|
|
|
38
38
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
39
39
|
Classifier: Typing :: Typed
|
|
40
40
|
Requires-Python: >=3.10
|
|
41
|
-
Requires-Dist: cryptography>=
|
|
41
|
+
Requires-Dist: cryptography>=43.0
|
|
42
42
|
Provides-Extra: dev
|
|
43
43
|
Requires-Dist: build>=1.0; extra == 'dev'
|
|
44
44
|
Requires-Dist: hypothesis>=6.100; extra == 'dev'
|
|
@@ -49,6 +49,8 @@ Provides-Extra: hardware
|
|
|
49
49
|
Requires-Dist: pyserial>=3.5; extra == 'hardware'
|
|
50
50
|
Provides-Extra: mcp
|
|
51
51
|
Requires-Dist: mcp<2.0.0,>=1.0.0; extra == 'mcp'
|
|
52
|
+
Provides-Extra: pqc
|
|
53
|
+
Requires-Dist: liboqs-python>=0.12.0; extra == 'pqc'
|
|
52
54
|
Provides-Extra: tpm
|
|
53
55
|
Provides-Extra: yubikey
|
|
54
56
|
Requires-Dist: python-pkcs11>=0.7; extra == 'yubikey'
|
|
@@ -60,21 +62,18 @@ Description-Content-Type: text/markdown
|
|
|
60
62
|
[](https://github.com/SSX360/matrixscroll/actions/workflows/provenance-gate.yml)
|
|
61
63
|
[](https://codecov.io/gh/SSX360/matrixscroll)
|
|
62
64
|
|
|
63
|
-
**123 tests** · Hypothesis-verified security properties · [Security properties](docs/SECURITY_PROPERTIES.md)
|
|
65
|
+
**123 tests** · Hypothesis-verified security properties · [Security properties](docs/SECURITY_PROPERTIES.md) · [TLA+ formal models](formal/README.md)
|
|
64
66
|
|
|
65
|
-
**Signed proof of who — or what — wrote every commit.** Matrix Scroll is
|
|
66
|
-
**
|
|
67
|
-
|
|
68
|
-
offline in CLI, browser, and CI.
|
|
69
|
-
|
|
67
|
+
**Signed proof of who — or what — wrote every AI-assisted commit.** Matrix Scroll is an
|
|
68
|
+
**open protocol for cryptographically signed, AI-assisted code provenance** — Ed25519 commit
|
|
69
|
+
envelopes for Git (and universal action envelopes for CI, IaC, and migrations),
|
|
70
|
+
verified offline in CLI, browser, and CI. Software emulated keys ship today; NXP SE050
|
|
71
|
+
secure-element signing is on the roadmap with the same verifier contract.
|
|
70
72
|
|
|
71
|
-
**
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
**Hosted control plane:** identity, billing, and device confirmation live at
|
|
76
|
-
[ssx360.com](https://ssx360.com/). Teams evaluating protected-branch enforcement should
|
|
77
|
-
[book a provenance pilot](https://ssx360.com/contact?intent=pilot);
|
|
73
|
+
**Hosted control plane:** identity, billing, audit ledger, and Scroll Gate live at
|
|
74
|
+
[ssx360.com](https://ssx360.com/). Enterprise teams evaluating protected-branch enforcement should
|
|
75
|
+
[book a provenance pilot](https://ssx360.com/contact?intent=pilot) or visit
|
|
76
|
+
[ssx360.com/enterprise](https://ssx360.com/enterprise).
|
|
78
77
|
Provisioned pilot and team accounts sign in at [ssx360.com/signup](https://ssx360.com/signup).
|
|
79
78
|
|
|
80
79
|
## Compliance evidence mapping
|
|
@@ -104,18 +103,18 @@ Agents sign commits in-loop via the **provenance-only** MCP server:
|
|
|
104
103
|
```
|
|
105
104
|
|
|
106
105
|
```bash
|
|
107
|
-
pip install "matrixscroll[mcp]==0.
|
|
106
|
+
pip install "matrixscroll[mcp]==0.5.1"
|
|
108
107
|
matrixscroll-mcp # stdio — register in Cursor / Claude Desktop / VS Code
|
|
109
108
|
```
|
|
110
109
|
|
|
111
110
|
**MCP tools (provenance verbs only):** `create_envelope`, `sign_action`, `verify_envelope`,
|
|
112
111
|
`verify_pr_range` (Scroll Gate), `publish_notes`, `status`, `audit_export`, `list_envelopes`,
|
|
113
|
-
`connect_card` (SE050 preview).
|
|
112
|
+
`connect_card` (SE050 hardware preview, roadmap).
|
|
114
113
|
|
|
115
114
|
## Also available — CLI & hooks
|
|
116
115
|
|
|
117
116
|
```bash
|
|
118
|
-
pip install "matrixscroll==0.
|
|
117
|
+
pip install "matrixscroll==0.5.1"
|
|
119
118
|
matrixscroll hook-install
|
|
120
119
|
export MATRIXSCROLL_ACTOR_TYPE=agent
|
|
121
120
|
export MATRIXSCROLL_TOOL=agent-runner
|
|
@@ -179,12 +178,12 @@ canonical UTF-8 JSON bytes (see [`SPEC.md`](SPEC.md) §4). Verifiers reject any
|
|
|
179
178
|
|
|
180
179
|
## Honest limits
|
|
181
180
|
|
|
182
|
-
- Shipping now: PyPI `matrixscroll==0.
|
|
181
|
+
- Shipping now: PyPI `matrixscroll==0.5.1`, Git post-commit hooks,
|
|
183
182
|
`matrixscroll sign-action`, `matrixscroll scroll commit` (thin wrapper),
|
|
184
183
|
`matrixscroll envelope-verify`, Scroll Gate PR verification (partial SLSA L1–2),
|
|
185
184
|
verifier, the GitHub Action, and a USB CDC host transport preview for the
|
|
186
185
|
SE050 rollout path. Emulated mode is the default evaluation path.
|
|
187
|
-
- In progress: nRF52840 + SE050 firmware validation
|
|
186
|
+
- In progress: nRF52840 + SE050 firmware validation for hardware-backed signing, external Ed25519-capable
|
|
188
187
|
hardware key backends, and transparency-log integrations.
|
|
189
188
|
- Not: IAM, sandboxing, prompt filtering, or an agent runtime.
|
|
190
189
|
|
|
@@ -194,8 +193,10 @@ canonical UTF-8 JSON bytes (see [`SPEC.md`](SPEC.md) §4). Verifiers reject any
|
|
|
194
193
|
records who or what signed the change before push.
|
|
195
194
|
- Hardware keys and build attestations remain complementary roots and downstream
|
|
196
195
|
proofs; Matrix Scroll covers commit-time provenance.
|
|
197
|
-
- The public contract stays pure Ed25519 over canonical manifest bytes
|
|
198
|
-
whether the signer is emulated today or
|
|
196
|
+
- The public contract stays pure Ed25519 over canonical manifest bytes for the
|
|
197
|
+
required `signature` block — whether the signer is emulated today or
|
|
198
|
+
hardware-backed later. Software signers may optionally attach ML-DSA/SLH-DSA
|
|
199
|
+
overlays (FIPS 204/205) via `matrixscroll[pqc]` without changing hardware firmware.
|
|
199
200
|
|
|
200
201
|
## Common questions
|
|
201
202
|
|
|
@@ -225,7 +226,7 @@ alongside your existing scanners, branch protection, and build attestations.
|
|
|
225
226
|
## Quickstart (CLI)
|
|
226
227
|
|
|
227
228
|
```bash
|
|
228
|
-
pip install "matrixscroll==0.
|
|
229
|
+
pip install "matrixscroll==0.5.1"
|
|
229
230
|
matrixscroll hook-install
|
|
230
231
|
matrixscroll hook-status
|
|
231
232
|
|
|
@@ -252,7 +253,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and run
|
|
|
252
253
|
head-ref: ${{ github.event.pull_request.head.sha }}
|
|
253
254
|
base-ref: ${{ github.event.pull_request.base.sha }}
|
|
254
255
|
source: notes
|
|
255
|
-
matrixscroll-version: "0.
|
|
256
|
+
matrixscroll-version: "0.5.1"
|
|
256
257
|
require-mode: emulated
|
|
257
258
|
```
|
|
258
259
|
|
|
@@ -272,7 +273,7 @@ git push origin refs/notes/matrixscroll
|
|
|
272
273
|
head-ref: ${{ github.event.pull_request.head.sha }}
|
|
273
274
|
base-ref: ${{ github.event.pull_request.base.sha }}
|
|
274
275
|
source: notes
|
|
275
|
-
matrixscroll-version: "0.
|
|
276
|
+
matrixscroll-version: "0.5.1"
|
|
276
277
|
summary-output: provenance-summary.json
|
|
277
278
|
```
|
|
278
279
|
|
|
@@ -280,7 +281,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
|
|
|
280
281
|
[`examples/ci/protected-branch.yml`](examples/ci/protected-branch.yml).
|
|
281
282
|
|
|
282
283
|
The `--require-mode`, `--trusted-keys`, and actor or delegation policy checks
|
|
283
|
-
ship in the current release line; examples in this README pin `0.
|
|
284
|
+
ship in the current release line; examples in this README pin `0.5.1`.
|
|
284
285
|
|
|
285
286
|
## Security: Ed25519 via cryptography
|
|
286
287
|
|
|
@@ -312,13 +313,14 @@ when they preserve the same pure Ed25519 byte contract.
|
|
|
312
313
|
- Conformance vectors: [`vectors/`](vectors/)
|
|
313
314
|
- GitHub Action: <https://github.com/SSX360/matrixscroll-verify-action>
|
|
314
315
|
- Agentic AI controls: [`docs/AGENTIC_AI_SECURITY.md`](docs/AGENTIC_AI_SECURITY.md)
|
|
315
|
-
- Site: <https://
|
|
316
|
-
-
|
|
316
|
+
- Site: <https://matrixscroll.com> · Enterprise: <https://ssx360.com/enterprise>
|
|
317
|
+
- [AP2 Vault Card hardware](https://ssx360.com/hardware)
|
|
318
|
+
- SE050 hardware signing: <https://ssx360.com/enterprise#roadmap>
|
|
317
319
|
|
|
318
320
|
## Python API
|
|
319
321
|
|
|
320
322
|
```bash
|
|
321
|
-
pip install "matrixscroll==0.
|
|
323
|
+
pip install "matrixscroll==0.5.1"
|
|
322
324
|
```
|
|
323
325
|
|
|
324
326
|
```python
|
|
@@ -428,7 +430,7 @@ The MCP server exposes **provenance verbs only**: `create_envelope`, `verify_env
|
|
|
428
430
|
Install and register in Cursor / Claude Desktop / VS Code:
|
|
429
431
|
|
|
430
432
|
```bash
|
|
431
|
-
pip install "matrixscroll[mcp]==0.
|
|
433
|
+
pip install "matrixscroll[mcp]==0.5.1"
|
|
432
434
|
matrixscroll-mcp # stdio
|
|
433
435
|
```
|
|
434
436
|
|