hello@sterling-grc.com +1 201 263 4443 New York ISO & GRC consulting in 60+ countries
SterlingInternational Consulting Talk to a consultantTalk to us
Control A.8.28ISO/IEC 27001:2022 · Technological controls

ISO 27001 A.8.28: Make secure coding an everyday practice

Secure coding puts information-security principles into the software the organisation writes and maintains. ISO 27001 Annex A.8.28 concerns applying those principles during development. The practical result should be fewer avoidable weaknesses and a repeatable way to identify, correct and learn from coding problems.

Part ofA.8 · Technological controls|Reading time 7 min

What A.8.28 requires in practice

Annex A control A.8.28 states that secure coding principles should be applied to software development. It is the most hands-on of the development controls: it concerns what developers actually do when they write and maintain code.

For an organisation, this means deciding what secure coding looks like for the languages, frameworks and environments in use, and making sure developers know and follow it. General instructions to be careful are not enough; guidance needs to address matters such as handling of input, credentials, permissions, errors and third-party components. The principles also need to reach contributors who write code on the organisation's behalf.

The outputs are current coding guidance suited to the technology, developer competence supported by learning and review, and a repeatable way to find, correct and learn from weaknesses. Applicability follows risk treatment and the Statement of Applicability, and specialist technical judgement remains necessary for coding decisions.

Give developers guidance they can use

Establish relevant expectations for the languages, frameworks and environments actually used. General instructions to write secure code are insufficient when developers need to decide how to handle input, credentials, permissions, errors or external components. Use current, suitable technical guidance and maintain it as the environment changes.

Support developers with training and practical review. A document is unlikely to improve implementation if the team cannot recognise the relevant failure modes. Include outsourced contributors where they write code for the organisation, and ensure that internal reviewers understand the expectations they are meant to assess.

ISO/IEC 27001 consulting & certification support

Get clause A.8.28 right the first time — with a global leader in ISO/IEC 27001 implementation

A Sterling consultant works the requirement through with your team, links it to the rest of the system and carries it to certification readiness. Expert and experienced consultants, 8,100+ client engagements in 60+ countries.

Use protective patterns consistently

Choose approved approaches for recurring security functions, rather than allowing each developer to improvise a separate solution. Authentication, cryptography and other sensitive functions warrant particular care. Reused components need an appropriate source, version and maintenance decision; using an external library does not remove the need to understand its role and limitations.

Connect this with source-code access and vulnerability management. Code integrity and component maintenance support secure implementation, but neither replaces review of the application's own logic and information-handling decisions.

Why secure coding matters to the business

Many security incidents trace back to avoidable coding weaknesses. Each one that reaches production creates an urgent fix, potential customer exposure and a reputational cost out of proportion to the original mistake. Teams that build secure habits ship more reliably and spend less time on emergency patches. The benefit extends to commercial relationships: customers who rely on the software, or who embed it in their own products, increasingly ask how code is reviewed and developers are trained. At audit, observable coding practice shows that security is part of the craft, supported by competence rather than dependent on one expert.

How to implement A.8.28

Aim for guidance developers will actually use, supported by routine checks. A workable sequence is below. Involve experienced developers in writing the rules, because guidance created without them is seldom followed. Keep the rules short, concrete and tied to the technology in use, and let one pilot project show whether they work in practice before wider rollout.

  1. Identify the languages, frameworks and environments in use, including those used by contractors.
  2. Select suitable current technical guidance for each and adapt it into short rules the team can apply.
  3. Cover the recurring decision points: input handling, credentials, permissions, error handling and external components.
  4. Train developers on the failure modes behind the rules, using examples from your own code.
  5. Build review into normal work so peers or tools check changes against the rules.
  6. Record significant findings, correct them and share the lesson.
  7. Keep the guidance up to date as the technology and threats change.
  8. Extend expectations to outsourced contributors in the agreement and check delivered code.

Evidence an auditor expects for A.8.28

An auditor looks for coding practice that is current, understood and checked. Evidence may include: An auditor may also ask a developer to talk through a recent change and show where the rules affected it.

  • the coding guidance for each technology in use, with its last review
  • records of developer learning or briefing
  • samples of code review records showing findings and corrections
  • an interview with a developer on how credentials or input are handled
  • observation of a recent change moving through review

Evidence for outsourced code carries equal weight.

Common nonconformities with A.8.28

