Markdown Editor

Secure Development Policy Template (ISO/IEC 27001 A.8.25 to A.8.31)

SDLC stages and gates, risk classes, security requirements, architecture, secure coding, testing, environments, test data, AI assistants, supply chain

SGSI e ISO/IEC 27001CompletaISO/IEC 27001:2022 A.8.25 to A.8.33 and A.8.4 (cited only); ISO/IEC 27002:2022securedevelopmentpolicy

Cómo usar: Use it when your organisation builds or configures software inside the ISMS scope and needs one policy for the secure development life cycle. Fill the scope, the gates you actually run and the records section first. The main pitfall is describing an ideal pipeline nobody follows instead of the gates that exist today.

Vista previa

Secure Development Policy: [Organization name]

Sets the rules that every software and system change inside the ISMS scope follows, from the first requirement to the retirement of the system: life cycle stages and security gates, security requirements, architecture principles, secure coding, security testing, separation of environments, test data, change control, outsourced work, AI coding assistants and the software supply chain. Supports ISO/IEC 27001:2022

  • Amd 1:2024 Annex A controls A.8.25 to A.8.31 (A.8.28 secure coding is new in the 2022 edition), with A.8.4, A.8.32 and A.8.33, guided by ISO/IEC 27002:2022. Replace every [bracketed] value and every row marked Example.

Document control

FieldValue
Document IDDOC-ISMS-065
Version[1.0]
Status[Draft / In review / Approved / Superseded]
Owner[@head-of-engineering]
Approvers/reviewers[@cto], [@isms-manager], [@ciso]
Last updatedYYYY-MM-DD
Effective fromYYYY-MM-DD
Classification[Internal]
Standard and editionISO/IEC 27001:2022 + Amd 1:2024 (A.8.4, A.8.25 to A.8.33); ISO/IEC 27002:2022
Next scheduled reviewYYYY-MM-DD (12 months, or earlier on a trigger in section 16)
Applies to[All engineering teams, platform team, data team, contractors and outsourced developers]
Supporting standardsSecure coding standard ([ID]); supply chain assessment ([ID]); DOC-ISMS-060 secure configuration baseline; DOC-ISMS-062 data masking and DLP standard

Approvals

RoleNameDecisionDate
Policy owner[@head-of-engineering][Prepared]YYYY-MM-DD
ISMS manager[@isms-manager][Reviewed]YYYY-MM-DD
Top management[@cto][Approved / Approved with changes]YYYY-MM-DD

Revision history

VersionDateAuthorChange
0.1YYYY-MM-DD[@author]First draft
1.0YYYY-MM-DD[@author]Approved for issue
[x.y]YYYY-MM-DD[@author][Change summary]

Contents

1. Purpose and scope

Fixing a security flaw after release costs far more than avoiding it on the whiteboard. This policy puts security checks at each stage of how our teams plan, build, ship and retire software, so that releases do not add avoidable weaknesses to the services inside the ISMS scope defined in DOC-ISMS-002.

ItemValue
In scope[Product source code, infrastructure as code, CI/CD pipeline definitions, database migrations, internal tools that process scoped data, low-code automations connected to production]
Teams[Product engineering, platform, data, QA, contractors, outsourced development partners]
Platforms[Repository host, CI/CD service, artifact registry, cloud accounts, low-code platform]
Out of scope[Personal experiments that never touch company data or systems; purchased software used unchanged, covered by supplier management]
Related controlsA.8.25 secure development life cycle, A.8.26 application security requirements, A.8.27 secure architecture and engineering principles, A.8.28 secure coding, A.8.29 security testing in development and acceptance, A.8.30 outsourced development, A.8.31 separation of development, test and production, A.8.32 change management, A.8.33 test information, A.8.4 access to source code

2. Policy statements

IDStatementControl
SDP-POL-001Every change to in-scope code passes the life cycle gates in section 4 before it reaches production.A.8.25
SDP-POL-002Security requirements are identified and recorded for every new system, significant feature and acquired component.A.8.26
SDP-POL-003Designs follow the approved engineering principles in section 6; deviations are recorded as design decisions.A.8.27
SDP-POL-004Code follows the Secure Coding Standard; reviews and automated checks enforce it.A.8.28
SDP-POL-005Security testing proportional to risk takes place before acceptance and release.A.8.29
SDP-POL-006Outsourced development meets the same rules through contract terms and acceptance checks.A.8.30
SDP-POL-007Development, test and production run in separate environments with their own access rules; production data is not used in lower environments unless masked or approved.A.8.31, A.8.33
SDP-POL-008Source code and build pipelines are access-controlled, logged and protected against tampering.A.8.4
SDP-POL-009Output from AI coding assistants is treated as untrusted code from an unknown author.A.8.28
SDP-POL-010Third-party components are approved, inventoried and monitored for vulnerabilities.A.5.21, A.8.8

