- Primary NIST source for the Secure Software Development Framework.
"core set of high-level secure software development practices"
For each software release, identify its components, record their origin, bind the records to the archived release, protect their integrity, and make them available under the producer's sharing policy.
SSDF treats a software bill of materials (SBOM) as an example of provenance data. It does not prescribe one SBOM format, require public disclosure, or treat an SBOM as proof that the release is secure.
Structured answer sets in this page tree.
Cited legal and guidance references.
Run this workflow for every software release. SSDF task PS.3.2 calls for collecting, safeguarding, maintaining, and sharing provenance data for all release components, with a (SBOM) as an example. Keep component inventory, component origin, release-integrity information, and component-approval evidence linked but distinct.
An SBOM records the components in a defined release. Provenance records the chronology of a component or artifact's origin, development, ownership, location, and changes; it may also cover the people and processes that modified it. PS.2 release-integrity information gives an acquirer a way to check that delivered software is legitimate and has not been altered.
PW.4 component-review evidence answers a different question: whether a commercial, open-source, or other third-party component was checked against the producer's requirements and monitored through its life cycle. Use stable product, release, artifact, and component identifiers to connect these records.
Start with the exact product, version, release artifact, platform, and packaging form. State whether the record covers first-party modules, direct and transitive dependencies, open-source and commercial components, embedded firmware, containers, services, generated code, and build-time dependencies. Do not imply full coverage when the collection method cannot see a category.
Document how components were found, such as package manifests, lockfiles, source or binary composition analysis, supplier records, and build-system output. Record known omissions, unresolved identities, the collection date, and the tool version or other method used.
Compare the collected record with release inputs and outputs. Resolve duplicate or ambiguous identities, stale versions, missing transitive dependencies, and supplier records that refer to another release. Validation does not prove completeness, so preserve the method, result, and known limits.
Bind the approved SBOM and provenance record to the archived release through stable identifiers and available integrity mechanisms. Protect release files and supporting data under retention and access policy. Keep the record for the shipped release after the current product inventory changes.
A completed workflow produces a release-specific SBOM or other provenance record, a record of known limits, an archive link, a sharing decision, and connections to component review and vulnerability response. It does not prove that the software is free of vulnerabilities or that every SSDF task operates.
An SBOM alone does not show that a component met security requirements, the build environment was protected, the delivered artifact is authentic, or a known vulnerability was remediated. Those conclusions require the corresponding SSDF evidence.
Define the release boundary, assign record owners, document collection limits, and connect each SBOM or provenance record to the matching release and response process.
Create cited tasks, evidence requests, and review checkpoints for this NIST SSDF scope.
Check source coverage, ownership, evidence gaps, and next steps before using or publishing the work.
"core set of high-level secure software development practices"