Skip to main content

provetrail

A verifier for Provetrail, an open standard for verifiable execution provenance.

Status: draft (0.2.x). This package verifies the integrity tier of a sealed run record: the COSE_Sign1 checkpoint signature and the RFC 9162 Merkle root over the carried events. The on-the-wire format is not frozen until specification v0.1.0 (the spec's version, not this package's), so do not yet rely on it as a production security control.

What Provetrail is

A portable, third-party-verifiable record of what an agent did, in what order, and under what governance, anchored to an append-only, tamper-evident event log.

Install

pip install provetrail

Use

from provetrail import verify_run, VerifyError

record = open("run.cbor", "rb").read()
public_key = bytes.fromhex("...")  # 32-byte Ed25519 public key

try:
    result = verify_run(record, public_key)
    print(f"verified, {len(result.events)} events")
except VerifyError as e:
    print(f"not verified: {e}")

Or from the command line:

python -m provetrail run.cbor <hex-public-key>
# or, once installed:
provetrail run.cbor <hex-public-key>

verify_run follows the carry-the-bytes rule: it rehashes the exact bytes the record carries and never re-serializes. The conformance suite asserts identical verdicts and registered failure codes across this client, the npm and Rust clients, and the Go reference verifier, so agreement on the same record is tested, not assumed. It fails closed with a registered failure code (VerifyError.code) on every defect: container framing, protected-header claims (algorithm -19, the checkpoint content type, key id), signature, checkpoint-payload form, size, and root.

Conformance

The verifier is checked against the published conformance vectors:

pip install provetrail[test]
pytest

The cryptographic vectors live in vectors/crypto. This client verifies the integrity tiers (L1-L3) against conformance suite 0.1.0-draft; it does not enforce L4 (governance and ground truth), so an L4-claiming record needs an L4 verifier. The reference verifier covering every tier (L1-L4; in the documented shorthand, integrity = L1-L3 and governance + ground truth = L4) ships in the Go runtime at ionalpha/flynn.

License

Apache-2.0. The specification prose is CC-BY-4.0. Provetrail is a trademark of Ion Alpha.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

provetrail-0.3.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

provetrail-0.3.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file provetrail-0.3.0.tar.gz.

File metadata

  • Download URL: provetrail-0.3.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for provetrail-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e2d65397376c1bc2d3046895f875ae989871ff53969ff4c3f6c240b64a9356e6
MD5 bac8e9a104774667cbfbf1512e921212
BLAKE2b-256 0c163b3941ae4e59a9b1554f7515f2b2108479572523b41aceda622be77dfa60

See more details on using hashes here.

Provenance

The following attestation bundles were made for provetrail-0.3.0.tar.gz:

Publisher: release-pypi.yml on ionalpha/provetrail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file provetrail-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: provetrail-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for provetrail-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 996cd407a3cfd5c872b646b9a0f3986210b6f70510dfe8edd92ccb85678f0edb
MD5 cb0f6d2c965bea4cf9fa59e231ad3871
BLAKE2b-256 656bff4eb0a511d349ade6d0ca39a89892a5fde9e26058088b0bbb7997acd250

See more details on using hashes here.

Provenance

The following attestation bundles were made for provetrail-0.3.0-py3-none-any.whl:

Publisher: release-pypi.yml on ionalpha/provetrail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.1.0

2 files

0.0.1

2 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