Safeguard
Supply Chain•

Detached or embedded SBOM signature: which should you use?

An embedded signature travels inside the SBOM file. A detached one sits beside it. Compare the trade offs and what each lets a reader verify.

Safeguard Security Team
4 min read

Use an embedded signature when the SBOM file will be passed around on its own, and a detached signature or attestation when you store SBOMs next to the artifact they describe. Either way, say what the signature covers and give readers the key or identity they need to verify it.

The two shapes

Embedded. The signature is a field inside the SBOM document. CycloneDX supports this: its JSON schema includes a signature property described as an enveloped signature in JSON Signature Format. The schema allows several signers, so more than one party can sign the same document.

Detached. The signature is a separate file or record that refers to the SBOM by its digest. A common pattern is to attach the SBOM to a container image as an attestation and sign that statement. The SBOM itself stays unchanged.

PropertyEmbeddedDetached
Travels with the file when emailed or downloadedYesOnly if you send both
Works for any formatDepends on format supportYes, signs a digest of the bytes
SBOM content must be edited to add itYesNo
Easy to bind to an image or release digestLess directDirect
Adding a second signer laterPossible if the format allowsAdd another signature
Risk that a tool re-serialises and breaks itHigherLower, if bytes stay identical

The re-serialisation trap

A signature covers specific bytes or a canonical form. If a tool opens the SBOM, reformats it and saves it, an embedded signature may no longer verify, even though the content is the same. Detached signatures over the original bytes avoid that, provided nobody changes the file. Test this: pass a signed SBOM through the tools in your pipeline and verify it at the end.

What a signature proves

A valid signature shows that the holder of a key or identity signed these bytes, and that they have not changed since. It does not show that the SBOM is complete or that the build was clean. Say so in your documentation. Readers who understand the limit trust the signature appropriately.

How to choose

  1. Do consumers receive the SBOM file alone, for example from a download page? Prefer embedded, or publish the signature at a stable address next to it.
  2. Do you already sign images and attach metadata to them? Prefer a detached attestation tied to the digest.
  3. Do several parties vouch for the document? Check that your format supports multiple signers.
  4. Will downstream tools rewrite the file? Prefer detached.

Steps to put it in place

  1. Decide what is signed: the file bytes, or a statement that names the artifact digest.
  2. Decide who signs, and how a reader will learn the verification key or identity.
  3. Sign in CI after the final SBOM is produced, never before post processing.
  4. Verify in CI as a separate step, so a broken signature fails the build.
  5. Publish the verification instructions with the SBOM.

Where Safeguard fits

Safeguard produces SBOMs and applies policies and gates in your pipeline, so you can check an SBOM before a release proceeds. Start with the free scan at gold.safeguard.sh/scan. Confirm signing options for your setup before relying on them.

Quick check

Does a signed SBOM mean it is accurate?

No. It shows who signed and that the bytes are unchanged, not that the content is complete.

Which is easier to automate?

Detached signing in CI over the final file is usually simpler, because nothing in the document changes.

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.