Safeguard
Security Guides•

Is my SBOM a source, build or deployed SBOM, and why does it matter?

SBOMs captured at different lifecycle stages hold different data. Learn how to tell which kind you got and what each can and cannot answer.

Safeguard Security Team
4 min read

An SBOM reflects the moment it was captured. A source SBOM comes from manifests before a build, a build SBOM from the build itself, and a post-build or deployed one from the finished artifact. Each answers different questions, so find out which you have before relying on it.

Why the stage changes the answer

Two SBOMs for the same product can differ because one was made from the manifest files in the repository and the other by inspecting the final container image. The first may list libraries that were never shipped. The second may include operating system packages the developers never chose.

Neither is wrong. They describe different things. The NTIA minimum elements report notes that knowing how the data was captured, with examples of "source," "build," or "post-build," helps consumption and data management.

What CycloneDX calls the stages

CycloneDX 1.6 has a lifecycles field in the metadata for exactly this. The reference defines these phases:

PhaseWhat the spec says
designEarly inventory of components proposed or planned
pre-buildInformation from before a build, such as source files and manifests; versions may need resolving
buildInformation from during the build; precise resolved versions and provenance are usually available
post-buildInformation from after the build, on built components that may be deployed
operationsInventory of what is running, possibly across staging or production
discoveryInformation observed through network discovery

If the field is present, read it first. If it is absent, you have to infer the stage from the content.

How to infer the stage

Look for these clues:

  • Lock file versions only, no OS packages. Likely pre-build or build, from language manifests.
  • Exact versions with hashes and source locations. Likely build, where resolved versions are known.
  • OS packages, base image layers, and installed binaries. Likely post-build, from scanning the artifact.
  • Host names, running services, or environment details. Likely operations.
  • A tool name in the metadata. Many tools have a typical mode. Check the tool's documentation.

If you cannot tell, ask the sender directly. It is a fair question and takes one line to answer.

What each stage can answer

QuestionSource or pre-buildBuildPost-build or deployed
What did developers choose to depend on?BestGoodPartial
Which exact versions were resolved?WeakBestGood
Is a vulnerable library in the artifact I run?WeakGoodBest
Does the base operating system add risk?NoPartialYes

For vulnerability exposure in what you actually run, the post-build view is closest to reality. For understanding developer choices and planning upgrades, the source view is cleaner.

Mismatch checks

If a vendor sends one SBOM, compare it with what you can observe. If you can scan the delivered container or package yourself, do it, and see whether the component counts are in the same range. A big gap suggests the SBOM is source level while you deployed a larger artifact, or the reverse.

You can also ask for more than one. Many suppliers can produce a build time SBOM and a post-build one from the same pipeline.

Where Safeguard fits

Safeguard provides SBOM and dependency scanning, so you can scan the artifact you received and compare it with the supplier's file. A free scan is at gold.safeguard.sh/scan.

Quick check

Which SBOM type is best?

None is best for every question. Pick by the question: developer choices, resolved versions, or what is running.

What if the file has no lifecycle information?

Infer it from the content and ask the supplier to confirm. Record the answer next to the file so the next reader does not repeat the work.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.