Skip to main contentChat with us

ISO 27001:2022 Annex A  ·  Technological Control

A.8.25
Secure development life cycle

To make security a designed-in property of the software and systems an organization builds, governed by rules applied at every stage of development rather than inspected in at the end.

Last reviewed: June 12, 2026  ·  Authored by TÜV SÜD & BSI Certified Lead Auditors

Control Definition

The organization must establish rules for developing software and systems securely and apply those rules across the whole development life cycle — from requirements and design through coding, testing, and deployment.

Control Objective

To make security a designed-in property of the software and systems an organization builds, governed by rules applied at every stage of development rather than inspected in at the end.

What This Really Means

Think of A.8.25 as the building code for your software. Nobody inspects a finished tower into safety — the code governs the foundations, the wiring, and the materials while construction is happening. This control asks for the same thing in engineering terms: written rules for how software and systems get built, applied at every stage, so that security is a property of the process rather than a function of which developer happened to be careful that week.

A.8.25 is the umbrella over the whole development cluster. It establishes the rules; its neighbors implement specific stages — security requirements up front (A.8.26), secure architecture principles (A.8.27), coding standards (A.8.28), security testing (A.8.29), outsourced development (A.8.30), and environment separation (A.8.31). Your lifecycle rules should therefore cover the full arc: security and privacy requirements captured alongside functional ones; threat modeling for significant designs; secure coding standards and protected source repositories; defined security gates in testing; a controlled path to production; developer security competence; and explicit rules for third-party and open-source components, which now make up most of any modern codebase.

The control is deliberately methodology-agnostic. It works in two-week sprints and continuous deployment just as well as in waterfall — the rules define WHAT must happen, not WHICH ceremony delivers it. In an agile or DevOps shop, requirements become security acceptance criteria in user stories, design review becomes a lightweight threat-modeling session at epic level, and testing gates become automated SAST, DAST, and dependency checks wired into the CI/CD pipeline. A pipeline-enforced rule is the strongest possible implementation, because it cannot be skipped under deadline pressure and it generates its own evidence.

What auditors treat as the heart of A.8.25 is traceability: documented rules plus proof they were applied. Expect an auditor to pick one recent release and walk it end to end — the requirement, the design decision, the code review, the passing test gates, the deployment approval. If your pipeline enforces the gates, that evidence already exists in your tooling; if your rules live only in a policy PDF the engineering team has never opened, the trace falls apart in the first ten minutes.

Why It Matters

The application layer is the attack surface your customers actually touch, and flaws built into it compound silently. A security defect caught at the design stage costs a meeting; the same defect found in production costs an emergency release, incident handling, and potentially a breach disclosure — the economics of fixing late are brutal, and they repeat with every release an ungoverned process ships.

Without secure development rules, organizations face:

  • Vulnerabilities shipped by default – With no rules or gates, security depends on individual judgment under deadline pressure; injection flaws, broken access control, and hardcoded secrets reach production unchecked
  • The late-discovery cost multiplier – Flaws surface in penetration tests or live incidents instead of design reviews, arriving at the most expensive and most public point in the lifecycle
  • Inconsistency across teams – Each squad invents its own bar, so the organization's real security posture equals that of its least careful team
  • Supply-chain blindness – Modern applications are mostly dependencies; without lifecycle rules for third-party components, you inherit their vulnerabilities invisibly, the pattern Log4Shell made famous
  • Cascading audit findings – A.8.25 is the umbrella over the development controls; weak rules here usually surface as parallel findings across A.8.26 through A.8.31

There is a commercial edge to this control as well: enterprise customers' security questionnaires almost always probe the development lifecycle, and a coherent A.8.25 story — rules, gates, training, component governance — is one of the few ISO controls that directly shortens sales due-diligence rather than just satisfying the auditor.

Regional Compliance Context

For teams building products that process personal data of Indian data principals, the DPDP Act makes lifecycle rules a practical necessity: consent capture, purpose limitation, and erasure are application features, and with full compliance obligations landing on 13 May 2027, designing them in now is far cheaper than retrofitting them under deadline. CERT-In's 6-hour incident-reporting direction adds a quieter design requirement — applications must log security-relevant events well enough that an incident can be detected and described within hours, which is a build-time decision, not an operations afterthought.

Regulated Indian entities face explicit expectations: RBI's directions on digital payment security expect documented secure development practices from banks and payment providers, and SEBI's CSCRF points market intermediaries the same way. Gulf organizations handling personal data under the Saudi or UAE PDPL face the equivalent privacy-by-design pressure on application teams.

Implementation Guidance

1

Publish the Secure Development Rules

