Secure Coding Control (8.28)
Secure coding is a reference control that addresses building security into software during development, so that common coding weaknesses are avoided rather than fixed after the fact. It is identified as control 8.28 in the reference control set introduced by the ISO/IEC 27001:2022 revision, where Annex A controls are organized into four themes. This control is not automatically required; like other Annex A controls, it is selected for an organization based on risk assessment and documented in the Statement of Applicability.
Secure Coding (numbered 8.28 in the Annex A reference control set of the ISO/IEC 27001:2022 revision, which restructured Annex A into four themes) is a reference control aimed at establishing and applying secure coding principles across the software development lifecycle to reduce the likelihood of security vulnerabilities in developed or acquired code. As an Annex A control, it functions as a candidate control informed by the organization's risk assessment and is included or excluded through the Statement of Applicability rather than being mandated in every ISMS; the certifiable requirements themselves reside in clauses 4 through 10. Implementation typically spans planning, pre-coding standards, coding practices, and post-coding review activities, with the specific measures and their applicability depending on scope and the organization's risk decisions. Note that the detailed implementation guidance associated with this control is elaborated in ISO/IEC 27002, which is a guidance standard distinct from the certifiable ISO/IEC 27001 requirements; control numbering and counts should always be qualified by the applicable edition, since these differ between the 2013 and 2022 versions.
Why it matters
Software vulnerabilities introduced during development are frequently more costly and disruptive to remediate after code has been deployed than to prevent while code is being written. Secure Coding (8.28) matters because it shifts the emphasis toward building security into software throughout the development lifecycle, so that common coding weaknesses are avoided at the source rather than patched reactively once they reach production. For organizations whose risk assessment identifies software development as a meaningful source of exposure, applying secure coding principles can reduce the likelihood that exploitable defects are shipped in developed or acquired code.
Within an ISO/IEC 27001:2022 information security management system, this control is not automatically mandatory. Like other Annex A reference controls, it is a candidate control that an organization selects, or excludes, based on its risk assessment and documents in the Statement of Applicability. Its relevance therefore depends on scope: an organization that develops or acquires software is far more likely to determine that this control applies than one that does not. Where it is selected, it provides a structured basis for consistent coding practices rather than leaving security to the discretion of individual developers.
It is worth emphasizing what this control does and does not do. Selecting and applying Secure Coding (8.28) supports the reduction of vulnerabilities in code, but it does not by itself guarantee freedom from security defects or breaches, and its effectiveness depends on how the organization implements and maintains it. The control addresses one area of the broader ISMS and should be understood alongside the risk-driven selection of other Annex A controls.
Who it's relevant to
Inside Secure Coding Control (8.28)
Common questions
Answers to the questions practitioners most commonly ask about Secure Coding Control (8.28).