3. Roles and responsibilities

RoleResponsibilities
Policy owner (head of engineering)Maintains this policy, reports compliance at the ISMS steering committee, approves gate changes
Security champion (one per team)Runs threat modelling, triages scanner findings, first contact for security questions
Application security lead or ISMS managerSets testing depth, reviews High and Critical findings, assesses exception requests for the approver set in section 16
DeveloperFollows the coding standard, writes tests, fixes findings in agreed timeframes, never bypasses gates
ReviewerReviews code for function and security, cannot approve their own change
Release manager or service ownerConfirms gates passed, authorises production release, owns rollback
Platform teamOperates repositories, pipelines, environments and secrets tooling securely
Procurement and legalPuts section 9 requirements into contracts with development suppliers

Roles and RACI for the wider ISMS are in DOC-ISMS-006.

4. Secure development life cycle

4.1 Stages

The life cycle applies to every work item; the depth of each activity scales with the risk class in section 4.3.

StageSecurity activitiesOutput record
1. PlanAssign risk class, capture security and privacy requirements, check legal requirements in DOC-ISMS-014Ticket with risk class and requirement links
2. DesignThreat model (security/threat-model) for class A and B, architecture review against section 6Threat model, design decision record
3. BuildCoding standard, peer review, secret scanning, static analysis, dependency checksMerge request with review and pipeline results
4. TestSecurity test cases, dynamic testing, penetration test where required, acceptance by product ownerTest report, findings in the tracker
5. ReleaseChange approval per ops/change-enablement-policy, rollback plan, release notesChange record, deployment log
6. OperateLogging, monitoring, vulnerability remediation (DOC-ISMS-072)Alerts, remediation tickets
7. RetireData deletion per data/data-retention-deletion-standard, credential revocation, archive of codeDecommissioning record

4.2 Mandatory gates

Gate IDGatePass criteriaBlocking?
SDP-GATE-01Risk class assignedClass recorded on the epic or ticketYes
SDP-GATE-02Design reviewThreat model approved for class A and BYes for A and B
SDP-GATE-03Peer reviewAt least one independent approver; two for class AYes
SDP-GATE-04Automated checksNo new Critical or High static analysis or dependency findings; no secrets detectedYes
SDP-GATE-05Security testingRequired tests in section 8 completed; open findings within thresholdsYes
SDP-GATE-06Release approvalChange record approved; rollback tested or justifiedYes

4.3 Risk classes

ClassCriteriaExamples (Example)
A (high)Handles authentication, authorisation, payment, personal or regulated data at scale, cryptography, or exposes a new internet-facing interfaceNew login flow, tenant isolation change, export of customer data
B (medium)Changes business logic on scoped data, adds an integration or a third-party componentNew reporting feature, new webhook consumer
C (low)No change to data flows, trust boundaries or privilegesText change, styling, internal refactor with tests

5. Security requirements

Security requirements are written for every class A and B item and for every acquired application, and are traced to at least one test.

SourceTypical requirements
Risk assessment (DOC-ISMS-016)Controls chosen to treat a specific risk
Classification (data/data-classification-policy)Encryption, access restriction, logging for the data handled
Legal and contractual register (DOC-ISMS-014)Retention, data residency, breach notification support, customer contract terms
PrivacyData minimisation, purpose limitation, data subject request support (compliance/privacy-by-design-review)
Verification standardChosen level of OWASP ASVS 5.0.0 chapters for the application
Transaction servicesIntegrity of orders and payments, non-repudiation, replay protection
Requirement IDRequirementSourceVerified by
SDP-REQ-001 (Example)Customer exports are generated only for users with the "export" permission in the same tenantRisk RSK-014Automated authorisation test, pentest case
SDP-REQ-002 (Example)Export files are encrypted at rest and expire after 7 daysClassification: ConfidentialConfiguration test
SDP-REQ-003 (Example)Every export is logged with user, tenant, time and row countCustomer contract clauseLog assertion test

