Skip to content

Commit 44840dd

Browse files
UID2-6764: document image provenance verification
1 parent 9306bea commit 44840dd

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,20 @@ mvn clean compile exec:java -Dvertx-config-path=conf/local-config.json
4040
mvn clean compile exec:java -Dvertx-config-path=conf/integ-config.json
4141
```
4242

43+
## Verifying image provenance
44+
45+
Every non-snapshot image published by this repo's release workflow ships with a [SLSA v1.0](https://slsa.dev/spec/v1.0/) build-provenance attestation, signed by GitHub's [Sigstore](https://www.sigstore.dev/) instance via the OIDC identity of the [shared publish workflow](https://github.com/IABTechLab/uid2-shared-actions). The attestation cryptographically binds the image digest to the source commit, the signing workflow, and the runner that built it.
46+
47+
To verify an image, install [`gh`](https://cli.github.com/) (≥ 2.49) and run:
48+
49+
```bash
50+
gh attestation verify \
51+
oci://ghcr.io/iabtechlab/uid2-optout:<tag> \
52+
--owner IABTechLab \
53+
--signer-repo IABTechLab/uid2-shared-actions
54+
```
55+
56+
A successful run prints `✓ Verification succeeded!` followed by the SLSA provenance fields — including `sourceRepositoryDigest` (the source commit), `workflow.path` (the signing workflow), and the runner identity.
57+
58+
Snapshot tags (`-SNAPSHOT` suffix) deliberately skip attestation. `gh attestation verify` returns `no attestations found` against a snapshot — that's expected.
59+

0 commit comments

Comments
 (0)