Markdown Editor

SSDF Self-Assessment and Attestation Template (NIST SP 800-218)

SSDF 1.1 self-assessment by task (PO, PS, PW, RV), status scale and scoring, evidence, POA&M, exceptions, v1.2 draft and AI profile supplements, attestation

सुरक्षा इंजीनियरिंगपूर्णNIST SP 800-218 SSDF 1.1; SP 800-218r1 ipd; SP 800-218Assdfpracticeattestation
एडिटर में खोलें.md डाउनलोड करें

उपयोग कैसे करें: Use it when a customer, contract or auditor asks how you build software securely against NIST SP 800-218. Fill the scope and the 42 SSDF 1.1 task rows with evidence first, then the POA&M and only then the optional attestation statement. The main pitfall is claiming conformance to the SSDF 1.2 draft or signing a blanket statement while tasks are open.

प्रीव्यू

SSDF Conformance Self-Assessment and Attestation: [Product or organisation]

Self-assessment of a software producer's development practices against the NIST Secure Software Development Framework (SSDF) Version 1.1, NIST SP 800-218 (final, February 2022). The assessment is recorded task by task for the four practice groups (Prepare the Organization, Protect the Software, Produce Well-Secured Software, Respond to Vulnerabilities), with evidence, gaps, a plan of action and milestones (POA&M) and an optional attestation statement. Clearly marked supplements cover the SSDF Version 1.2 initial public draft (SP 800-218r1, December 2025) and the generative AI community profile (SP 800-218A, July 2024). Worked examples use Corvid Commerce, a fictional SaaS company. Replace every [bracketed] value and every row marked Example. This is a documentation format, not legal advice: a customer, contract or regulator may require a specific form, scope or wording.

Document control

FieldValue
Document ID[SSDF-ASSESS-001]
Version[0.1]
Status[Draft / In review / Approved / Superseded]
Owner[@appsec-lead]
Approvers / reviewers[@cto], [@head-of-engineering], [@ciso], [@legal-counsel]
Last updatedYYYY-MM-DD
Classification[Confidential / Shareable with customers under NDA]
Software in scope[Example: Corvid Storefront SaaS platform, releases 2026.3 to 2026.10]
Framework version assessedNIST SP 800-218, SSDF Version 1.1 (final)
Supplements recorded[SP 800-218r1 draft additions (section 10) / SP 800-218A AI profile (section 11) / None]
Assessment periodYYYY-MM-DD to YYYY-MM-DD
Assessment type[First-party self-assessment / Third-party assessment by [assessor]]
Intended recipients[Example: Enterprise customers, public-sector buyers, internal risk committee]
Next reassessmentYYYY-MM-DD (at least annually and after a trigger in section 13)

Approvals