6. Secure architecture and engineering principles

IDPrincipleHow it is checked
SDP-ARC-01Defence in depth: no single control protects a trust boundaryArchitecture review checklist
SDP-ARC-02Least privilege for users, services and pipelinesIAM policy review, security/privileged-access-standard
SDP-ARC-03Secure by default: new features ship with the most restrictive settingDesign review
SDP-ARC-04Zero trust between services: authenticate and authorise every call (security/zero-trust-architecture)Service mesh or API gateway policy
SDP-ARC-05Fail safe: errors deny access and do not leak internalsCode review, testing
SDP-ARC-06Tenant isolation is enforced at the data layer, not only in the UIAutomated cross-tenant tests
SDP-ARC-07Secrets are never stored in code or images (security/secrets-management-standard)Secret scanning gate
SDP-ARC-08Cryptography uses approved algorithms and libraries only (security/cryptography-standard)Static analysis rules
SDP-ARC-09Every component logs security events in the agreed format (security/security-logging-standard)Log review in testing
SDP-ARC-10Systems are designed for recovery: backups, infrastructure as code, documented restoreDR test (ops/dr-test-report)

7. Secure coding

Developers apply the Secure Coding Standard (security/secure-coding-standard), which covers input validation, output encoding, authentication, session management, access control, cryptography, secrets, error handling, dependencies, file handling and APIs, mapped to the OWASP Top 10:2025 categories and OWASP ASVS 5.0.0.

Minimum expectations:

  • New developers complete secure coding training within [30] days of joining and before merge rights to class A repositories; refresher every [12] months (records in DOC-ISMS-026).
  • Every merge request uses the review checklist with security items.
  • Static analysis, secret scanning and dependency checks run on every merge request; findings above the threshold block the merge.
  • Language-specific rules, banned functions and approved libraries are kept in the coding standard annex and reviewed at least yearly.
  • Code that is copied from public sources is reviewed like new code and its licence is checked before use.

8. Security testing and acceptance

TestClass AClass BClass C
Unit and integration tests for security requirementsRequiredRequiredWhere relevant
Static application security testingRequiredRequiredRequired
Software composition analysisRequiredRequiredRequired
Secret scanningRequiredRequiredRequired
Dynamic testing in the test environmentRequiredRecommendedNot required
Infrastructure as code scanningRequired when infrastructure changesRequired when infrastructure changesRequired when infrastructure changes
Manual security review or penetration test (security/pentest-report)Before first release and at least [annually]Risk-basedNot required

Release thresholds:

Severity of open findingRelease allowed?Fix timeframe (Example)
CriticalNoBefore release
HighOnly with an approved exception (section 16)[14] days
MediumYes, ticket required[60] days
LowYesNext planned maintenance

Acceptance testing confirms that security requirements are met before the product owner accepts a release. Acquired systems receive acceptance testing against their requirements before go-live. Audit and assurance testing on production systems (including penetration tests) is planned and agreed with the system owner so it does not disrupt operations (A.8.34).

9. Outsourced development

Development performed by third parties follows this policy through the requirements in Outsourced Development Security Requirements (DOC-ISMS-077, isms/outsourced-development-security). In summary:

  • contracts carry the secure development obligations, IP and licence terms, right to audit and testing evidence requirements;
  • suppliers work in accounts and repositories controlled by [Organization name], with named accounts and MFA;
  • all supplier code passes the same gates in section 4.2, and acceptance testing is performed by [Organization name], not only by the supplier;
  • access is removed at the end of the engagement and the offboarding is recorded.

10. Separation of environments and test data

10.1 Environments

Rule IDRule
SDP-ENV-01Development, test and production run in separate accounts, subscriptions or projects with separate credentials.
SDP-ENV-02Only the pipeline deploys to production; human deployment access is break-glass and logged.
SDP-ENV-03Developers have no standing write access to production data; temporary access is approved and time-limited.
SDP-ENV-04Development tools (compilers, debuggers, database consoles) are not installed on production hosts unless approved.
SDP-ENV-05Environments are labelled clearly (names, banners, colours) to avoid acting on the wrong one.
SDP-ENV-06Configuration of each environment follows DOC-ISMS-060.

10.2 Test data

