Most application vulnerabilities are not sophisticated.
They are basic coding mistakes repeated at scale.
Annex A 8.28 exists to ensure organisations apply secure coding principles consistently, reducing the likelihood that software introduces vulnerabilities that attackers can exploit.
This control is about how code is written, not just how it is tested.

Annex A 8.28 of ISO 27001:2022 focuses on secure coding practices.
At a practical level, this means:
This is a new control in ISO 27001:2022, reflecting the reality that many security incidents originate directly in application code.
Poor coding practices regularly lead to:
These failures are rarely novel. They typically involve:
Annex A 8.28 ensures organisations reduce risk at the point vulnerabilities are created, rather than relying solely on testing or perimeter controls to catch them later.
A pragmatic approach to Annex A 8.28 typically includes the following elements.
Organisations should establish approved secure coding principles that apply to:
Principles should be:
Secure coding without defined standards becomes inconsistent very quickly.
Secure coding rules should be adapted for:
What is secure in one language may be dangerous in another.
Organisations should identify:
Examples include:
Preventing known mistakes is one of the most cost-effective security controls available.
Annex A 8.28 explicitly supports preventing insecure practices such as:
Rules should be explicit — not assumed.
Secure coding principles apply equally to:
Organisations should:
Supply chain risk does not stop at infrastructure.
Where appropriate, organisations should configure development tools to:
Examples include:
Tools support secure coding — they do not replace it.
Annex A 8.28 supports secure programming methods such as:
These techniques reduce error rates and improve code quality overall.
Secure coding includes:
Unmaintained code quickly becomes insecure code.
Secure coding should be supported by testing activities, including:
Testing confirms whether secure coding practices are being applied effectively.
Code performing security functions should be:
Security logic exposed to users or attackers is easily bypassed.
After deployment, organisations should ensure:
Secure coding is not finished when software goes live.
Source code should be:
This aligns closely with access control and configuration management controls.
Annex A 8.28 does not require:
It does require organisations to:
Most vulnerabilities are avoidable, not inevitable.
Secure coding failures are usually governance failures.
Annex A 8.28 is about stopping vulnerabilities at source.
When secure coding practices are implemented effectively:
Attackers exploit predictable mistakes.
Annex A 8.28 ensures organisations stop making them.
We can help you understand your actual security needs and even if we cant help we can point you in the right direction
Talk to a security expert today