Skip to main content

Voltry Probe

Voltry Probe captures, signs, and renders condition and provenance evidence for data-center GPUs. voltry scan reads device state over NVML, read-only: the scan path issues only non-mutating reads (no resets, reconfiguration, or stress); validate against your own driver and GPU models before fleet-wide rollout. The readings are signed into an evidence bundle, and voltry cert renders that bundle into a self-contained HTML certificate you can open with no network at all.

Two scoping notes, so the claims match the code you are installing:

  • Live capture is NVML only in this release. The bundle format carries DCGM, Redfish, and attestation payloads, and scan maps them when a captured fixture provides them, but there is no live DCGM or Redfish collector yet.
  • Attestation is verification, not capture. When a capture carries an operator-supplied attestation report, the probe verifies the ECDSA chain against a trusted root (and, if you issue a --challenge, freshness). The probe does not yet pull the report from the device itself.

It records what the hardware is. It never states or implies a price.

Install

For live scans (needs an NVIDIA GPU and driver):

pipx install "voltry-probe[hardware]"

For everything else (fixture scans, certificate rendering, verification):

pipx install voltry-probe

Requires Python 3.10 or newer; stock DGX OS and Ubuntu 22.04 hosts work as-is. pip install inside a virtualenv works too. Without [hardware], a live voltry scan exits with a clean error naming the missing extra and the exact pip command to fix it; every other workflow needs no extra. voltry submit (the opt-in submission client) lives behind the separate [submit] extra.

Sixty seconds to a certificate

With a GPU and the [hardware] extra installed:

# 1. Scan. Read-only, works fully offline and air-gapped.
#    Reads live hardware; signs with your operator key.
voltry scan --signing-key operator.pem --out bundle.json

# 2. Render. A self-contained HTML certificate, no network needed to view.
voltry cert bundle.json --out cert.html

That is the whole loop. voltry submit exists as a separate, explicit, opt-in step; scanning and rendering never phone home.

No GPU? Run the same loop on a captured fixture

The test suite ships a real H100 capture. Fetch it, scan it with a throwaway key, and render:

curl -LO https://raw.githubusercontent.com/Voltry-tech/voltry-probe/main/packages/voltry-probe/tests/fixtures/h100_read.json
voltry scan --fixture h100_read.json --ephemeral-key --out bundle.json
voltry cert bundle.json --out cert.html

This exercises the exact same reader, builder, signer, and renderer as a live scan; only the source of the raw payloads differs.

What read-only means

The probe never writes to, resets, reconfigures, or stress-tests a device during a scan. It does write the local output files you ask for (the bundle and the certificate).

Functional qualification (which does exercise the device) is a separate, explicit operation and never part of a scan: it requires importing voltry_probe.functional and giving drain consent at the call. This release maps functional results captured elsewhere into the bundle; it does not yet run the live diagnostics itself.

Operation Device mutation Network
import voltry_probe No No
voltry scan No No
voltry cert No (no device access) No
voltry submit No Yes: opt-in, consent flag required
voltry_probe.functional Mapping only in this release; live runs need drain consent No

What the certificate says, and what it does not

The certificate keeps measured facts and modeled estimates in separate blocks that never look alike:

  • Deterministic gates: authenticity, firmware integrity, functional and sanitization results. Pass or fail, no model in the loop.
  • Measured condition: ECC and Xid history, retired and remapped pages, spare rows remaining, throttle and clock behavior. Raw values against published thresholds.
  • Provenance: certification history on the device's permanent identity. The platform registry may enforce append-only history so failed attempts cannot be hidden; this package alone signs individual bundles and does not provide that ledger.

It never contains a price, a dollar figure, or a lifetime guarantee. Power-chain exposure reads "Not Assessed" unless the facility itself was instrumented; it is never inferred from board power.

Verifying a bundle yourself

Every bundle is signed (ECDSA P-384 over RFC 8785 canonical JSON) and anyone with the voltry-evidence-schema package can check it. Verify the stored bytes, not a re-parsed model: parsing materializes the current schema's defaults, so a bundle signed under an older schema version would re-canonicalize to different bytes and fail even though nothing was tampered with. verify_bundle_json reproduces exactly the bytes that were signed.

from pathlib import Path

from evidence_schema import verify_bundle_json

assert verify_bundle_json(Path("bundle.json").read_bytes())

Be clear about what this check proves. It proves the bundle's bytes have not been modified since signing, under the public key embedded in the bundle itself. It does not prove that key belongs to an authorized signer, and it does not confirm the Signature envelope's signer or signed_at labels; those are confirmed against the registry at the platform verify endpoint, https://verify.voltry.io.

Security

To report a vulnerability, see the repository security policy: https://github.com/Voltry-tech/voltry-probe/blob/main/SECURITY.md. Please report suspected signature bypasses or key-handling flaws privately, not in a public issue.

License

Apache-2.0.

Release files for voltry-probe 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for voltry-probe 0.3.2
File Size Uploaded
voltry_probe-0.3.2.tar.gz 77.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for voltry-probe 0.3.2
File Interpreter ABI Platform
voltry_probe-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 132.0 kB

Release files / voltry_probe-0.3.2.tar.gz

Download URL voltry_probe-0.3.2.tar.gz
Size 77.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f8be66b1a7e9ddeb4aa9c0af582216bbf11c0e1d82b5ce31dce08e8b6955a9c2
BLAKE2b-256 checksum
How to use checksums
0f228402471f150546d9b8befe8f33038425a927294b39b276ee31e7c40854e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Jul 12, 2026.

Transparency log

Release files / voltry_probe-0.3.2-py3-none-any.whl

Download URL voltry_probe-0.3.2-py3-none-any.whl
Size 54.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ecbdc4c0b7f5b65e36c902c294984d9262e58861b442ab24fc1b9f3f330112c5
BLAKE2b-256 checksum
How to use checksums
b3db63565f8a68d096e2e2e84d3f48ce1c24171c6e6b6be96c13a9b45b29c164
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Jul 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.3

2 release files

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

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