Chapter 3. Checklist
Codify how you raise bars safely and reproducibly.
Gates & Ratcheting
- Ratcheting plan: What’s your 6-week path from WARN→ENFORCE? (document week-by-week)
- Exit codes: Which tools produce non-zero exit on gate fail (Trivy, Semgrep, Checkov)? Who can override?
Base Images & Digests
- Golden base: Which base images are allowed per language? (e.g., distroless, alpine)
- Digest pinning: Will you pin digests for base & runtime? Where are pins recorded/updated?
- Update cadence: Who bumps base images and how often (weekly, monthly)?
Signing & Provenance
- Signing mode: Offline blob signing vs registry signature — which is feasible in your environment?
- Keys: Who holds
cosign.key/cosign.pub? How are they backed up/rotated?
SBOM Diff & Licenses
- Diff trigger: On release candidate or every merge to main?
- License allowlist: What is your current allow/deny? Who approves exceptions?
Mirrors & Caching
- Dependency mirrors: Will you run a local Go proxy (and/or npm cache)? Who owns uptime/space?
- Air-gapped plan: If internet egress is cut, can builds still succeed with mirrors + pinned bases?
Promotion & Evidence
- Promotion rule: Define “promote on pass” criteria (which gates must be green).
- Evidence bundling: Who packages evidence ZIPs and where are they archived?