Metadata-Version: 2.4
Name: primust-verify
Version: 1.1.0
Summary: Offline verifier for Primust VPECs. Free forever. No account required.
Project-URL: Homepage, https://primust.com
Project-URL: Documentation, https://docs.primust.com
Project-URL: Verify, https://verify.primust.com
Author-email: "Primust, Inc." <eng@primust.com>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security :: Cryptography
Requires-Python: >=3.11
Requires-Dist: cryptography>=41.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: primust-artifact-core>=1.0.1
Requires-Dist: pypdf>=4.0.0
Description-Content-Type: text/markdown

# primust-verify

**Free forever. No account required. Apache-2.0.**

Offline verifier for Primust VPECs (Verifiable Process Execution Credentials).

```bash
pip install primust-verify
```

## Verify a VPEC

```python
from primust_verify import verify

result = verify(vpec_json)
assert result.valid
```

Or from the command line:

```bash
primust-verify vpec.json
```

Exit codes:
- `0` — valid
- `1` — invalid (signature mismatch, tampered, or failed checks)
- `2` — system error

## Zero-network verification

Use `--trust-root` to verify without any network calls:

```bash
primust-verify vpec.json --trust-root ./primust-pubkey.pem
```

This fetches no external resources. The public key PEM is the only trust anchor needed.

Download the Primust public key from:
`https://primust.com/.well-known/primust-pubkey.pem`

## You don't need a Primust account to verify a VPEC

This tool is free, open source (Apache-2.0), and works offline. Anyone can verify a VPEC — regulators, auditors, counterparties — without creating an account or contacting Primust.

## Verification paths

- `primust-verify` CLI — canonical local/offline verifier
- Evidence Pack `verify.html` — bundled local browser verifier
- `verify.primust.com` — hosted convenience verifier

The hosted site is useful for shared links and quick review, but it is not the
canonical zero-network / trust-minimized path.

## Options

| Flag | Description |
|------|-------------|
| `--production` | Reject VPECs issued with test keys |
| `--skip-network` | Skip Rekor transparency log check |
| `--trust-root <path>` | Use a local PEM file as trust anchor (zero-network mode) |
| `--json` | Output structured JSON instead of human-readable text |

## Requirements

- Python 3.11+

## License

Apache-2.0

---

[Docs](https://docs.primust.com) | [Verify online](https://verify.primust.com) | [Primust](https://primust.com)
