CBOMProfiles /Methodology ← Working group site
OPERATIONS

Handling older CBOM files

The term "older" is ambiguous until the versions involved are separated. Three items each carry a version and change independently. A conformance claim must reference all three to be reproducible.

Three version axes

AxisExampleChanges when
Carrier formatCycloneDX specVersion 1.6 → 1.7the SBOM/CBOM standard is revised
Profileinterface-disclosure v0.2 → v0.3the requirements change
Content revisiona product's CBOM version over timethe product or a re-scan changes

A newly generated CBOM (a new content revision) may still be serialized in CycloneDX 1.6 (an older carrier) and evaluated against profile v0.3 (newer rules). Conflating these axes is a common error.

Two of these axes are now recorded data rather than local convention. The 2026 minimum elements guidance adds SBOM Data Format Name and SBOM Data Format Version, which give the carrier axis, and SBOM Version, which gives the content-revision axis. Its Frequency element expects a new bill of materials for each build or release, so content revisions are produced as a matter of course rather than on request. A producer meeting that baseline supplies the two values a validator needs to place a document on both axes. See References.

Carrier version bands

The profile declares an acceptance range so that older CBOMs are handled explicitly. The rules file specifies "appliesTo": { "cyclonedx": { "min": "1.6", "tested": "1.7" } }, and the validator applies a four-band policy:

< 1.6 1.6 1.7 > 1.7 refuse upgrade first legacy — accept, warn target — accept newer — accept, review this example min = 1.6 tested = 1.7
A declared range provides a migration window, so that existing 1.6 CBOMs are not invalidated when 1.7 is published, together with a defined lower bound below which evaluation could produce an incorrect verdict.

The validator reports the band in which the CBOM falls. All four bands can be observed by evaluating the example CBOM at 1.7 and at 1.8, 1.6 and 1.5 copies. Four bands need four inputs: 1.7 is the tested version, 1.8 is newer than tested, 1.6 falls in the legacy window, and 1.5 is below the minimum and is refused.

Supporting recommendations

PKIC CBOM Profiles Working Group · illustrative documentation.