Free policy template

ISO 27001

Secure Software Development Lifecycle (SDLC) Policy

Security requirements in the backlog, code review and static analysis, dependency and secrets scanning, and what has to pass before a release ships.

Download the Markdown

Free and ungated, no email required. The full template is below and in the download. Authored in Keel’s own words and aligned to ISO 27001; replace the {{PLACEHOLDER}} tokens with your details.

What an SDLC policy is for

An SDLC policy writes down the security work that happens inside your development process, so it is a standing requirement rather than a thing the team remembers to do when there is time. It names the checks, where in the lifecycle each one runs, and what blocks a release.

This template covers security requirements captured with the feature, code review and static analysis, dependency and secrets scanning, the build pipeline itself, and the testing a release has to pass. It does not prescribe your tooling: the statements say what must happen, and you fill in which scanner, which pipeline and which review rule.

How to use it

  1. Download the template. Grab the Markdown file, or copy the full text from this page.
  2. Fill in the placeholders. Replace every {{PLACEHOLDER}} token (company name, owner, approver, dates, version) with your details.
  3. Tailor it to how you operate. Adjust the statements so they describe what your organization actually does. A policy you do not follow is worse than none.
  4. Approve and publish. Have an accountable owner approve it, set an effective date and a review date, and share it where staff can find it.
  5. Keep it current. Review on the schedule you set (or when things change), and keep evidence that it is followed. In Keel this is tracked for you.

Secure Software Development Lifecycle

Organization: {{COMPANY_LEGAL_NAME}} Document owner: {{POLICY_OWNER_ROLE}} Approved by: {{APPROVER_NAME}}, {{APPROVER_TITLE}} Version: {{VERSION}} · Effective: {{EFFECTIVE_DATE}} · Next review: {{REVIEW_DATE}} Classification: Internal


1. Purpose

This policy builds security into every stage of how {{COMPANY_LEGAL_NAME}} designs, develops, and ships software. The goal is simple: protect {{DATA_TYPES}} in the services that run on {{CRITICAL_SYSTEMS}} and are processed or stored in {{GEO_SCOPE}}, rather than bolting on checks at the end.

2. Scope

This policy applies to all custom code, infrastructure-as-code, scripts, and APIs the organization maintains. It covers the {{LOCATION}} engineering team working on managed {{DEVICE_TYPES}} and deploying to {{CRITICAL_SYSTEMS}}.

3. Policy statements

3.1 Security requirements and stories

We capture security requirements as user stories or tasks during backlog grooming and design, referencing common patterns such as input validation, authentication, and session management, along with any {{INDUSTRY}} obligations that apply.

3.2 Code review and static analysis

Every pull request needs peer review before it merges. Automated static analysis runs alongside it, with blocking rules on critical findings, and we pay particular attention to code paths that touch {{DATA_TYPES}} or {{CRITICAL_SYSTEMS}}.

3.3 Dependency and secrets scanning

We scan third-party packages across the app, containers, and infrastructure for known vulnerabilities on every build. Any commit or build that contains a hard-coded secret or credential is rejected.

3.4 Build pipeline security

Build runners are isolated and authenticate to artifact repositories with short-lived tokens. Pipeline permissions follow least privilege, deployment actions are logged, and release artifacts are signed and hash-verified at deploy time. We keep {{DATA_TYPES}} out of build logs and artifacts, and only managed {{DEVICE_TYPES}} may trigger production deployments to {{CRITICAL_SYSTEMS}}.

3.5 Pre-release testing

We run an internal or third-party penetration test for major releases and at least once a year, scoped to the components in {{CRITICAL_SYSTEMS}} that handle {{DATA_TYPES}}. Findings are tracked to closure before public launch, and reports and remediation evidence are stored in {{GEO_SCOPE}} where residency applies.

3.6 Measurement

Pipeline gates should show that all code is scanned and that no critical findings remain open at release for deployments to {{CRITICAL_SYSTEMS}}. Temporary allow-lists require documented risk, a fix timeline, and a note on any residual risk to {{DATA_TYPES}}.

4. Roles and responsibilities

Role Responsibility
Executive sponsor Accountable for the program; approves this policy
{{POLICY_OWNER_ROLE}} Maintains this policy and its procedures
Managers Enforce the policy within their teams
All personnel Comply; report issues promptly

5. Compliance and exceptions

Non-compliance may result in disciplinary action. Code merged without required reviews or scans is reverted or blocked until corrected. Exceptions require documented risk acceptance by {{APPROVER_TITLE}} and are time-limited and reviewed.

6. Review

This policy is reviewed at least annually and when significant change occurs.


Aligned to ISO/IEC 27001:2022. {{COMPANY_LEGAL_NAME}} is not affiliated with or endorsed by the relevant standards body; full standard text is copyrighted and is not reproduced here.

Manage this policy in Keel

Keel ships this template in-product, fills the placeholders, maps it to your controls, and tracks approvals and reviews, so the policy stays live evidence, not a file in a drive. Start free.