StateProof
Version 0.3.0 — proof-carrying post-install Python environment exactness.
StateProof has one security property: it determines whether a selected Python directory matches an approved state. It reports EXACT or NOT_EXACT; it does not classify code as benign or malicious.
Quick start
python -m stateproof.cli capture ./my_env --output approved.px.json
python -m stateproof.cli verify ./my_env --against approved.px.json --evidence evidence.json
python -m stateproof.cli evidence-verify ./my_env --evidence evidence.json --against approved.px.json
Independent Proof of Exact State
A proof is a self-contained, canonical Merkle representation of the captured state. It includes the ordered entry set, a Merkle state_root, inclusion-proof paths, the manifest root, and optionally an Ed25519 signature.
python -m stateproof.cli keygen --private owner.pem --public owner.pub.pem
python -m stateproof.cli prove ./my_env --private owner.pem --output state.proof.json
python -m stateproof.cli proof-verify state.proof.json --public-key owner.pub.pem --require-signature
# PROOF_VALID
PROOF_VALID means that the proof is internally consistent and, when signed, the signature is valid. It does not claim that a different machine's files are still unchanged after the proof was produced. To assert the current machine's files are exact, run verify on that machine; to prove both facts, use verify and a signed proof.
The same flow is available as a library API:
from stateproof import ProofCarryingEnvironment
proof = ProofCarryingEnvironment.create("./my_env", private_path="owner.pem")
assert ProofCarryingEnvironment.verify(proof, "owner.pub.pem", require_signature=True)
Optional manifest signing
python -m stateproof.cli keygen --private owner.pem --public owner.pub.pem
python -m stateproof.cli sign approved.px.json --private owner.pem --output approved.signed.px.json
python -m stateproof.cli verify ./my_env --against approved.signed.px.json --public-key owner.pub.pem --require-signature
Signing is optional and requires cryptography: pip install 'stateproof[signing]'.
Deterministic scope
The snapshot includes regular files, directories, empty directories, and symlinks below the selected root. Symlinks are recorded but never followed. Unsupported special filesystem entries and unstable scans are rejected rather than marked exact. Default cache directories are excluded.
EXACT means byte-for-byte equality for every registered file, with the recorded path, type, size, target, and mode matching. NOT_EXACT means a deterministic mismatch exists.
Metadata
Release files for stateproof 0.3.1
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 | Actions |
|---|---|---|---|---|
| stateproof-0.3.1.tar.gz | 134.3 kB | With provenance | Details for stateproof-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| stateproof-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for stateproof-0.3.1-py3-none-any.whl |
Total release size: 146.0 kB
Release files / stateproof-0.3.1.tar.gz
| Download URL | stateproof-0.3.1.tar.gz |
|---|---|
| Size | 134.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0228553d81723a9cee332125af7381a5e547843441a92865dd3483f886d9eb08
|
|
BLAKE2b-256 checksum How to use checksums |
e4f05bb2ccde5afc124fbb345f7635afb41b5c5c286ceee2b0c2ab493f57ca0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logRelease files / stateproof-0.3.1-py3-none-any.whl
| Download URL | stateproof-0.3.1-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c35c31de1cdddfc713aa28893d82153d4a8ed957366a728c71b1678eef672b0c
|
|
BLAKE2b-256 checksum How to use checksums |
d92632129b373db179a7b2a4d8f1a194020df5e502e13e705d2abdbf7bf887f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logSecurity for stateproof 0.3.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for stateproof-0.3.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logA 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.