Write a secure development standard owned jointly by engineering leadership and security — not by security alone. Define scope (in-house code, outsourced work, scripts, low-code platforms, AI-assisted code), the required activities per lifecycle stage, the gate criteria between stages, and who may approve a waiver. Keep it to a few pages engineers will actually read, linking out to detailed coding and testing standards.

2

Pull Security into Requirements

Capture security and privacy requirements alongside functional ones, per A.8.26: abuse cases next to use cases, security acceptance criteria in user stories, and a data classification for whatever the system will process. Identify regulatory requirements — DPDP, PCI DSS, sector rules — at this stage, because they are features when caught here and rework when caught later.

3

Threat-Model Significant Designs

Run a lightweight design risk review for new services, authentication or payment-touching changes, and new external interfaces: sketch the data flows, walk the STRIDE categories or four plain questions (what are we building, what can go wrong, what will we do about it, did we do it), and record the decisions and accepted risks. Timebox sessions to 60-90 minutes and train tech leads to facilitate so the practice scales beyond the security team.

4

Adopt Coding Standards and Repository Hygiene

Set language-specific secure coding standards per A.8.28, referencing established sources such as the OWASP guidance rather than writing your own from scratch. Enforce mandatory peer review on protected branches, enable secrets scanning, and control access to source repositories. The repository configuration itself — branch protection, required reviews — is audit evidence that the rules are real.

5

Gate Releases with Security Testing

Implement the testing stage per A.8.29: SAST and dependency (SCA) scanning in CI on every change, DAST against staging for significant releases, and defined severity thresholds that block a merge or release. Add penetration testing on a planned cadence for major systems. Record triage decisions on findings — an auditor cares less about a clean scan than about what you did with a dirty one.

6

Control Environments and the Path to Production

Keep development, test, and production separated per A.8.31, with production data kept out of test environments unless protected per A.8.33. Push every deployment through change management (A.8.32) with documented approval and rollback. Restrict developer access to production — the lifecycle ends with controlled release, not with engineers patching live systems by hand.

7

Sustain Competence and Component Governance

Train engineers in secure development annually and at onboarding, with content matched to your stack rather than generic awareness slides. Establish a third-party component policy: approved sources, license and vulnerability checks before adoption, upgrade SLAs by severity, and SBOM generation where customers require it. Extend all of these rules to outsourced development through contracts, per A.8.30.

Audit Evidence

During your ISO 27001 certification audit, auditors will expect to see the following evidence to demonstrate compliance with A.8.25:

Documentation

  • Secure development policy or standard defining rules per lifecycle stage and the gates between them
  • Threat-model records or security design reviews for a sample of recent significant changes
  • CI/CD pipeline configuration showing enforced security gates — SAST, dependency scanning, mandatory review
  • Security testing outputs with triage decisions: scan reports, penetration test summaries, remediation records
  • Developer security training records and the third-party component (open-source) policy

Interviews

  • Engineering lead or CTO on how the rules operate inside the real delivery process and who can waive a gate
  • Developers on coding standards, review practice, and what happens when a scan blocks their merge
  • Product owner on how security requirements and acceptance criteria enter the backlog

Observations

  • One recent release traced end to end: requirement, design review, code review, passing gates, deployment approval
  • A live pipeline run showing security checks executing, and a blocked merge behaving as the policy says it should
  • Repository settings: protected branches, mandatory reviews, and secrets scanning enabled

Practitioner Insights

Surendra Pal Singh

Auditors do not grade the elegance of your SDLC document — we trace a release. Pick any feature that shipped last quarter and show me the requirement, the design decision, the review, the test gate, and the approval. The organizations that pass comfortably are the ones whose pipeline enforces the rules, because the evidence writes itself. The ones that struggle have a beautifully formatted policy the security team wrote and engineering never adopted — and that is a management failure, not a tooling gap.

Surendra Pal Singh · CISO, DPO, CISA, ISO 27001, 27701, 42001 Lead Auditor
Saundhi Chauhan

Startups hear "secure development life cycle" and imagine a security engineer embedded in every sprint. In practice, a lightweight rule-set covers most of this control: mandatory peer review, SAST and dependency scanning in CI, secrets scanning, no production data in test, and a one-hour threat-modeling habit for significant features. The evidence mistake I keep finding is the inverse problem — strong automation in the pipeline with no written rules connecting it to the ISMS, so the auditor cannot tell whether your gates are policy or accident. Write the two-pager.

Saundhi Chauhan · ISO 27001, 27701 Lead Auditor

Common Challenges & Solutions

Challenge

Engineering treats the secure SDLC policy as a security-team artifact and quietly ships around it.

Solution

Co-author the rules with engineering leads, and express them as pipeline configuration rather than prose wherever possible — a required CI check is followed by default, a PDF is not. Track gate-bypass and waiver metrics and review them in engineering forums, not only in security meetings. Ownership follows authorship: rules engineering helped write get enforced by engineering.