RoleNameDecisionDate
Accountable executive (attestation signatory)[@name][Approved / Changes requested]YYYY-MM-DD
Chief information security officer[@name][Decision]YYYY-MM-DD
Head of engineering[@name][Decision]YYYY-MM-DD
Legal counsel[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First draft after evidence collection
0.2YYYY-MM-DD[@name]Example: Scores reviewed with practice owners; POA&M agreed
1.0YYYY-MM-DD[@name]Example: Approved; attestation statement signed

Contents

1. Introduction and scope

1.1 Purpose

This document records how [Organisation] meets each task of the Secure Software Development Framework for the software named below. It serves three uses:

  1. Internal improvement. It gives the security and engineering leads a task-level view of gaps and a funded plan to close them.
  2. Customer assurance. It answers supplier questionnaires and contract clauses that reference SP 800-218, with evidence available on request.
  3. Optional attestation. Where a buyer asks for a signed statement, section 12 provides one that is consistent with the recorded results.

1.2 Software in scope

ItemValue
Product(s)[Example: Corvid Storefront (multi-tenant commerce SaaS), Corvid Checkout SDK (JavaScript library distributed to customers)]
Versions or release range[Example: All releases from 2026.3 onwards; SDK 4.x]
Delivery model[Example: SaaS deployed continuously to production; SDK published to a public package registry]
Development locations and teams[Example: 9 product teams, 1 platform team, contractors in 2 countries]
Build and release environment[Example: Hosted Git service, managed CI runners, private artefact registry, Kubernetes production clusters]
Third-party components[Example: About 1,400 open-source packages, 6 commercial libraries, 3 managed cloud services]
Out of scope[Example: Internal analytics notebooks, marketing website, acquired product "Corvid Lite" until integration is complete]

1.3 Basis and versions

SourceVersion and statusUse in this document
NIST SP 800-218, Secure Software Development Framework (SSDF) Version 1.1Final, published 3 February 2022Normative basis: practices and tasks in sections 4 to 7
NIST SP 800-218r1, SSDF Version 1.2Initial public draft, 17 December 2025; comment period closed 30 January 2026Readiness only (section 10); not a basis for conformance claims
NIST SP 800-218A, Secure Software Development Practices for Generative AI and Dual-Use Foundation Models: An SSDF Community ProfileFinal, 26 July 2024Supplement for teams that train or fine-tune AI models (section 11)
OMB Memorandum M-26-05, Adopting a Risk-based Approach to Software and Hardware SecurityIssued 23 January 2026Context for federal buyers (section 12.1)
CISA Secure Software Development Attestation Common FormReleased March 2024; use is optional for agencies after M-26-05Context only (section 12.1)

Check csrc.nist.gov for a final SSDF Version 1.2 before each reassessment. Executive Order 14306 (June 2025) directed NIST to publish a preliminary SSDF update and then a final version, so a final release may appear at any time. When it does, re-baseline this document against it.

1.4 Relationship to other documents

This assessment summarises practices that are specified in more detail elsewhere. Link the evidence, do not duplicate it:

  • Secure coding rules: Secure Coding Standard (security/secure-coding-standard)
  • Threat modelling: Threat Model (security/threat-model) and Security Design Review (security/security-review)
  • Build pipeline controls: CI/CD Pipeline Design (dev/ci-cd-pipeline-design)
  • Provenance, signing and SLSA levels: Software Supply Chain Security Assessment (security/supply-chain-security)
  • SBOM and VEX production: SBOM and VEX Policy (security/sbom-vex-policy)
  • Vulnerability intake and response: Vulnerability Disclosure Policy (security/vulnerability-disclosure-policy) and PSIRT Vulnerability Handling (security/psirt-vulnerability-handling)
  • Programme maturity view: OWASP SAMM Assessment (security/samm-assessment)

2. Assessment method

2.1 Roles

ActivityAppSec leadPractice ownersEngineering managersInternal audit or 3rd-party assessorAccountable executive
Plan scope and scheduleA/RCCII
Collect evidence per taskCRRII
Score each taskRCCCI
Calibrate and challenge scoresACIRI
Approve POA&M and fundingCCCIA
Sign attestation statementCIICA/R

R = Responsible, A = Accountable, C = Consulted, I = Informed.

2.2 Implementation status scale

StatusCodeCriteriaScore
ImplementedIThe task outcome is achieved for all in-scope software, the practice is documented, and current evidence exists (generated within the last 12 months, or within the last release cycle for per-release tasks).1.0
Partially implementedPThe outcome is achieved for some products, teams or releases, or the practice exists but evidence is incomplete or stale.0.5
Not implementedNThe outcome is not achieved, or there is no evidence.0
Not applicableNAThe task cannot apply to the scoped software. Record the reason; the task is removed from the denominator.n/a
Planned (overlay)+Use with P or N when a POA&M item with a funded date exists, for example "N+".as base

Score formulas.

  • Task coverage (%) = Implemented tasks / applicable tasks x 100.
  • Weighted conformance (%) = sum of task scores / applicable tasks x 100.
  • Group score (%) = weighted conformance computed per practice group.

The weighted score is a management indicator, not a pass mark. The SSDF itself does not define levels or thresholds; buyers usually look at the individual tasks and the plan for gaps.

2.3 Evidence standard

Accept evidence that shows the practice operating, not only a policy that says it should. Prefer, in order:

  1. System records generated by the toolchain (pipeline logs, branch protection settings exports, signed provenance, scan results).
  2. Records of a human control operating (review approvals, training completion records, risk acceptance tickets).
  3. Approved documents (policies, standards, procedures) with an owner and a review date.
  4. Interviews, recorded with date and interviewee role, used only to explain the above.

Record each item as EVD-NNN with location, date and owner in the evidence index (an appendix or a linked register). Sample at least [Example: three] products or repositories per task when the scope covers more than three.

2.4 Assessment flow

The flow below runs once per assessment cycle. Calibration can send a score back for more evidence; only approved results feed the attestation.

3. Summary of results

SSDF 1.1 defines 19 active practices and 42 active tasks. Some IDs from SSDF Version 1.0 are retired and marked "moved" in SP 800-218 (for example PW.3, PW.4.3, PW.4.5 and PW.5.2); they are not assessed.

Practice groupApplicable tasksIPNNATask coverageWeighted conformance
PO, Prepare the Organization13Example: 760053.8%76.9%
PS, Protect the Software4Example: 310075.0%87.5%
PW, Produce Well-Secured Software16Example: 952056.3%71.9%
RV, Respond to Vulnerabilities9Example: 432044.4%61.1%
Total4223154054.8%72.6%

Example calculation for the total: weighted conformance = (23 x 1.0 + 15 x 0.5 + 4 x 0) / 42 = 30.5 / 42 = 72.6%.

Key messages (Example).

  • Corvid Commerce protects code and releases well (PS 87.5%): branch protection, signed artefacts and retained provenance are in place.
  • The weakest group is RV (61.1%): vulnerabilities are fixed, but root causes are not analysed systematically, so the same classes recur.
  • Four tasks are not implemented (PW.6.2, PW.9.2, RV.3.2, RV.3.4). All four have funded POA&M items due within two quarters.

4. Prepare the Organization (PO)

Columns "Status", "Evidence" and "Gap or note" show Example values for Corvid Commerce. Task text is an original one-line paraphrase; read SP 800-218 for the full wording and implementation examples.

TaskParaphraseStatusEvidenceGap or noteOwner
PO.1Define security requirements for software development
PO.1.1Document and maintain the security requirements that apply to development infrastructure and processesExample: IEVD-001 Secure development policy v3, reviewed 2026-04None[@appsec-lead]
PO.1.2Document and maintain the security requirements that the organisation's own software must meetExample: IEVD-002 Product security requirements baseline; EVD-003 secure coding standardNone[@appsec-lead]
PO.1.3Communicate security requirements to third parties that supply commercial components for reuseExample: PEVD-004 Supplier clause in 4 of 6 contractsTwo older contracts lack the clause (POAM-001)[@procurement-lead]
PO.2Implement roles and responsibilities
PO.2.1Define and periodically review roles and responsibilities that cover the whole development life cycleExample: IEVD-005 RACI in engineering handbook; security champion rosterNone[@head-of-engineering]
PO.2.2Give role-based secure development training to everyone whose work affects security, and keep it currentExample: PEVD-006 Training records: 71% of engineers completedNo role-specific track for SRE and QA (POAM-002)[@security-champions-lead]
PO.2.3Obtain and communicate leadership commitment to secure developmentExample: IEVD-007 CTO memo; security objectives in engineering OKRsNone[@cto]
PO.3Implement supporting toolchains
PO.3.1Specify which tools or tool types each toolchain must or should include and how they integrateExample: IEVD-008 Pipeline reference designNone[@platform-lead]
PO.3.2Deploy, operate and maintain tools and toolchains securelyExample: IEVD-009 Runner hardening baseline; tool patch logNone[@platform-lead]
PO.3.3Configure tools to produce artefacts that show secure development practices are followedExample: PEVD-010 Scan results retained for 90 days onlyRetention shorter than release support period (POAM-003)[@platform-lead]
PO.4Define and use criteria for software security checks
PO.4.1Define criteria for security checks and track them across the life cycleExample: PEVD-011 Release gate for critical findingsNo defined criteria for design review or threat model completion (POAM-003)[@appsec-lead]
PO.4.2Gather and protect the information needed to apply those criteriaExample: PEVD-012 Dashboard of scan resultsGate decisions not logged for manual overrides (POAM-003)[@platform-lead]
PO.5Implement and maintain secure environments for software development
PO.5.1Separate and protect each environment used in development, build, test and releaseExample: IEVD-013 Network segmentation diagram; separate cloud accounts per environmentNone[@platform-lead]
PO.5.2Harden and secure development endpoints using a risk-based approachExample: PEVD-014 Device management covers employeesContractor laptops not enrolled (POAM-004)[@it-security-lead]

5. Protect the Software (PS)

TaskParaphraseStatusEvidenceGap or noteOwner
PS.1Protect all forms of code from unauthorised access and tampering
PS.1.1Store source, executable and configuration code with least-privilege access so only authorised people and services can change itExample: IEVD-015 Branch protection export; SSO-enforced repository access; quarterly access reviewNone[@platform-lead]
PS.2Provide a mechanism for verifying software release integrity
PS.2.1Publish integrity verification information (hashes, signatures) that acquirers can useExample: IEVD-016 SDK packages signed; container images signed with keyless signing; verification guideNone[@release-manager]
PS.3Archive and protect each software release
PS.3.1Archive release files and supporting data such as integrity and provenance informationExample: IEVD-017 Immutable artefact registry with 3-year retentionNone[@release-manager]
PS.3.2Collect, protect, maintain and share provenance data for all components of each release, for example as an SBOMExample: PEVD-018 SBOM generated for SDK releasesNo SBOM for SaaS runtime images (POAM-005)[@appsec-lead]

6. Produce Well-Secured Software (PW)

PW.3 is not assessed: in SSDF 1.1 its tasks moved to PO.1.3 and PW.4.4. PW.4.3, PW.4.5 and PW.5.2 are also retired IDs.

TaskParaphraseStatusEvidenceGap or noteOwner
PW.1Design software to meet security requirements and mitigate security risks
PW.1.1Use risk modelling, such as threat modelling or attack surface mapping, to assess the software's security riskExample: IEVD-019 Threat models for 8 of 8 tier-1 servicesNone[@appsec-lead]
PW.1.2Track and maintain security requirements, risks and design decisionsExample: PEVD-020 Design docs with security sectionRisk decisions not linked to tickets (POAM-006)[@engineering-managers]
PW.1.3Build in support for standard security features and services instead of creating bespoke onesExample: IEVD-021 Central identity, logging and secrets services used by all servicesNone[@platform-lead]
PW.2Review the software design to verify compliance with security requirements and risk information
PW.2.1Have a qualified reviewer not involved in the design, or automated checks, confirm the design meets the security requirementsExample: PEVD-022 Design review recordsIndependent review only for tier-1 services (POAM-006)[@appsec-lead]
PW.4Reuse existing, well-secured software when feasible instead of duplicating functionality
PW.4.1Acquire and maintain well-secured third-party components for use in the softwareExample: IEVD-023 Dependency intake procedure; approved registry proxyNone[@platform-lead]
PW.4.2Build and maintain well-secured shared components in-house where third-party ones do not fitExample: IEVD-024 Internal libraries follow the same pipeline and review rulesNone[@platform-lead]
PW.4.4Verify that acquired components meet the organisation's requirements throughout their life cycleExample: PEVD-025 Software composition analysis on mergeNo continuous check of deployed versions; no end-of-life check (POAM-001)[@appsec-lead]
PW.5Create source code by adhering to secure coding practices
PW.5.1Follow secure coding practices suited to the languages and environmentExample: IEVD-026 Secure coding standard; linter rules enforced in CINone[@engineering-managers]
PW.6Configure the compilation, interpreter and build processes to improve executable security
PW.6.1Use compilers, interpreters and build tools that offer security-improving featuresExample: IEVD-027 Supported toolchain versions listNone[@platform-lead]
PW.6.2Decide which security features and settings the build tools should use, then apply and enforce the approved configurationExample: NNoneNo approved hardening flags or strict modes per language (POAM-007)[@platform-lead]
PW.7Review and/or analyse human-readable code to identify vulnerabilities and verify compliance with security requirements
PW.7.1Decide whether to use code review, code analysis or both, based on riskExample: IEVD-028 Review policy: two approvals for tier-1, static analysis on all repositoriesNone[@appsec-lead]
PW.7.2Perform the review or analysis against the secure coding standard and record and triage the findingsExample: IEVD-029 Static analysis findings tracked in issue tracker with triage labelsNone[@engineering-managers]
PW.8Test executable code to identify vulnerabilities and verify compliance with security requirements
PW.8.1Decide whether and which kinds of executable testing are neededExample: IEVD-030 Test strategy: dynamic scanning, annual penetration testNone[@qa-lead]
PW.8.2Scope, design and run the tests, document results and triage findingsExample: PEVD-031 Penetration test report 2026-05Dynamic scan results not triaged into backlog (POAM-008)[@qa-lead]
PW.9Configure software to have secure settings by default
PW.9.1Define a secure baseline so that default settings do not weaken securityExample: PEVD-032 Tenant default settings listNot reviewed by security; legacy API keys enabled by default (POAM-009)[@product-security-lead]
PW.9.2Implement the secure defaults and document each security-relevant setting for administratorsExample: NNoneNo administrator hardening guide (POAM-009)[@product-security-lead]

7. Respond to Vulnerabilities (RV)

TaskParaphraseStatusEvidenceGap or noteOwner
RV.1Identify and confirm vulnerabilities on an ongoing basis
RV.1.1Collect vulnerability information from acquirers, users and public sources about the software and its components, and investigate credible reportsExample: IEVD-033 Security contact and intake queue; advisory feed monitoringNone[@psirt-lead]
RV.1.2Review, analyse or test the code to find vulnerabilities not detected beforeExample: IEVD-034 Scheduled full-repository scans; bug bounty reportsNone[@appsec-lead]
RV.1.3Maintain a vulnerability disclosure and remediation policy, with the roles and processes to support itExample: IEVD-035 Published disclosure policy; PSIRT procedureNone[@psirt-lead]
RV.2Assess, prioritise and remediate vulnerabilities
RV.2.1Analyse each vulnerability to understand its risk well enough to plan a responseExample: IEVD-036 Triage records with severity and exploitabilityNone[@psirt-lead]
RV.2.2Plan and carry out risk responses, such as fixes, mitigations or documented acceptanceExample: PEVD-037 Remediation SLA report18% of high findings past SLA; acceptances not time-limited (POAM-010)[@psirt-lead]
RV.3Analyse vulnerabilities to identify their root causes
RV.3.1Determine the root cause of identified vulnerabilitiesExample: PEVD-038 Root cause recorded for critical issues onlyNot done for high and medium (POAM-011)[@appsec-lead]
RV.3.2Analyse root causes over time to find patternsExample: NNoneNo trend analysis (POAM-011)[@appsec-lead]
RV.3.3Search the software for similar vulnerabilities and fix the whole class proactivelyExample: PEVD-039 Variant search after two critical issuesNo standard variant analysis step (POAM-012)[@appsec-lead]
RV.3.4Update the development process to prevent recurrence of identified root causesExample: NNoneLessons not fed into standards or training (POAM-011)[@appsec-lead]

8. Plan of action and milestones

POA&M IDTasks addressedActionOwnerMilestonesDueStatus
POAM-001 (Example)PO.1.3, PW.4.4Add the supplier security clause at renewal; add continuous component monitoring of deployed versions and an end-of-life check[@procurement-lead], [@appsec-lead]Clause approved; monitoring live in productionYYYY-MM-DDOpen
POAM-002 (Example)PO.2.2Create role tracks for SRE and QA; target 95% completion[@security-champions-lead]Tracks published; completion reportYYYY-MM-DDOpen
POAM-003 (Example)PO.3.3, PO.4.1, PO.4.2Define security check criteria per stage; retain tool artefacts for the support period; log gate overrides[@platform-lead]Criteria approved; retention changed; override log in placeYYYY-MM-DDIn progress
POAM-004 (Example)PO.5.2Enrol contractor endpoints or provide managed virtual desktops[@it-security-lead]100% enrolmentYYYY-MM-DDOpen
POAM-005 (Example)PS.3.2Generate and archive SBOMs for every runtime image release[@appsec-lead]Pipeline step live; SBOM attached to release recordYYYY-MM-DDIn progress
POAM-006 (Example)PW.1.2, PW.2.1Link threat model risks to tickets; extend independent design review to tier-2 services[@appsec-lead]Template updated; reviewer rotaYYYY-MM-DDOpen
POAM-007 (Example)PW.6.2Approve build hardening and strict-mode settings per language and enforce in CI[@platform-lead]Settings approved; CI policy enforcingYYYY-MM-DDOpen
POAM-008 (Example)PW.8.2Route dynamic scan findings into team backlogs with triage SLA[@qa-lead]Integration liveYYYY-MM-DDOpen
POAM-009 (Example)PW.9.1, PW.9.2Security review of tenant defaults; disable legacy API keys by default; publish administrator hardening guide[@product-security-lead]Review done; guide publishedYYYY-MM-DDOpen
POAM-010 (Example)RV.2.2Time-limit risk acceptances; weekly SLA review[@psirt-lead]Acceptance workflow updatedYYYY-MM-DDIn progress
POAM-011 (Example)RV.3.1, RV.3.2, RV.3.4Root cause analysis for all high and critical findings; quarterly trend review that updates standards and training[@appsec-lead]First quarterly review heldYYYY-MM-DDOpen
POAM-012 (Example)RV.3.3Add a variant analysis step to the fix procedure[@appsec-lead]Procedure updatedYYYY-MM-DDOpen

Check: the 19 tasks scored P or N in sections 4 to 7 each appear in exactly one POA&M item above.

9. Compensating controls and exceptions

Record each exception with its own ID. Exceptions MUST have an expiry date, an accountable approver and a link to the POA&M item that removes them.

Exception IDTaskReasonCompensating controlResidual riskApproved byExpires
EXC-001 (Example)PW.6.2Build hardening settings not yet agreed for the Go servicesStatic analysis rules for unsafe packages enforced; memory-safe language in useLow[@ciso]YYYY-MM-DD
EXC-002 (Example)PO.5.2Contractor endpoints not managedContractors work only through browser-based development environments with no local cloneMedium[@ciso]YYYY-MM-DD

Rules for exceptions:

  1. An exception never changes the task status in sections 4 to 7.
  2. Exceptions are reviewed at each reassessment and lapse on their expiry date unless renewed with new justification.
  3. Exceptions affecting the attestation statement (section 12) are listed in the statement or its annex.

10. SSDF Version 1.2 draft additions (not final)

Draft notice. NIST SP 800-218r1 (SSDF Version 1.2) was released as an initial public draft on 17 December 2025, with comments closed on 30 January 2026. As of the date of this template, no final version is published. Practice and task IDs below may change. Check csrc.nist.gov/pubs/sp/800/218/r1/ipd and the SSDF project page before use.

The draft adds two practices. The paraphrases below are original summaries of the draft text.

Draft taskParaphraseReadinessNote
PO.6Define and implement a continuous process improvement plan
PO.6.1Update and improve development environments as threats change and new tools are adoptedExample: PartialTool review happens ad hoc
PO.6.2Look for new processes, tools and techniques, such as safer languages, that avoid classes of errorsExample: PartialLinks to the memory-safety roadmap in Secure by Design Roadmap (security/secure-by-design-roadmap)
PO.6.3Improve vulnerability response and periodically revisit earlier response decisionsExample: Not startedOverlaps POAM-010
PS.4Ensure software updates are robust and reliable
PS.4.1Test updates thoroughly before release, including in representative configurationsExample: ReadyStaging and canary tests in pipeline
PS.4.2Use tiered release strategies such as canaries, staged roll-outs and test deploymentsExample: ReadyProgressive delivery in production
PS.4.3Provide reliable rollback for updates and protect against rollback to vulnerable versionsExample: PartialSaaS rollback ready; SDK has no downgrade protection
PS.4.4Keep update engines and delivery infrastructure robust and reliableExample: ReadyRegistry and CDN have failover

The draft also rewords two existing tasks (RV.1.2 and RV.3.3), adds implementation examples to several tasks and removes the EO 14028 references and appendix. Compare each existing task with the final when it is published, and record changed tasks in the revision history.

11. AI model development supplement (SP 800-218A)

SP 800-218A augments SSDF 1.1 for producers of generative AI and dual-use foundation models. It keeps the SSDF task structure, marks tasks that are modified, and adds tasks that are not part of SSDF 1.1. The added tasks include the following (original paraphrases; check the profile for the full list and the per-task priority).

Profile taskParaphraseStatusEvidenceNote
PO.5.3Continuously monitor how software behaves in development environments to spot suspicious activityExample: NACorvid Commerce does not train models
PS.1.2Protect training, testing, fine-tuning and alignment data from unauthorised access and changeExample: NA
PS.1.3Protect model weights and configuration parameters from unauthorised access and changeExample: NA
PW.3 (PW.3.1 to PW.3.3)Confirm the integrity of training, testing, fine-tuning and alignment data before useExample: NAPractice ID reused by the profile for a new purpose

If any profile task applies, also complete an AI bill of materials (ai-data/ai-bom) for each model and reference it as evidence for PS.3.2.

12. Attestation statement (optional)

12.1 Status of the CISA common form

For US federal buyers, OMB Memorandum M-22-18 and its companion M-23-16 required agencies to collect the CISA Secure Software Development Attestation Common Form from software producers. OMB Memorandum M-26-05 (23 January 2026) rescinded M-22-18 and M-23-16 and asks each agency to set software and hardware assurance requirements based on its own risk assessment. Agencies may still choose to use the government-wide resources developed under M-22-18, including the attestation form, and may require an SBOM by contract. Check the current status of the form and of the CISA repository for attestations at cisa.gov before submitting anything; this template does not reproduce the form.

Other buyers, including regulated industries and enterprise customers, increasingly reference SP 800-218 in contracts. Read the contract clause: it decides the form, signatory and scope.

12.2 Statement

Example wording; adapt with counsel.

Statement of secure software development practices

[Organisation] ("the producer") has assessed the development practices used for [software in scope, versions] against NIST SP 800-218, Secure Software Development Framework Version 1.1, for the period [start] to [end].

  1. The results are recorded in [SSDF-ASSESS-001, version], which lists the status and evidence for each SSDF task.
  2. [23] of [42] applicable tasks are implemented, [15] are partially implemented and [4] are not implemented. Each task not fully implemented is covered by a dated plan of action and milestones ([POAM-001 to POAM-012]).
  3. Compensating controls are in place for the exceptions listed in [EXC-001, EXC-002].
  4. The producer will update this statement if a material change affects the practices described, and at least every [12] months.

Signed: [Name], [Title], [Organisation]. Date: YYYY-MM-DD.

12.3 Independent assessment option

Some buyers ask for third-party verification. If so, record the assessor, the method (interview, inspection, sampling), the sample and the assessor's conclusion as an annex. A third-party report does not replace this document; it tests it.

13. Maintenance and reassessment

Reassess at least every [12] months, and also when any trigger occurs:

TriggerAction
NIST publishes a final SSDF Version 1.2Re-baseline against the new version within [two] quarters
Major change to the build or release pipelineReassess PO.3, PO.5, PS.1 to PS.3
Acquisition or new product lineExtend scope or create a separate assessment
Security incident involving the development environmentReassess PO.5, PS.1 and RV.3; update the statement
POA&M item closedUpdate the task status with new evidence
Customer or contract requires a new attestationConfirm the assessment is within its validity period

Metrics tracked quarterly (Example targets).

MetricFormulaTarget
Weighted conformanceSum of task scores / applicable tasksAbove 85% within 12 months
POA&M on timePOA&M items closed by due date / items due90%
Evidence freshnessImplemented tasks with evidence under 12 months old / implemented tasks100%
Exceptions past expiryCount of exceptions beyond expiry date0

14. Traceability

SSDF practiceInternal artefact (Example)Library templateRelated OWASP SAMM practice or stream
PO.1Secure development policy; product security requirementsSecure Coding Standard (security/secure-coding-standard)Governance, Policy and Standards; Design, Software Requirements
PO.2Engineering handbook RACI; training planSecurity Champions Program (security/security-champions-program)Governance, Education and Guidance
PO.3, PO.4Pipeline reference design; release gatesCI/CD Pipeline Design (dev/ci-cd-pipeline-design)Implementation, Build Process
PO.5Environment segmentation; endpoint baselineSecurity Architecture (security/security-architecture)Operations, Configuration Hardening
PS.1 to PS.3Branch protection; signing; artefact retention; SBOMSoftware Supply Chain Security Assessment (security/supply-chain-security); SBOM and VEX Policy (security/sbom-vex-policy)Implementation, Build Process and Software Dependencies
PW.1, PW.2Threat models; design reviewsThreat Model (security/threat-model); Security Design Review (security/security-review)Design, Threat Modeling; Verification, Architecture Validation
PW.4Dependency intake; supplier assessmentSupplier Security Assessment (compliance/supplier-security-assessment)Design, Supplier Security; Implementation, Software Dependencies
PW.5 to PW.8Coding standard; code review; testingSecure Coding Standard (security/secure-coding-standard)Verification, Security Testing
PW.9Secure defaults; administrator guideSecure by Design Roadmap (security/secure-by-design-roadmap)Operations, Configuration Hardening
RV.1 to RV.3Disclosure policy; PSIRT; root cause reviewsVulnerability Disclosure Policy (security/vulnerability-disclosure-policy); PSIRT Vulnerability Handling (security/psirt-vulnerability-handling)Implementation, Defect Management; Operations, Incident Management

The SAMM column uses SAMM v2 names and is this template's own mapping. SP 800-218 itself cites SAMM version 1.5 activity codes in its References column (for example PC1-A for PO.1.1); OWASP SAMM Assessment (security/samm-assessment) section 11 translates those codes to SAMM v2 practices.

15. Glossary and references

15.1 Glossary

TermMeaning in this document
SSDFSecure Software Development Framework: a set of high-level practices for secure software development published by NIST
PracticeA grouping of tasks that share an outcome, identified as PO.n, PS.n, PW.n or RV.n
TaskAn individual action within a practice, identified as, for example, PW.7.2
Notional implementation exampleAn illustration in SP 800-218 of how a task might be performed; not a requirement
POA&MPlan of action and milestones: dated actions that close identified gaps
AttestationA signed statement by an authorised person about the producer's practices
SBOMSoftware bill of materials: a formal record of components and their relationships
ProvenanceVerifiable information about where, when and how an artefact was produced
ProducerThe organisation that develops and supplies the software

15.2 References

ReferenceUse
NIST SP 800-218, Secure Software Development Framework (SSDF) Version 1.1: Recommendations for Mitigating the Risk of Software Vulnerabilities, February 2022, doi:10.6028/NIST.SP.800-218 (csrc.nist.gov/pubs/sp/800/218/final)Practices and tasks (sections 4 to 7)
NIST SP 800-218r1 ipd, SSDF Version 1.2, initial public draft, December 2025 (csrc.nist.gov/pubs/sp/800/218/r1/ipd)Draft additions (section 10)
NIST SP 800-218A, Secure Software Development Practices for Generative AI and Dual-Use Foundation Models: An SSDF Community Profile, July 2024 (csrc.nist.gov/pubs/sp/800/218/a/final)AI supplement (section 11)
OMB Memorandum M-26-05, Adopting a Risk-based Approach to Software and Hardware Security, 23 January 2026 (whitehouse.gov)Federal context (section 12.1)
Executive Order 14306, Sustaining Select Efforts To Strengthen the Nation's Cybersecurity and Amending Executive Order 13694 and Executive Order 14144, signed 6 June 2025 (federalregister.gov)Direction to update the SSDF
CISA, Secure Software Development Attestation Form (cisa.gov/secure-software-attestation-form)Context only; check current status
OWASP SAMM Assessment (security/samm-assessment)Maturity view that complements this conformance view
Software Supply Chain Security Assessment (security/supply-chain-security)SLSA levels, signing and provenance detail
AI Bill of Materials (ai-data/ai-bom)Model and dataset inventory for section 11

Standard and licence note

Based on NIST SP 800-218 (SSDF Version 1.1, final, February 2022), the NIST SP 800-218r1 initial public draft (SSDF Version 1.2, December 2025), NIST SP 800-218A (final, July 2024) and OMB Memorandum M-26-05 (January 2026), which are works of the United States Government and not subject to copyright in the United States. Practice and task identifiers and practice names are cited; task descriptions are original one-line paraphrases, and the assessment method, scoring formulas, attestation wording and examples are original. The CISA attestation form is not reproduced. Check the current official versions at csrc.nist.gov, whitehouse.gov and cisa.gov before relying on this document, as a final SSDF Version 1.2 or new federal guidance may have been published. Corvid Commerce is a fictional company. Original text written for this collection. Template licence: MIT.

संबंधित टेम्पलेट