Skip to main content

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 signature field;
  • optionally adds one references entry that binds the record by SHA-256 digest to the full SOVP SovereignAttestation document;
  • 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 SOVP SovereignAttestation document 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)

Source distribution for litzki-sovp-agentrust-bridge 0.2.0
File Size Uploaded
litzki_sovp_agentrust_bridge-0.2.0.tar.gz 11.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for litzki-sovp-agentrust-bridge 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page