Documented operating procedures
ISO 27001 Annex A 5.37 asks for written, step-by-step procedures for security-relevant operational work, kept current and reachable by the people who perform it. For a firm of 25–250 people, that means a short set of git-backed runbooks that pass a cold-start test and are backed by execution records. The payoff is less key-person risk and a clean auditor walkthrough.
The due-diligence questionnaire asks who else can restore production if your lead engineer is unavailable. The honest answer is nobody, and the deal waits. This guide covers ISO 27001 Annex A 5.37, the control for documented operating procedures, written for heads of engineering and security leads at UK firms of 25–250 people.
It shows how to size the runbook set, test it, keep it reachable during an outage and prove it to an auditor. The route we recommend is short: eight to twelve runbooks, held in git, tested by a colleague who did not write them.
Because at 25–250 people the platform's operational knowledge usually sits in one or two heads. If that engineer resigns, falls ill or goes on holiday, the firm cannot restore its own systems. Enterprise buyers probe exactly this in diligence, and UK GDPR Article 32 expects timely restoration of availability after an incident.
What reassures a buyer is evidence rather than assurance: a named second person, the runbook that person follows, and a record of them using it. The ICO Guidance on Data Security Measures makes the legal angle plain. Measures must let you restore access and availability to personal data in a timely manner after a physical or technical incident. A restore that waits for one engineer to return from leave is hard to call timely.
The concentration also makes incidents worse. A ransomware response improvised from memory at 2 a.m. is slower than one worked from a tested runbook, and the improvising creates its own secondary mistakes.
A runbook only its author can follow is a memory with a filename.
There is a compounding audit effect as well. When sampled work contradicts the documented process, the finding tends to spread across the whole assessment. Undocumented operations is usually where that pattern starts.
Read this way, A.5.37 is a transfer of capability: the platform stops being one person's property and becomes the team's.
A policy states the rule and its intent: the what. A procedure is the executable how, with steps, commands, owners and escalation. A.5.1 anchors the policy layer, and A.5.37 demands the written-down operational layer beneath it. Auditors expect both layers and check that they agree with each other.
Many teams already hold a policy suite and assume it covers the control. A sentence such as "backups shall be performed daily" states intent and nothing else. No colleague could run a backup from it, and no auditor will accept it as a procedure.
The layers fit together like this:
Your existing policy is the anchor, not the answer. It gives each runbook its authority, so every runbook should trace back to the policy sentence it executes. When the policy says daily and the runbook says weekly, that disagreement is the finding.
The control also sits close to clause 7.5, which governs how ISMS documentation is controlled. The version and approval habits you already apply to policies therefore apply to runbooks too. A team that has them for one layer can extend them to the other without inventing a new process.
Annex A 5.37 requires step-by-step instructions for security-relevant operational work, such as restoring a backup, offboarding a leaver, deploying a patch or handling a malware alert. The procedures must be available to the people performing the tasks and kept current as systems change, under simple governance covering ownership, versions and authorised edits.
The scope is security-relevant operational work, not every task the team performs. If botching a task could expose data, break availability or leave access open, it belongs in scope. A sprint-planning ritual does not.
Simple governance needs five things on every procedure:
The NCSC makes a similar case for change management in its NCSC Cloud Security Principle 5 Operational Security. Changes to a service should be assessed for their security impact, then managed and tracked through to completion. Procedures deserve the same treatment as the systems they describe.
Currency is the harder property. Make "procedure updated?" a closure check on infrastructure change tickets, and sweep the full set once a year as a backstop.
A procedure describing last year's stack is worse than none: it is confidently wrong.
The common failure is access. Runbooks locked in one person's drive, or in a tool half the team cannot open, fail the availability test however good the content is. Inaccessible counts as undocumented, and an auditor who asks the on-call engineer to open the document will find out in seconds.
Usually eight to twelve. Use the standard's own triggers to choose them: tasks several people must perform identically, jobs rare enough to be forgotten, risky new activities, and looming handovers. Cover joiner/mover/leaver access, backup and restore, patching, deployment, alert handling, incident escalation, log review and core platform recovery. The triggers size the set, not a target count.
The four triggers map onto the set like this:
Proportion follows the estate. A firm with one cloud platform and a single deployment pipeline will land near the bottom of the range. Add a regulated data store, an on-premises site or a second production platform and the count climbs towards the top.
One consolidated operations manual is fine at the smaller end. The standard does not demand a document per task, and a single findable manual beats a dozen scattered pages. Split into modular runbooks only when the estate genuinely warrants it, for example when separate teams own separate platforms.
The belief that every task needs its own standalone policy document is a vendor habit rather than a requirement. What an auditor tests is findability, ownership and currency, not document count.
Resist documenting the trivial. Procedures for self-evident tasks create a review burden, and that burden guarantees the whole set goes stale. A short set that gets reviewed beats a long one that nobody opens.
The cold-start test asks whether a competent colleague who has never done the task could complete it from the document alone. A passing runbook gives the actual commands and screens, the order, a named owner, error branches and escalation contacts, including vendor support. If the reader must ask the author anything material, the runbook is unfinished.
Check each runbook against six questions:
Dependencies are where cold starts usually fail: the job that must finish before the backup starts, the service account that expires, the scheduling quirk nobody mentioned. Write each one beside the step it affects.
For incident runbooks, the NCSC Cyber Incident Response Process and Playbook Guidance is the external reference. It expects explicit instructions covering triage criteria, containment steps, key contacts and evidence retention, which maps neatly onto questions four to six above.
A document nobody has executed from is a hypothesis, not a procedure.
Prove transferability by having someone other than the author walk a procedure through. A restore test is the classic choice. Keep the record: it is both the competency evidence and the honest test of the document. Every gap the colleague hits becomes an edit before an auditor finds it.
Keep an offline export or independent store of incident and recovery runbooks, refreshed on a schedule, so on-call staff can reach them during a total outage. A recovery runbook held only inside the environment it exists to restore is out of reach exactly when it is needed.
Scope the out-of-band copy to the emergency subset: incident escalation, core platform recovery and restore. Copying the whole library creates a second set to keep current. The copy needs four properties:
The trap catches teams that keep recovery steps in the same wiki, repository host or single sign-on they describe rebuilding. Ask the auditor's question yourself before they do: if this environment is down, can the on-call person open the incident runbook?
Auditors pair each procedure with its execution evidence: the offboarding document against the latest leaver's ticket trail, the backup runbook against restore test logs. They interview operators while reading the runbook. Missing procedures for critical operations grade major; stale content or a sampled task that does not match its document grades minor, aggregating to major as a pattern.
Expect questions along these lines:
The auditor is looking for daylight between document and record. A leaver ticket trail that omits a step the runbook lists is exactly the kind of gap that gets probed. Interviews attack the same gap from the other side. An operator who describes a different process from the one on the page has just shown the drift.
Have the evidence assembled before the room:
An incident or failed restore that has already exposed a missing procedure makes the major grade much harder to argue against. Version-control slips and a runbook that mentions retired infrastructure are minor on their own, so the aim is to stop them forming a pattern.
Markdown runbooks in a git repository inherit owners, pull-request approval, version history and access control from the workflow engineers already trust. Automation then shrinks the manual surface, staleness detection raises update tickets when systems change, and ticketed execution leaves completion evidence as the work happens.
Four mechanisms do the work:
The commercial upside is speed in diligence. The buyer's question about who else can restore production gets answered with a repository, a pull-request history and a ticket trail, not a promise.
Together these remove the six failure modes that sink the control, mapped in the table below. At this scale, a small repo, a ticket template and a staleness check give you a set that an auditor can sample and a new engineer can run on day one.
| Failure mode | What it looks like | What removes it |
|---|---|---|
| Shelfware | A procedure pack written for the audit and never reopened | Staleness tickets and a "procedure updated?" check on change tickets |
| Policy-speak | "Backups shall be performed daily" with no command anyone could run | Pull-request review against the cold-start test; scripts as the steps |
| Tribal memory drift | The team works from memory and Slack while the documents age | Ticketed execution that makes the runbook the route to the work |
| Permission silos | Runbooks in one person's drive or a tool half the team cannot open | Repository access for every operator, with edit rights held by the owning team |
| Single-environment hosting | The recovery runbook lives inside what it exists to recover | A scheduled offline export of the emergency subset |
| Over-documentation | Procedures for trivial tasks that nobody reviews | Automate the task or drop the document; keep the judgement layer only |
Lightly. The pipeline definition and its run history are the procedure and the execution record, so an auditor can sample runs instead of tickets. Write down only what the code cannot say: what triggers a run, how to read a failure, and the manual fallback if the pipeline itself is down. Rehearse that fallback at least once, since it is the one step nobody otherwise practises.
Yes. The control cares that procedures are findable, current and governed, not which tool holds them. The gap to check in a wiki is change approval: git records a reviewer on every pull request by default, while most wikis record only who edited. Turn on page approval or a review workflow, and confirm the wiki can export the emergency subset for the offline copy.
Backup (A.8.13) is the clearest case, because the restore runbook is tested against restore logs. Logging (A.8.15) and change management (A.8.32) lean on the same runbooks. Expect the auditor to follow one task across several controls in a single sample, such as a production change traced from its ticket through the runbook to the log entry.
Both. Day to day it prevents the skipped offboarding or misconfigured backup by making the right sequence explicit. During an incident, the recovery runbook is what gets operations back up, which is why ISO/IEC 27002 classes it as corrective as well. It also protects confidentiality, integrity and availability, depending on the task.
Plan on one to two weeks of the technical lead's time. The best slot is mid-programme, once the A.5.1 policy suite exists to anchor authority and change management is settling. Book the first walkthrough tests straight after drafting, because they show which runbooks need another pass.
Every control in this framework and the clause guides that sit above them, grouped by control domain. Open any entry for its control definition, implementation steps and the audit evidence it expects. Dimmed entries are planned.
Work with a Trust Architect to scope your ISMS, close the gaps, and get audit-ready — without stalling your roadmap.