conda-sigstore
conda-sigstore creates and verifies Sigstore attestations for conda packages.
It can also audit installed environments and, when explicitly enabled, reject a
package before extraction when acceptable evidence is unavailable or invalid.
The project is alpha software, distributed through PyPI and the personal
jezdez channel on Anaconda.org. The
opt-in install integration requires the unreleased package-verifier API in
conda/conda#16518, and draft
transport and source-evidence formats may still change incompatibly.
What it does
- Verify a package against a local or remote Sigstore bundle.
- Create a signed CEP 27 publication statement.
- Audit installed packages for publication, provenance, and recipe source evidence.
- Require valid CEP 27 evidence before conda extracts a package.
- Read the draft repodata-advertised immutable
.sigs.<sha256>transport and, separately, Prefix.dev's current.v0.sigsconvention.
The draft transport follows
conda/ceps#142 at commit
241d1cf43f4db5af484be59ad0b840a1b9e5d616. Current conda PackageRecord
objects do not preserve its attestations_sha256 field, so real solver,
install, and installed-environment audit flows require a corresponding conda
change before they can select the draft transport.
Install
conda-sigstore requires Python 3.11 or newer. Install it in the Python
environment that owns the conda executable.
For a standard conda installation, activate base and install 0.1.2 from the
personal jezdez channel, with dependencies from conda-forge:
conda activate base
conda install --override-channels -c jezdez -c conda-forge "conda-sigstore=0.1.2"
The installation guide also documents PyPI installation, the source preview, and the separate requirements for install enforcement.
Commands
conda sigstore attest PACKAGE --target-channel URL [--output PATH]
conda sigstore verify ARTIFACT --bundle PATH_OR_URL [--channel URL] \
[--cert-identity IDENTITY --cert-oidc-issuer URL] [--json]
conda sigstore audit [-n ENV | -p PREFIX] [--sources] [--prefix-sidecars] [--json]
Choose the path that matches your task:
- Verify a public package
- Sign a package
- Audit an installed environment
- Configure install verification
- Publish attestations to Prefix.dev
- Look up commands and output formats
Security boundary
A successful result proves that Sigstore verified the bundle and that its CEP 27 statement binds the package filename and SHA-256. It reports the authenticated signer and can compare an included target-channel claim.
It does not prove that the signer was authorized to publish to that channel, that the package was built safely, or that its contents are benign.
Read the security model and report vulnerabilities according to the security policy.
Development
pixi run --locked -e dev check
pixi run --locked -e test test
pixi run --locked -e test bench
pixi run --locked -e docs docs
See the
contribution guide
for the full development and release workflow. conda-sigstore is licensed
under the BSD 3-Clause License.
Metadata
Release files for conda-sigstore 0.1.3
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 |
|---|---|---|---|---|
| conda_sigstore-0.1.3.tar.gz | 128.6 kB | With provenance | Details for conda_sigstore-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| conda_sigstore-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for conda_sigstore-0.1.3-py3-none-any.whl |
Total release size: 171.9 kB
Release files / conda_sigstore-0.1.3.tar.gz
| Download URL | conda_sigstore-0.1.3.tar.gz |
|---|---|
| Size | 128.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64d8b6c95de21125daddb0b4a00256ef708f1ca5c5bb774e6bbb9dd2e1a8fadb
|
|
BLAKE2b-256 checksum How to use checksums |
763798daf03d74d14ce42e9c0e7623723f543419a1bcc2ddbd6d4563f8e04a61
|
| 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 Oct 19, 2026.
Transparency logRelease files / conda_sigstore-0.1.3-py3-none-any.whl
| Download URL | conda_sigstore-0.1.3-py3-none-any.whl |
|---|---|
| Size | 43.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65c4669090be7cc5255512e1a5bb7036b690d23ccce86434a35a938bb6bb9dce
|
|
BLAKE2b-256 checksum How to use checksums |
59c6773361436be4dfe698c389e01dd2f2c96d46d55505207326896476a08bec
|
| 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 Oct 19, 2026.
Transparency logSecurity for conda-sigstore 0.1.3
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
Both files in this release have been uploaded with provenance metadata.
Attestation for conda_sigstore-0.1.3.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 Oct 19, 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.