Inventory / 01What components were identified?
Generate and review the dependency inventory for the supported project inputs, including the manifest coverage and omissions behind it.
- Portable record
- CycloneDX 1.5 dependency inventory
- Review together
- Manifests, resolved packages and coverage notes
- Do not conflate
- Inventory presence and vulnerability evaluation
Decision boundaryAn SBOM or package inventory is not evidence that every dependency was evaluated for vulnerabilities.
Acceptance checkTest the package managers and repository layout used by your delivery pipeline, including unsupported or partially parsed manifests.
Scanner evidence / 02Which report can support this project?
Supported Trivy, Grype and npm audit artifacts retain their own import and coverage semantics. The report must be usable for the project it is attached to.
- Accepted evidence
- Supported Trivy, Grype or npm audit artifacts
- Identity
- Project plus relevant source revision or image digest
- Failure state
- Missing, unusable or unsupported remains visible
Decision boundaryUploading a report is not the same as configuring a live scanner connector or proving full upstream-tool compatibility.
Acceptance checkBring a genuine artifact from each scanner and edition you expect to use, rather than relying on a catalogue name.
Binding / 03Does the evidence describe the thing being released?
Source evidence needs the relevant revision; container evidence needs the exact digest. A familiar tag or nearby checkout is not an equivalent identity.
- Source identity
- Repository revision where available
- Artifact identity
- Immutable image digest and platform context
- Mismatch
- Unbound evidence cannot earn a passing decision
Decision boundaryA customer-supplied archive or manifest declaration is not automatically a verified Git checkout or deployment attestation.
Acceptance checkExercise both a matching revision/digest and a deliberately mismatched artifact in the evaluation.
Release policy / 04Why did the release pass, block or remain unevaluated?
The decision should name the applied policy, evaluated blockers and missing dimensions rather than reduce every state to red or green.
- Inputs
- Bound inventory and available scanner evidence
- Outcome
- Policy result with blocker context
- Delivery use
- Configured CI or GitOps decision workflow
Decision boundaryPolicy export is not installation in a cluster, continuous reconciliation or a separate runtime-protection product.
Acceptance checkDefine one allowed release, one blocker and one incomplete-evidence case before connecting the decision to delivery.