Findings typically show guidance that is generic, outdated or unchecked. They usually arise because guidance was written once, and nobody tested whether developers use it, so an auditor tends to ask a developer to demonstrate how a recent change handled input or secrets.

  • Coding guidance generic enough to apply to nothing in particular.
  • Developers unable to describe how the rules apply to their own work.
  • Code review that exists in name with no records of findings or corrections.
  • Credentials or sensitive settings handled inconsistently across projects.
  • Outsourced contributors outside the rules.

Illustrative software example: a secret embedded for convenience

Illustrative example 1

A fictional software team adds an integration and places a sensitive credential directly in the source to make local testing easier. The code is later reused in a wider build. The immediate function works, but the implementation creates unnecessary access to the credential through normal development activity.

Illustrative example 2

The team replaces the arrangement with an approved method, handles the exposed credential through the relevant process and adds a targeted review check. It tests that the application can operate using the controlled configuration without reproducing the secret in source or unnecessary output. The lesson becomes part of the team's implementation practice rather than only a one-off defect closure.

Automate™ on Effivity · included in every Sterling engagement

Keep clause A.8.28 alive in Effivity

Record what you decided under clause A.8.28, link it to the records and controls it affects, and let the review date trigger the next look. Effivity is the ISO & GRC software used in 50+ countries — and part of every Sterling ISO/IEC 27001 programme.

Illustrative BPO example: unexpected input in a reconciliation script

A hypothetical BPO team maintains a script that processes files from an approved customer workflow. The author assumes the input always has the expected structure. A changed file format causes incorrect handling, and the resulting output appears complete even though some records were not processed as intended.

The team defines appropriate input checks and error handling for the business purpose, then tests representative valid and invalid conditions with safe sample data. Reviewers confirm that failures are visible to the responsible operator. This illustrates secure coding as protection of integrity and dependable behaviour, not merely a search for externally exploitable flaws.

Review code and test its behaviour

Use appropriate review and testing methods for the risk and complexity. Automated analysis can help identify some classes of issue, while informed review can assess context and business logic. Neither method should be treated as proof that no weakness remains. Record how relevant findings are assessed and resolved.

Connect checks with security testing in development and acceptance. Test important protections under expected and unexpected conditions. Review the resulting behaviour, not just whether a tool completed its run. Maintain suitable control over changes so a corrected pattern is not reintroduced through an old branch or copied example.

Keep secure coding active after release

Operational experience can reveal weaknesses that development checks missed. Establish a route from reported defects, relevant vulnerabilities and incidents back to the coding practices that need improvement. Review whether an issue affects other parts of the application or reused components, rather than assuming its first occurrence is unique.

Useful evidence includes relevant coding guidance, competence activities, review records, test outcomes and correction of significant findings. These are practical evidence methods, not a mandatory collection of separate forms. A meaningful sample follows a coding concern from identification through correction and verification, then asks whether the team learned anything that changes future work.

Common failures include obsolete guidance, unreviewed copied code and treating a clean automated scan as comprehensive assurance. Use competence planning to address recurring skill gaps. Secure coding works best when it is part of daily development and maintenance, rather than a specialist exercise performed only before an audit.

Frequently asked questions

Does ISO 27001 specify a programming language?

No. Apply suitable secure coding principles to the languages and technologies in use. The guidance and competence required will differ with the environment.

Does automated code scanning replace peer review?

No. Tools can identify useful findings, but they have limitations. Select a combination of review and testing suited to the application and the risks being assessed.

Can third-party components be treated as already secure?

No. Evaluate their source, suitability, maintenance and known issues, and control how they are integrated. External origin does not remove the organisation's responsibility for its application.

Connect developer practice with ISMS assurance

Discuss secure-coding governance with Sterling, including scoped documentation, competence planning and agreed Effivity ISO & GRC automation software. The wider programme can include authorised vulnerability scanning and findings review, with continuing support through defined preparation; certification remains independent. Enrol in ISO/IEC 27002 Information Security Controls for control-level understanding before arranging any specialist coding training your team needs. Explore the technological controls directory.

Source basis and reading note. This is original practical guidance for ISO/IEC 27001:2022. Use an authorised copy for definitive requirements. Illustrative examples describe hypothetical situations, not client results. Implementation methods are distinguished from requirements; independent bodies decide certification outcomes. Issuer standard record Issuer standard record: iso.org.
Disclaimer. This guide is provided for general information only. It is not the text of the standard, not legal or professional advice, and not a representation of how any certification body will assess your organisation. Sterling International Consulting accepts no liability for any loss arising from reliance on it. Requirements are applied to each organisation's own context through an engagement; contact us to implement ISO/IEC 27001 in your organisation.