OWASP SAMM (Software Assurance Maturity Model), currently Version 2 (latest point release v2.2.0, 6 July 2026), is an open, vendor-neutral maturity model that scores an organization's software security practices across 5 business functions and 15 security practices, each split into 2 streams and 3 maturity levels — a self-assessment framework, not a pass/fail checklist, that an organization re-scores periodically to track improvement and prioritize gaps. OWASP's own homepage describes its purpose as "an effective and measurable way for any organization to analyze and improve their security posture." Version 1.0 was created in 2009 by Pravir Chandra.
Key takeaways
- Every practice has a stream A and a stream B.
- This stream-and-level structure repeats across all fifteen practices, each with its own pair of stream names and level objectives specific to that practice.
- A SAMM score is built from answers to the 90 questions, averaged per level, summed per practice and averaged per business function.
- Synthetic example, not a customer case.
What are SAMM's five business functions and fifteen practices?
OWASP SAMM's model page states it "defines five business functions and fifteen security practices." Each business function groups exactly three named practices:
| Business function | Security practices |
|---|---|
| Governance | Strategy & Metrics · Policy & Compliance · Education & Guidance |
| Design | Threat Assessment · Security Requirements · Secure Architecture |
| Implementation | Secure Build · Secure Deployment · Defect Management |
| Verification | Architecture Assessment · Requirements-driven Testing · Security Testing |
| Operations | Incident Management · Environment Management · Operational Management |
Read across, the five functions roughly trace a software lifecycle: Governance sets organizational direction before code is written, Design and Implementation cover building the software, Verification covers checking it, and Operations covers running it once shipped — closer in shape to NIST SSDF's PO/PS/PW/RV practice groups than the names suggest, though the two frameworks are not a 1:1 mapping; see NIST SSDF (SP 800-218): the four practice groups explained.
SAMM's model page also records where version 2 came from: the original 2009 model was reworked with "input from practitioners and the OWASP community gathered during summits in Europe and the US," and the SAMM FAQ dates the version 2 release to 31 January 2020.
What are the 30 streams?
Every practice has a stream A and a stream B. The names below are taken from the fifteen practice pages on owaspsamm.org (checked 12 November 2026), for example Secure Build:
| Practice | Stream A | Stream B |
|---|---|---|
| Strategy & Metrics | Create and Promote | Measure and Improve |
| Policy & Compliance | Policy and Standards | Compliance Management |
| Education & Guidance | Training and Awareness | Organization and Culture |
| Threat Assessment | Application Risk Profile | Threat Modeling |
| Security Requirements | Software Requirements | Supplier Security |
| Secure Architecture | Architecture Design | Technology Management |
| Secure Build | Build Process | Software Dependencies |
| Secure Deployment | Deployment Process | Secret Management |
| Defect Management | Defect Tracking | Metrics and Feedback |
| Architecture Assessment | Architecture Validation | Architecture Mitigation |
| Requirements-driven Testing | Control Verification | Misuse/Abuse Testing |
| Security Testing | Scalable Baseline | Deep Understanding |
| Incident Management | Incident Detection | Incident Response |
| Environment Management | Configuration Hardening | Patching and Updating |
| Operational Management | Data Protection | System Decommissioning / Legacy Management |
Fifteen practices × two streams × three levels gives 90 activities, and the SAMM Assessment Guide confirms that a questionnaire-based assessment means going "through the list of 90 questions" — one question per activity.
How do the two streams and three maturity levels work?
Within each of the fifteen practices, OWASP SAMM's documentation splits activity into two streams — described as covering "different aspects of a practice" with "their own objectives, aligning and linking the activities in the practice over the different maturity levels" — and grades each stream across three maturity levels, where each level adds "successively more sophisticated objective[s] with specific activities, and more strict success metrics" than the one before.
As a concrete example, OWASP SAMM's own Strategy & Metrics practice page names its two streams "Create and Promote" and "Measure and Improve," and states the practice's three level objectives as:
| Level | Objective, as stated by OWASP SAMM for Strategy & Metrics |
|---|---|
| 1 | Identify objectives and means of measuring effectiveness of the security program |
| 2 | Establish a unified strategic roadmap for software security within the organization |
| 3 | Align security efforts with the relevant organizational indicators and asset values |
This stream-and-level structure repeats across all fifteen practices, each with its own pair of stream names and level objectives specific to that practice. The FAQ gives one general reading that holds for all of them: level 1 is "an ad-hoc, best effort implementation," level 2 "a consistent, repeatable process that can be relied on," and level 3 aims "to maximize effectiveness through continuous improvement." It also states that a full 1 out of 1 on level 1 is "not strictly required" before working on level 2.
How is a SAMM score calculated?
A SAMM score is built from answers to the 90 questions, averaged per level, summed per practice and averaged per business function. Each activity page lists one question and its quality criteria; the Secure Build stream B page, for instance, asks "Do you have solid knowledge of the dependencies you rely on?" with criteria such as "You can quickly find out which applications are affected by a particular CVE." The assessment page says to answer "No" unless the criteria are completely fulfilled.
The answers carry fixed values, defined in the core model's answer set A:
| Answer | Value |
|---|---|
| No | 0 |
| Yes, for some applications | 0.25 |
| Yes, for at least half of the applications | 0.5 |
| Yes, for most or all of the applications | 1 |
The spreadsheet toolbox shipped with release v2.2.0 (SAMM_spreadsheet.xlsx, formulas read on 12 November 2026) then works in three steps:
Level valueFor each maturity level of a practice, the Interview tab averages the stream A and stream B answers. Practice scoreThe practice rating is the sum of its three level values, so it runs from 0 to 3. Function and overall scoreThe Scorecard tab averages the three practice scores of each business function, and the overall score is the average of the five function scores.
Because each level is the average of two streams, a team can score 0.5 on a level with one stream fully in place and the other absent — which is why SAMM reports streams separately rather than only the headline number.
Worked example: what does one practice score look like for a firmware team?
Synthetic example, not a customer case. A 60-person maker of home routers scores Secure Build across its three firmware product lines (SAMM's "applications" become product lines here):
| Level | Stream A: Build Process | Stream B: Software Dependencies | Level value |
|---|---|---|---|
| 1 | Build is documented and reproducible for all lines → 1 | An SBOM exists for one of three lines → 0.25 | (1 + 0.25) / 2 = 0.625 |
| 2 | Pipeline automated for two of three lines → 0.5 | No formal dependency approval or CVE alerting → 0 | (0.5 + 0) / 2 = 0.25 |
| 3 | No build-breaking security gate → 0 | No dependency-based build failure → 0 | 0 |
| Secure Build score | 0.875 of 3 |
The number alone says "below level 1." The stream split says something more useful: build automation is ahead, while dependency visibility lags. The cheapest next point is stream B level 1 — produce a firmware SBOM for the other two lines and check it for known CVEs — which would lift level 1 to 1.0 and the practice to 1.25 without touching the pipeline.
Which SAMM streams matter most for device and firmware makers?
SAMM was written for software organizations in general, but several streams map directly onto firmware work and onto the evidence regulators and customers ask device makers for:
| SAMM stream | What it asks (owaspsamm.org wording, level 1–2) | Firmware evidence that answers it |
|---|---|---|
| Secure Build B, Software Dependencies | "Create records with Bill of Materials" → "ensure timely reaction" | Per-release firmware SBOM; CVE matching for BusyBox, OpenSSL, the kernel and vendor SDKs |
| Secure Deployment B, Secret Management | "limit access to your production secrets" → inject secrets "from hardened storage" | Firmware signing keys held off developer machines; no shared device passwords baked into images |
| Secure Deployment A, Deployment Process | level 3: "Automatically verify the integrity of all deployed software" | Signed update images verified by the bootloader; see secure boot and hardware root of trust |
| Requirements-driven Testing B, Misuse/Abuse Testing | "Perform security fuzz testing" → abuse cases | Fuzzing of protocol parsers, the web UI and update handlers |
| Environment Management B, Patching and Updating | level 2: "Ensure timely delivery of patches to customers" | A published support period and a field-update record per model |
| Threat Assessment B, Threat Modeling | "best-effort, risk-based threat modeling" | A device threat model; see OWASP threat modeling |
| Incident Management B, Incident Response | "Identify roles and responsibilities for incident response" | A named PSIRT and intake route |
The Environment Management page adds at level 3: "Proactively obtain vulnerability and update information for components" — for a device maker that means watching advisories for components in firmware already sold, not only the next release. The Requirements-driven Testing page puts fuzzing at level 1 of stream B, which surprises teams that treat it as advanced work.
For the secure development lifecycle duties in IEC 62443-4-1 and the EU Cyber Resilience Act, SAMM is a measurement layer, not a substitute: see IEC 62443-4-1 secure development lifecycle. For pipeline-level maturity, OWASP's DevSecOps Maturity Model is narrower and more technical.
How does this differ from NIST SSDF?
SAMM and NIST SP 800-218 (SSDF) are both frequently cited as "the" software security framework to adopt, but they answer different questions. SSDF is a US-government-maintained set of named practices and tasks under four groups (PO, PS, PW, RV), with NIST's own documented mapping to Executive Order 14028's federal procurement clauses — see NIST SSDF (SP 800-218): the four practice groups explained. SAMM, by contrast, is an OWASP community project built explicitly as a self-assessment maturity model: its value is in the repeatable scoring across 2 streams × 3 levels per practice, letting an organization track its own trajectory release over release rather than checking boxes against a government procurement clause. Neither framework requires abandoning the other; a device or firmware team selling into US federal channels may use SSDF for the EO 14028 link while using SAMM internally to track year-over-year security program maturity.
How do you run a first assessment?
SAMM's Quick Start Guide sets out six steps — Prepare, Assess, Set the Target, Define the Plan, Implement, Roll Out — and says steps 1 to 4 are planning work that "one person can complete" in "one to two days." For a device maker that becomes:
Prepare: fix the scopeOne product family or the whole firmware group; SAMM questions say "applications," so decide up front whether that means product lines, firmware images or repositories. Assess all fifteen practices once, at a shallow level, before deep-diving any single oneSAMM's value is in seeing the relative gaps across Governance, Design, Implementation, Verification and Operations, not in perfecting one practice while others sit at level 0. The Assessment Guide recommends "a good mix of self-assessment and independent expert assessment," and says the questionnaire route suits updating scores after an initial assessment. Set the target per stream, since each practice's two streams can mature independently — moving "Create and Promote" to level 2 in Strategy & Metrics does not require "Measure and Improve" to move at the same pace. Define the plan in phasesand treat level 3 as aspirational for most practices in year one. OWASP SAMM's own level definitions describe level 3 as organization-wide alignment with risk indicators and asset values — realistic only once the lower levels' habits are established. Implement and roll out, then re-score on a fixed cadence (OWASP SAMM is designed to be reassessed, not scored once) so the maturity trend, not a single snapshot, drives what gets prioritized next.
What are the common pitfalls?
- Answering "Yes" on intent. The toolbox instruction is to answer "No" unless every quality criterion is met; a dependency list without CVE lookup does not meet Secure Build stream B level 1.
- Reporting only the overall number. A 1.4 overall can hide a 0 in Patching and Updating, the stream closest to the security-update duties in the CRA checklist for device makers.
- Scoring "applications" inconsistently. If one interviewee counts firmware images and another counts cloud services, the 0.25 / 0.5 / 1 answers stop being comparable between rounds.
- Treating SAMM as certification. It is a self-assessment model; it gives no conformity statement under the CRA, EN 18031 or IEC 62443.
- Skipping level 1 because it looks basic. Fuzz testing, an SBOM and named incident-response roles all sit at level 1.
What evidence can a firmware scan give a SAMM assessment?
SoftWSP produces evidence for two SAMM streams, not a SAMM score. Its engine extracts an SBOM from a firmware image as CycloneDX 1.6 JSON, matches the components against NVD, CISA KEV, FIRST EPSS and CISA CSAF ICS advisories, and drafts a cited report that an engineer reviews — material for Secure Build stream B (Software Dependencies). Watchlist alerts on a CVE id or vendor-product support Environment Management stream B (Patching and Updating). Severity per finding can be checked in the free CVSS calculator, and the cluster's testing method is in the OWASP Firmware Security Testing Methodology guide. See device firmware security.
This guide summarises the public OWASP SAMM documentation at owaspsamm.org; it does not constitute legal or compliance advice.
Put this guide to work
Frequently asked questions
What is OWASP SAMM?
The Software Assurance Maturity Model (SAMM), an OWASP project. OWASP's own homepage describes it as "an effective and measurable way for any organization to analyze and improve their security posture," and OWASP SAMM's model page states that it "defines five business functions and fifteen security practices to help organizations assess and improve their software security posture." Version 1.0 was originally created in 2009 by Pravir Chandra; the current structure is Version 2.
What are the five business functions in SAMM v2?
Governance, Design, Implementation, Verification and Operations, per the OWASP SAMM model page. Each business function groups exactly three named security practices, for fifteen practices in total.
What do SAMM's three maturity levels mean?
Per OWASP SAMM's own description, each of the three levels within a security practice contains "successively more sophisticated objective[s] with specific activities, and more strict success metrics" than the level before it — so level 1 is the easiest, least formal starting point and level 3 the most mature. As an example, OWASP SAMM's Strategy & Metrics practice page states level 1's objective as identifying measurement goals, level 2 as "Establish a unified strategic roadmap for software security within the organization," and level 3 as aligning security effort with organizational risk indicators and asset values.
What are the two "streams" inside each security practice?
OWASP SAMM's model documentation states that streams "cover different aspects of a practice and have their own objectives, aligning and linking the activities in the practice over the different maturity levels" — in effect, two parallel sub-tracks of activity within one practice, each with its own progression across the three maturity levels. For example, the Strategy & Metrics practice's two streams are named "Create and Promote" and "Measure and Improve," per OWASP SAMM's practice page.
How does SAMM compare to NIST SSDF?
Both are software security frameworks, but structured differently and maintained by different organizations. OWASP SAMM is an OWASP community project organized around 5 business functions, 15 practices, 2 streams per practice and 3 maturity levels, with a stated focus on letting an organization measure and improve its security posture over time. NIST SP 800-218 (SSDF) is a US-government framework organized around four practice groups (PO, PS, PW, RV) with a direct, NIST-documented mapping to Executive Order 14028's federal procurement requirements. See our guide to NIST SSDF below; the two models are not mutually exclusive, and organizations selling into both US federal and general commercial markets may reasonably reference both.
Sources
- OWASP SAMM: Model overview (5 business functions, 15 security practices)
- OWASP SAMM: About
- OWASP SAMM: Strategy & Metrics practice (streams, maturity level objectives)
- OWASP SAMM homepage
- GitHub: owaspsamm/core releases (version history)
- GitHub: owaspsamm/core release v2.2.0 (published 6 July 2026, includes SAMM_spreadsheet.xlsx)
- OWASP SAMM core model: answer set A (answer values 0, 0.25, 0.5, 1)
- OWASP SAMM: Assessment Guide (self-assessment, expert assessment, 90 questions)
- OWASP SAMM: Assessment toolbox (Interview and Scorecard tabs)
- OWASP SAMM: Quick Start Guide (six steps)
- OWASP SAMM: FAQ (maturity level meanings, v2 release date)
- OWASP SAMM: Secure Build, stream B Software Dependencies (questions, quality criteria, answers)
- OWASP SAMM: Environment Management practice (Patching and Updating stream)
- OWASP SAMM: Requirements-driven Testing practice (Misuse/Abuse Testing stream)
About this guide
SoftWSP Firmware Security Desk
Covers the Firmware vulnerabilities & fixes cluster: 116 guides.

In this cluster
Questions about this page?