Challenge

Security gates slow delivery, and teams demand exceptions every sprint until the gates mean nothing.

Solution

Tune gates by severity and exposure: block on critical and high findings in changed code, report-only on pre-existing debt, and fast-lane genuinely low-risk changes. Give every exception a named owner and an expiry date. Measure and publish gate latency — once "security slows us down" becomes a number, it usually turns out to be minutes, and the argument changes from folklore to engineering.

Challenge

Threat modeling never happens because it is perceived as a heavyweight exercise requiring specialists.

Solution

Shrink it and delegate it. A 60-minute session around four questions — what are we building, what can go wrong, what will we do about it, did we do it — run by the tech lead with a half-page recorded outcome satisfies the intent. Require it only where it pays: new services, changes touching authentication or payments, and new external interfaces, not every two-point ticket.

Challenge

Open-source dependencies are pulled in freely, and nobody can say what is actually running in production.

Solution

Stand up SCA scanning in CI first — it generates the dependency inventory and known-vulnerability alerts in days, not months. Then adopt a component policy: approved registries, license rules, and severity-based upgrade SLAs. Generate SBOMs at build time for customer-facing products; enterprise buyers increasingly ask for them, and a build-time artifact costs nothing once configured.

Challenge

AI-assisted coding and low-code platforms are producing software outside every existing rule.

Solution

Bring them explicitly into scope rather than pretending they are exceptions. AI-generated code goes through the same peer review and testing gates as human-written code — the generator does not change the standard the output must meet. Give low-code and citizen-developer platforms their own minimal ruleset: data classification before build, access reviews, and a promotion path, so shadow apps stop bypassing the lifecycle entirely.

Frequently Asked Questions

Does A.8.25 require a specific development methodology like waterfall or agile?
No. The control is methodology-agnostic: it requires rules attached to activities — requirements, design, coding, testing, deployment — not to any particular ceremony. In an agile or DevOps shop, the rules typically live as security acceptance criteria in stories, lightweight threat modeling at epic level, and automated gates in the CI/CD pipeline, which is often a stronger implementation than a document-heavy waterfall process.
We do not develop software in-house — can we exclude A.8.25 from our Statement of Applicability?
Only if you genuinely build nothing, and that bar is higher than most organizations assume. Integration scripts, internal tools, low-code workflows, and substantial SaaS customization count as development in most auditors' reading. If you truly develop nothing, document the exclusion with justification in the SoA — and revisit it the day someone writes the first internal tool.
How does A.8.25 relate to A.8.26 through A.8.31?
A.8.25 is the umbrella and the others are the stages. It establishes lifecycle-wide rules; A.8.26 covers requirements, A.8.27 architecture principles, A.8.28 coding, A.8.29 testing, A.8.30 outsourced development, and A.8.31 environment separation. Auditors test coherence across the cluster — a strong A.8.28 cannot compensate for having no lifecycle rules at all, and weak A.8.25 evidence usually predicts findings in the neighbors.
Is threat modeling mandatory under ISO 27001?
Not by name — the standard never uses the term. What the control requires is security considered at the design stage, and threat modeling is the accepted practical mechanism for that. A lightweight, recorded design risk review satisfies the intent; what will be challenged is a lifecycle where no security thinking happens between the backlog and the first line of code.
What evidence does a ten-engineer startup actually need for this control?
A short secure development standard (two pages is fine), protected branches with mandatory peer review, SAST and dependency scanning in CI with defined blocking thresholds, secrets scanning, separated environments, and a training record. The trace-one-release test works at any size: if you can walk an auditor from requirement to deployment approval on a recent feature, you have the control.
Do open-source and AI-generated code fall under A.8.25?
Yes, both. Your lifecycle rules must cover components you adopt — selection criteria, vulnerability monitoring, license checks — because dependencies are part of what you ship. AI-assisted code is still your code: it goes through the same review and testing gates as anything an engineer typed, and your rules should say so explicitly to remove any ambiguity during audits and customer reviews.

Written By Expert Auditors

Saundhi Chauhan
Saundhi Chauhan
Lead Auditor
ISO 27001 Lead AuditorISO 27701 Lead Auditor
Surendra Pal Singh
Surendra Pal Singh
Chief Information Security Officer & Data Protection Officer
CISODPOCISAMCSEITILISO 27001 Lead AuditorISO 27701 Lead AuditorISO 42001 Lead Auditor
Last reviewed: June 2026Content verified by certified lead auditors

Get in touch

Book a free consultation or send us your requirements. We respond within 24 hours.

Quick Call

Pick a time slot

Send Requirements

Get a custom quote in 24 hours

We're Online

⚠️ Business inquiries only. Personal email addresses will be rejected.

24hr Response
Free Consultation
No Obligations