Litzki SOVP AgenTrust Integration
Exports SOVP attestation results as signed AgenTrust TRACE records.
What it does
This integration provides a Python adapter that:
- loads a SOVP attestation result from JSON;
- maps explicitly supplied SOVP and AgenTrust fields into a TRACE envelope;
- signs the TRACE envelope with Ed25519 over a canonical JSON pre-image that excludes only the
signaturefield; - optionally adds one
referencesentry that binds the record by SHA-256 digest to the full SOVPSovereignAttestationdocument; - writes the signed record as JSON for downstream validation with
agentrust-trace-tests.
The field-by-field evidence boundary is in docs/evidence-boundary.md.
What it does not claim
- It does not certify SOVP or any SOVP deployment.
- It does not call non-attested data attested.
- It does not verify the SOVP document's signature and does not copy the SOVP verdict into the record.
- It does not self-declare the Verified tier; the AgenTrust maintainers grant it in marketplace review.
Installation
python -m pip install -e integrations/litzki-sovp
The package declares runtime dependencies on released PyPI packages: cmcp-runtime, agentrust-trace, agentrust-trace-tests, agent-manifest, and rfc8785.
Input contract
The adapter expects a JSON object with an agentrust object containing the TRACE envelope fields and a sovp object containing the source attestation payload. The adapter only signs fields present in agentrust; it does not infer missing attestation claims.
Optional since 0.2.0, at the top level of the input:
sovp_attestation_document: the full SOVPSovereignAttestationdocument as a JSON object;sovp_attestation_url: the URL it was served from,https://<subject.domain>/.well-known/sovp-attestation.json.
With both, the record gets one references entry (rel: infrastructure-trust, resolver: urn:sovp:litzki-systems-llc, digest = sha256: + SHA-256 over the RFC 8785 bytes of the whole document). A wrong @type, a URL host other than subject.domain or a path other than /.well-known/sovp-attestation.json raises ValueError. The CLI options --attestation <file> and --attestation-url <url> override these fields.
See examples/sovp-attestation.json for the fixture shape. Its sovp_attestation_document is an unmodified copy of the live document on litzki-systems.com as served on 2026-10-11.
Usage
First generate a local Ed25519 signing key. This is a throwaway demo key; it is git-ignored and must not be committed. Use a persistent, protected key for any record you intend to be re-verified later.
openssl genpkey -algorithm Ed25519 \
-out integrations/litzki-sovp/examples/ed25519-private.pem
Then produce a signed TRACE record:
litzki-sovp-trace \
--input integrations/litzki-sovp/examples/sovp-attestation.json \
--private-key integrations/litzki-sovp/examples/ed25519-private.pem \
--output /tmp/sovp.trace.json
Reproduction target
python -m pytest integrations/litzki-sovp/tests
trace-tests verify --record /tmp/sovp.trace.json --level 0
The generated record passes TRACE conformance at Level 0. Level 0 is the honest ceiling for this bridge: it transcribes a SOVP
attestation rather than measuring a hardware TEE, so runtime.platform is
software-only, which the suite accepts only at Level 0.
trace-tests verify checks against the key embedded in cnf.jwk, so any key passes it. Relying parties verify with agentrust_trace.verify_record(record, trusted_key, expected_nonce=...), which rejects keys they do not already trust. Records are fresh for 24 hours after iat.
Metadata
Release files for litzki-sovp-agentrust-bridge 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| litzki_sovp_agentrust_bridge-0.2.0.tar.gz | 11.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| litzki_sovp_agentrust_bridge-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.3 kB
Release files / litzki_sovp_agentrust_bridge-0.2.0.tar.gz
| Download URL | litzki_sovp_agentrust_bridge-0.2.0.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e05c50c10cbb1f15a81d4cfb57d25fba052b75a93f5624e2a33f89a102373bf
|
|
BLAKE2b-256 checksum How to use checksums |
557fd4eb9fd2f825de301f0d978716825aa7f818ffe7da17e3b4c163b7842759
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / litzki_sovp_agentrust_bridge-0.2.0-py3-none-any.whl
| Download URL | litzki_sovp_agentrust_bridge-0.2.0-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
07d2eefb50be3bf896ea9c27652efdb858ce0328dc8e85cd49ac637ffe9d7387
|
|
BLAKE2b-256 checksum How to use checksums |
420a8146f022eb77c195f9bf01527657ef9d4c477bd85fd99e09b17b46989725
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Security for litzki-sovp-agentrust-bridge 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.