Data optionWhen allowedApproval
Synthetic dataDefault for all environmentsNone
Masked or pseudonymised copy (DOC-ISMS-062)Performance and migration testing where synthetic data is not realistic enoughService owner
Unmasked production dataExceptional, time-limited, with production-equivalent controlsRecorded exception approved at the DOC-ISMS-122 authority for the residual risk (data owner as risk owner); ISMS manager assesses

Test data that contains personal or confidential information is deleted when the test ends, and its use is logged. Copies to test are recorded in [the test data log].

11. Change control and source code protection

Changes follow ops/change-enablement-policy and use change records per ops/change-request where the policy requires them. For source code:

Rule IDRule
SDP-SRC-01Repositories are private by default; public repositories need approval from the head of engineering.
SDP-SRC-02Default branches are protected: no direct pushes, required reviews, required status checks.
SDP-SRC-03Write access is granted per team and reviewed at least [quarterly] (ops/access-review).
SDP-SRC-04Commits to class A repositories are signed; build artifacts are signed and their provenance recorded.
SDP-SRC-05Pipeline definitions are code, reviewed like code, and run with least-privilege credentials.
SDP-SRC-06Repository audit logs are retained for [12] months and forwarded to the monitoring platform.
SDP-SRC-07Emergency changes are reviewed retrospectively within [2] working days.

12. AI coding assistants

Rule IDRule
SDP-AI-01Only tools on the approved list in ai-data/ai-usage-policy are used, under an organisational account with training on customer data disabled where the vendor offers that option.
SDP-AI-02Secrets, credentials, personal data and customer data are never pasted into prompts.
SDP-AI-03Generated code is reviewed by a human with the same rigour as any other code and passes every gate in section 4.2.
SDP-AI-04Suggested dependencies are verified to exist and are approved under section 13 before use, to avoid invented or look-alike packages.
SDP-AI-05Autonomous agents that can run commands or open merge requests work with least-privilege credentials in non-production environments.
SDP-AI-06Code that calls a model at runtime follows the AI-specific rules in the coding standard and, where relevant, ai-data/iso-27090-ai-security-review.

13. Software supply chain

Third-party and open-source components are managed per the Software Supply Chain Security Assessment (security/supply-chain-security):

  • new direct dependencies are checked for maintenance activity, licence and known vulnerabilities before adoption;
  • a software bill of materials is generated for every release of class A and B systems and kept with the release record;
  • dependency versions are pinned and updates arrive through reviewed merge requests;
  • vulnerabilities in components are triaged and fixed within the timeframes in security/vulnerability-management-policy;
  • the build system is hardened and its outputs signed, with provenance recorded where the platform supports it.

Organisations that publish an SSDF conformance statement record it in security/ssdf-practice-attestation (NIST SP 800-218, SSDF version 1.1).

14. Size tiers

TopicSmall: Quillmere Analytics Ltd (Example)Medium: Quillmere Health Systems (Example)Large: Quillmere Group (Example)
Profile46 staff, one SaaS product, production on one public cloud in two regions320 staff, clinical scheduling software and managed service2,400 staff, 6 sites, IT and OT, many internal applications and supplier-built systems
OwnershipHead of Engineering Operations (also 0.5 FTE ISMS manager) owns the policy; CTO approvesHead of engineering owns it; 3-person security team runs application securityCISO's security office sets the group policy; each business unit appoints a development security lead
GatesAll six gates in the hosted CI service; one reviewer for class B and C, two for class AAll gates; release board for class A releasesGates per platform; OT software follows vendor and plant change processes in addition
TestingStatic analysis, composition analysis and secret scanning on every merge; external pentest once a yearAdds dynamic testing in staging and pentest per major releaseCentral testing service, pentest programme by risk, OT testing in an isolated lab
EnvironmentsSeparate cloud accounts for dev, staging, productionSeparate accounts plus a validation environment for hospital customersSeparate tenancies per business unit; OT engineering workstations segregated
OutsourcingNone; SoA records A.8.30 as not applicable with reason (some organisations keep it applicable with no current engagement; agree the approach with your auditor)One agency builds the mobile app under DOC-ISMS-077Several suppliers per site; supplier security agreement DOC-ISMS-068 for each
Separation of dutiesMerge cannot be self-approved; CTO reviews production break-glass log monthlySecurity team independent of product teamsIndependent application security function and internal audit

15. Records and evidence

