OWASP SAMM (Software Assurance Maturity Model) V2

The following is an excerpt from OWASP SAMM v2.0 – Core Model Document:


SAMM is a prescriptive model, an open framework which is simple to use, fully defined, and measurable. The solution details are easy enough to follow even for non-security personnel. It helps organizations analyze their current software security practices, build a security program in defined iterations, show progressive improvements in secure practices, define, and measure security-related activities.

SAMM was defined with flexibility in mind so that small, medium, and large organizations using any style of development can customize and adopt it. It provides a means of knowing where your organization is on its journey towards software assurance and understanding what is recommended to move to the next level of

SAMM does not insist that all organizations achieve the maximum maturity level in every category. Each organization can determine the target maturity level for each Security Practice that is the best fit and adapt the templates provided for their specific needs.

OWASP SAMM structure

At the highest level, SAMM defines five critical business functions. Each business function is a category of activities related to the nuts-and-bolts of software development, or stated another way, any organization involved with software development must fulfill each of these business functions to some degree.

For each business function, SAMM defines three security practices. Each security practice is an area of security-related activities that build assurance for the related business function. There are fifteen security practices that are the independent silos for improvement that map to the five business functions of software development.
For each security practice, SAMM defines three maturity levels as objectives. Each level within a security practice is characterized by a successively more sophisticated objective defined by specific activities, and more stringent success metrics than the previous level. Additionally, each security practice can be improved independently, though related activities can lead to optimizations For each security practice, SAMM defines two streams. Each stream has an objective to be reached, and this objective can be reached in increasing levels of maturity. Streams align and link the activities in the practice over the different maturity levels.

The structure and setup of the SAMM model support

  • the assessment of the organization’s current software security posture
  • the definition of the organization’s target
  • the definition of an implementation roadmap to get there
  • prescriptive advice on how to implement particular activities

Leave a Reply