An SBOM tells you what is inside the artifact. A PBOM tells you how it got there.
Cryptographic pipeline lineage across GitHub Actions and Kargo. Zero developer friction. Complete chain-of-custody from commit to production.
// DATA_MODEL
PBOM separates artifact provenance into three distinct temporal phases, each capturing a different aspect of the pipeline lineage.
Captured during GitHub Actions workflow execution. Records source code identity and build environment.
Captured after build succeeds. Records what was produced and its security posture at creation time.
Captured when artifacts are promoted through deployment stages via Kargo GitOps.
// HOW_IT_WORKS
PBOM runs as a Required Workflow at the org level. Developers never see it, never configure it, never wait for it.
Install the PBOM Required Workflow at the org level. Runs automatically on every push and PR across all repos.
The workflow captures source and build identity from GITHUB_* environment variables. No code checkout, no interference.
A webhook listener enriches the PBOM with runner details, tool versions, artifact digests, and vulnerability data.
The final PBOM is stored as an OCI artifact referrer, cryptographically linked to the container image it describes.
Does not check out repo source. Does not interfere with the developer's build. Never blocks a merge (continue-on-error: true). Adds ~10 seconds to the checks list.
// CLI_REFERENCE
Generate, validate, inspect, push, and version. Built with Go and Cobra.
Generate a PBOM from the current GitHub Actions environment. Reads GITHUB_* env vars to produce a lineage document with zero configuration.
-o, --output <file> — Write PBOM to file (default: stdout)
Validate a PBOM document for schema correctness. Checks required fields, commit SHA format (40-char hex), and artifact digest format (sha256: + 64 hex).
Display pipeline lineage in a human-readable format. Shows source, build, artifacts, and promotion data in structured sections.
--json — Output raw JSON instead of formatted summary
Push a PBOM to an OCI registry as a referrer artifact. Links the lineage document to the container image it describes using the OCI 1.1 Referrers API.
Print PBOM CLI and schema version.
// TOOL_DETECTION
PBOM probes the build runner's PATH for known tools and records their exact versions. Covers the most common build ecosystems.
// DOCUMENT_SCHEMA
JSON Schema Draft 2020-12. Every field is typed and validated. The schema is the contract.
Required: pbom_version, id, timestamp, source, build
Required: repository, commit_sha
Required: workflow_run_id, workflow_name, actor, status
Required: name, type, digest
{
"pbom_version": "1.0.0",
"id": "f47ac10b-58cc-4372...",
"timestamp": "2026-01-28T14:30:00Z",
"source": {
"repository": "acme-corp/payments-service",
"commit_sha": "a1b2c3d4e5f6...a1b2",
"branch": "main",
"author": "jane.doe"
},
"build": {
"workflow_run_id": "7890123456",
"workflow_name": "CI",
"trigger": "push",
"actor": "jane.doe",
"status": "success",
"tool_versions": {
"go": "1.22.4",
"ko": "0.15.2"
}
},
"artifacts": [{
"name": "payments-service",
"type": "container-image",
"digest": "sha256:9f86d081...",
"vulnerabilities": {
"scanner": "trivy",
"critical": 0,
"high": 1
}
}]
}
// DEPLOYMENT
Install once at the org level. Every repo gets pipeline lineage automatically.
Copy the PBOM Collector workflow to your org's .github repository or platform-workflows repo.
Org Settings → Actions → Required Workflows → Add workflow. Select which repos to apply it to (all or subset).
Every push and PR now generates a PBOM. Developers don't need to change anything. PBOMs are uploaded as artifacts with 90-day retention.
// SBOM_VS_PBOM
An SBOM lists ingredients. A PBOM verifies the kitchen. You need both for complete supply chain integrity.
| SBOM | PBOM | |
|---|---|---|
| Question | What's inside the artifact? | How did the artifact get built? |
| Tracks | Dependencies, licenses, CVEs | Source, build env, runner, tools |
| Detects | Known vulnerabilities in deps | Compromised build environments |
| Prevents | Shipping vulnerable libraries | SolarWinds-style supply chain attacks |
| Standard | CycloneDX, SPDX | PBOM Schema v1.0.0 (JSON) |
PBOM proves exactly which human, runner, and compiler produced every artifact. Forensic-grade lineage from commit to production.