RecordProvesOwnerLocationRetention (Example)
Tickets with risk class and security requirementsA.8.25, A.8.26Product owner[Issue tracker]Life of the system + 2 years
Threat models and design decision recordsA.8.27Security champion[Wiki or repository]Life of the system
Merge requests with review approvals and pipeline resultsA.8.28, A.8.4Repository owner[Repository host]Life of the repository
Scanner results and findings ticketsA.8.29, A.8.8Application security lead[Scanner, tracker]3 years
Penetration test reports and retest evidenceA.8.29ISMS manager[Document store]3 years
Supplier contracts and acceptance test recordsA.8.30Procurement[Contract repository]Contract term + 6 years
Environment access lists and access reviewsA.8.31Platform lead[IAM, review records]3 years
Test data log and approvalsA.8.33Data owner[Log]3 years
Change and deployment recordsA.8.32Release manager[Change tool, pipeline]3 years
SBOMs per releaseA.5.21Platform lead[Artifact registry]Life of the release + 2 years
Training records for secure codingA.8.28, 7.2HR or ISMS managerDOC-ISMS-026Employment + 2 years
ExceptionsAllISMS managerDOC-ISMS-122 register3 years after closure

Recommended measures for DOC-ISMS-080 (Example): percentage of merges with an independent approver (target 100%), median days to fix High findings (target under 14), percentage of class A releases with a current threat model (target 100%).

16. Compliance, exceptions and review

  • Compliance is monitored through pipeline reports and sampled by the internal audit programme (DOC-ISMS-082).
  • Exceptions to any gate or rule are requested through security/security-exception-request (DOC-ISMS-122) and approved at the authority the risk methodology (DOC-ISMS-010 section 2.4) sets for the residual risk: the risk owner for Low; the risk owner and department head for Medium (top management if the risk category is Averse, DOC-ISMS-015 section 9 rule 1); top management with a treatment decision for High, recorded in the risk acceptance record (DOC-ISMS-019). Critical residual risk is not approvable as an exception: treat it or stop the activity. The ISMS manager or application security lead assesses each request. Gate exceptions are limited to [90] days, within the DOC-ISMS-122 maximum (12 months for Low or Medium, 6 months for High); at expiry they are reassessed, and they are recorded in the risk register where the residual risk is Medium or higher.
  • Deliberate bypass of a gate is a security breach handled under DOC-ISMS-052.
  • The policy is reviewed every [12] months and after: a major incident caused by a software defect, a new development platform or language, a new outsourcing arrangement, or a change of the coding standard or OWASP references.

17. References

ReferenceEdition and status (checked 2026-11-01)Use
ISO/IEC 27001:2022 + Amd 1:2024Current; https://www.iso.org/standard/82875.html, Amd 1 https://www.iso.org/standard/88435.htmlAnnex A controls A.8.4, A.8.25 to A.8.33
ISO/IEC 27002:2022Current; https://www.iso.org/standard/75652.htmlControl guidance
ISO/IEC 27034-1:2011Current; https://www.iso.org/standard/44378.htmlApplication security concepts
NIST SP 800-218, SSDF version 1.1Final, February 2022, https://csrc.nist.gov/pubs/sp/800/218/final; SP 800-218 Rev. 1 (SSDF version 1.2) is a draft from December 2025: check whether it is finalSecure development practices
NIST SP 800-218AFinal, July 2024SSDF community profile for generative AI and foundation models, useful for section 12
OWASP ASVS 5.0.0 and OWASP Top 10:2025As cited in security/secure-coding-standardVerification levels and risk categories

Related templates: security/secure-coding-standard, security/supply-chain-security, isms/outsourced-development-security, isms/project-information-security-checklist, security/threat-model, security/pentest-report, ops/change-enablement-policy, compliance/statement-of-applicability, isms/control-evidence-matrix.

Standard and licence note

Structure aligned with ISO/IEC 27001:2022 + Amd 1:2024 Annex A controls A.8.4 and A.8.25 to A.8.33 and with ISO/IEC 27002:2022. The text, gates, rules and examples are original. Control numbers are cited with short descriptive labels; no text from ISO/IEC 27001, ISO/IEC 27002 or ISO/IEC 27034-1 is reproduced, and you need the official standards to implement the controls. NIST SP 800-218 is a US government work. Check the current editions before use. Template licence: MIT.

Plantillas relacionadas