The IT disaster recovery plan template, with a recovery runbook register

The technical runbook beside the business continuity plan: what comes back, in what order, from which backup, and how you know it worked.

An IT disaster recovery plan template sets out how your systems and data come back after a disaster: which systems, from which backups, in what order, within what time, who declares it, and the checks that pass before customers are let back in. For SOC 2 it answers CC7.5 and CC9.1, plus A1.2 and A1.3 when the Availability category is in scope.1

The plan below is the technical runbook. It comes with an Excel register for the system list, the contacts and the test log, filled in for a twelve person company on AWS.

IT disaster recovery plan template, full text

The structure follows the contingency planning vocabulary of National Institute of Standards and Technology (NIST) Special Publication 800-34: recovery objectives, backup and restore, recovery procedures and plan testing.2 It is sized for a company whose production runs with one cloud provider. Every bracketed field is yours to fill in, and the last section lists each one.

[Company name]

IT Disaster Recovery Plan

Owner
[Engineering owner role]
Approved by
[Policy approver role]
Effective date
[Effective date]
Next review
[Next review date]
Version
[Version]

1. Purpose and the criteria it serves

This plan sets how [Company name] (the "Company") restores [System name] and the systems it depends on after a disaster: the loss of a cloud region, a database, an account, a critical vendor or the data itself. It is the technical runbook. The Business Continuity Plan sets how the Company keeps serving customers while this plan runs, and the Incident Response Plan sets how an incident is declared, handled and reported.

CriterionWhat it expectsWhere this plan answers it
CC7.5Activities to recover from identified security incidentsActivation, restore order, recovery procedure, verification and return to normal
CC9.1Risk mitigation activities for potential business disruptionsSystem inventory, backup inventory and testing
A1.2Data backup processes and recovery infrastructure, when Availability is in scopeBackup inventory and recovery procedure
A1.3Testing of the recovery plan procedures, when Availability is in scopeTesting and the record it leaves

A SOC 2 report that covers only the Security category is tested against CC7.5 and CC9.1. A1.2 and A1.3 apply only when the Availability category is in scope. Delete their rows if it is not, and keep the testing section either way: a backup nobody has restored is not evidence of recovery.

2. Scope and system inventory

This plan covers [In-scope systems]. The Company targets a recovery time objective of [Recovery time objective] and a recovery point objective of [Recovery point objective] for the production service. Each system below has its own targets, and no row promises a shorter time than its last restore test achieved.

SystemTierRecovery timeData loss allowedOwner
[Production application]Tier 1[Recovery time objective]None held[Engineering owner role]
[Production database]Tier 1[Recovery time objective][Recovery point objective][Engineering owner role]

Tier 1: customers cannot use the service without it. Tier 2: the service runs degraded. Tier 3: staff work slows, customers are not affected.

2.1 Worked example

A twelve person software company whose production runs in one AWS region. The full rows, with backup source, dependencies and test dates, are in the Systems sheet of the recovery runbook register.

SystemTierRecovery timeData loss allowedOwner
Staff identity provider and break glass cloud accessTier 11 hourNot applicableChief technology officer
DNS zone and TLS certificatesTier 11 hourNot applicableEngineering lead
Secrets and encryption keysTier 12 hoursNot applicableChief technology officer
Production database (managed PostgreSQL)Tier 14 hours15 minutesEngineering lead
Customer file storage (object storage)Tier 18 hours24 hoursEngineering lead
Application containers and background workersTier 14 hoursNone heldEngineering lead
Internal wiki and ticketingTier 33 business days24 hoursOperations lead

3. Roles and contacts

RoleHeld byResponsibility
Recovery lead[Engineering owner role]Declares a disaster, chooses between waiting, failing over and restoring, runs the recovery and signs off before reopening.
Backup recovery lead[Named second person]Takes every recovery lead duty when the lead cannot be reached within 30 minutes.
Security owner[Security owner role]Runs the security incident under the Incident Response Plan, checks that security controls are back in place, and co-signs the reopening.
Communications lead[Customer-facing role]Writes and sends status updates and customer notices, approved by the recovery lead.
Executive approver[Policy approver role]Approves spending, contractual notices and any decision to stay down longer than the recovery time objective.

Names, phone numbers and the out of band channel live in the Contacts sheet of the recovery runbook register. The recovery lead and the backup each keep a copy outside company systems, because the wiki and email may be down too.

At least two people hold break glass access to the cloud account and the domain registrar. The credentials are stored in [Secrets manager] and in a sealed offline copy, every use is logged and reviewed, and they are changed after each use.

4. Activation: when, and who declares

The recovery lead declares a disaster when any of these is true:

  • A Tier 1 system is down or unusable and the provider shows no fix inside its recovery time objective.
  • Production data is lost, corrupted or encrypted, including by ransomware.
  • The cloud account or the production region is unavailable or under an attacker's control.
  • A vendor the service cannot run without is unavailable and its fallback has to be used.

The declaration is recorded in [Ticketing system] with the time, the trigger, and the decision taken: wait for the provider, fail over, or restore from backup, with who decided. A security incident is opened under the Incident Response Plan at the same time, because it sets the notification duties.

5. Backup inventory

Backups are taken [Backup frequency], kept for [Backup retention period] and stored in [Backup location], separate from the primary data. At least one copy of each Tier 1 data set sits in a different account or behind different credentials, so that one compromised account cannot delete both the data and its backups. Backups are encrypted with [Encryption standard at rest]. A failed backup job raises an alert in [Monitoring tool].

DataMethodHow oftenKept forWhere
[Production database][Snapshots and point in time recovery][Backup frequency][Backup retention period][Backup location]
[Customer files][Versioning and replication][On every write][Backup retention period][Backup location]
Infrastructure definitionInfrastructure as codeOn every mergeFull history[Code repository]
Secrets and keysA list of secret names and how to reissue each. Values are reissued, not restoredOn every changeCurrent version[Secrets manager]
DNS zoneZone file exportOn every changeEvery version[Code repository]

5.1 Worked example

The managed PostgreSQL database keeps point in time recovery for 35 days and takes a daily snapshot that is copied to a second region in a separate backup account. Customer files are versioned, prior versions are kept for 30 days, and objects are replicated to the same second region. A restore can therefore lose at most 15 minutes of database writes and one day of file changes, which is what the inventory states.

6. Restore order and dependencies

Restore in this order. Each step needs the one before it, so starting further down the list wastes the recovery time objective.

  1. Access: the identity provider and the break glass cloud credentials. Nothing else can be restored without them.
  2. DNS and certificates: the domain must resolve to wherever the service will run, and certificates must be valid there.
  3. Secrets and keys: confirm the encryption keys exist before restoring encrypted data. A backup encrypted with a deleted key cannot be read.
  4. Network: virtual networks, subnets, firewall rules and load balancers, from the infrastructure code.
  5. Database: restored to the recovery point, as a new instance.
  6. Object storage: buckets restored or switched to the replica.
  7. Compute: the application and workers, deployed from the last released build through [Deployment pipeline].
  8. Third parties: email, payments and other vendors reach the restored environment, with webhooks, allowed addresses and API keys updated.
  9. Monitoring and logging: [Logging system] and [Monitoring tool] receive data from the restored environment before customers are let back in.

7. Recovery procedure by layer

7.1 Database

  1. Choose the recovery point: the last moment before the loss or corruption, from the incident timeline.
  2. Restore to a new instance, never over the damaged one, so the damaged copy stays available for investigation.
  3. Run the verification checks in the next section against the new instance.
  4. Point the application at the new instance by changing its connection secret, and record the time.
  5. Keep the damaged instance, with access restricted, until the incident is closed.

7.2 Object storage

  1. For deleted or overwritten objects, restore prior versions from the version history.
  2. For a lost bucket or region, switch the application to the replica and record which objects changed after the last replication.

7.3 Application and compute

  1. Redeploy the last released build through the deployment pipeline. Do not rebuild by hand from a laptop.
  2. Scale to normal capacity and confirm background jobs are processing.

7.4 Loss of the production region

  1. Recreate the network and compute in the recovery region from the infrastructure code.
  2. Restore the database from the cross region copy and point object storage at the replica.
  3. Switch DNS to the recovery region once the verification checks pass.

7.5 Compromised cloud account

  1. Handle it as a security incident first, under the Incident Response Plan.
  2. Rebuild in a clean account from the copies held outside the compromised one, and reissue every credential and secret.
  3. Do not restore a backup taken after the earliest suspected compromise until it has been checked.

7.6 Vendor outage

  1. Follow the fallback recorded for that vendor in the runbook register, or wait for the vendor if the outage will end inside the recovery time objective.
  2. Record the decision and the time in the incident record.

8. Verification before reopening

The service reopens to customers only when every check below passes, and the recovery lead and the security owner have both signed off in the incident record.

  • Row counts on the key tables match the last known counts, allowing for the recovery point.
  • The newest record is from within the recovery point objective of the failure time.
  • A test customer account signs in, opens a record and downloads a file.
  • Background jobs and scheduled tasks run, and outbound email sends.
  • Security controls are back: single sign on and multi-factor authentication, encryption at rest, logging, alerting and network rules match production as documented.
  • The actual recovery time and data loss are recorded against the targets in the system inventory.

9. Communication

Staff coordinate in the out of band channel named in the Contacts sheet. Customers hear through [Status page] within one hour of the declaration and at least every hour while a Tier 1 system is down. Customers with a contractual notice period are notified directly within [Notification deadline] hours, and the executive approver approves that notice.

Every update says what is affected, what is being done, whether any data may be lost, and when the next update will come. It never guesses a cause that has not been confirmed.

9.1 Worked example

"We are restoring our customer database after a storage failure in our primary hosting region. Sign in is unavailable. Data saved before 09:40 UTC is safe, and we are checking whether anything saved after that time was lost. Next update by 11:00 UTC."

10. Return to normal

  1. Decide whether to stay in the recovery environment or move back, and plan any move back as a normal reviewed change.
  2. Turn backups and replication on for every restored system, and confirm the first new backup completed.
  3. Remove temporary access, reissue any break glass credential that was used, and review its use.
  4. Close the incident and hold a review within 5 business days. Record what worked, what did not, and each action with an owner and a date.
  5. Update this plan, the system inventory and the runbook register with what the recovery taught.

11. Testing and the record it leaves

TestHow oftenWhat it provesRecord it leaves
Restore test of the production databaseEvery quarterThe backup restores and the data is completeTest log row: backup used, time taken, data checked, result
Recovery exercise: a region rebuild in a separate account, or a tabletop walk through this planOnce a yearThe plan works end to end and people know their partExercise report with findings and actions
Contact list checkEvery quarterThe people and numbers in the Contacts sheet are currentDate checked, in the Contacts sheet
Backup job monitoringDaily, by alertBackups are being takenAlert history and the fix for each failure

Every test is recorded in the Test log sheet of the recovery runbook register. A missed target or a failed test is fixed and retested within 30 days, and both rows stay in the log. A test dated before or after an audit period is not evidence for that period.

11.1 Worked example

The annual exercise rebuilt the database, file storage and application in the recovery region in 2 hours 50 minutes against a 4 hour objective, with 6 minutes of data loss against a 15 minute objective. The first deploy failed because the recovery region had no copy of the application container image. Image replication was turned on and the deploy was retested the same day. Both the failure and the retest are in the log.

12. Records an auditor asks for

RecordWhere it is kept
This plan, approved, with its version history[Documentation system]
The recovery runbook register: systems, contacts and test log[Evidence storage location]
Backup configuration and retention settings, as screenshots or exports[Evidence storage location]
Restore test and exercise records from inside the audit period[Evidence storage location]
Incident records for any real recovery, with the review[Ticketing system]

13. Plan maintenance and approval

The [Engineering owner role] reviews this plan at least once a year, and after any new Tier 1 system, vendor or region, any test finding, and the departure of anyone named in it. The [Policy approver role] approves each version.

VersionDateSummary of changeApproved by
[Version][Effective date]First version.[Policy approver role]

Sign-off. Name, signature and date for: Plan approver.

14. Fields to complete

Replace every bracketed field in this document with your own detail, then delete this section.

FieldWhat to enter
[Company name]Your legal company name.
[Effective date]The date the approver signs this version.
[Version]Start at 1.0 and increase it each time the document changes.
[Security owner role]The role that runs the security program day to day, for example Chief Technology Officer.
[Policy approver role]The officer who approves policies and accepted risks, for example Chief Executive Officer.
[Evidence storage location]The shared folder or system where evidence is kept.
[Documentation system]Where policies and procedures are published, for example the company wiki.
[In-scope systems]The product, cloud accounts and tools inside the audit boundary.
[Ticketing system]Where changes and incidents are tracked, for example Jira or Linear.
[Code repository]Where source code is hosted, for example GitHub or GitLab.
[Deployment pipeline]The system that builds and deploys code, for example GitHub Actions.
[Secrets manager]Where keys and secrets are stored, for example a cloud key management service.
[Logging system]Where logs are collected and searched.
[Monitoring tool]The system that raises alerts.
[Encryption standard at rest]For example AES-256, the Advanced Encryption Standard with 256-bit keys, through the cloud provider key service.
[Recovery time objective]The longest the service may be down after a disaster, for example 4 hours.
[Recovery point objective]The most data you can afford to lose, for example 24 hours.
[Backup frequency]For example daily.
[Backup location]Where backups are kept, separate from the primary data.
[Backup retention period]For example 30 days.
[System name]The product or service the report covers.
[Notification deadline]The shortest customer or legal notice period you are bound by, in hours.
[Status page]Where customers see service status, if you publish one.
[Engineering owner role]The role that owns production systems, for example engineering lead.
[Next review date]The date this version must be reviewed by, at most 12 months after the effective date.

The recovery runbook register

The plan says what happens. The register is where the details live that change every quarter: the system rows, the phone numbers, and every test with its result. A failed first attempt keeps its row, as the example shows, because the retest beside it is the evidence that the plan improves.

Recovery Runbook Register

Systems

One row per system, in the order it is restored. The seven rows are an example for a twelve person software company on AWS: replace them with your own.

Restore orderSystemTierRecovery time objectiveRecovery point objectiveBackup sourceDepends onOwnerBackup ownerLast testLast result
1Staff identity provider and break glass cloud accessTier 11 hourNot applicableProvider service; two sealed break glass credentials held offlineNoneChief technology officerChief executive officer2026-07-14Passed
2DNS zone and TLS certificatesTier 11 hourNot applicableZone file and infrastructure code in the code repositoryIdentity and cloud accessEngineering leadChief technology officer2026-09-16Passed
3Secrets and encryption keysTier 12 hoursNot applicableKey service with deletion protection; secrets reissued, not restoredIdentity and cloud accessChief technology officerEngineering lead2026-09-16Passed
4Production database (managed PostgreSQL)Tier 14 hours15 minutesPoint in time recovery, daily snapshot copied to a second regionSecrets and keys, networkEngineering leadSenior engineer2026-09-16Passed, 2 h 50 min
5Customer file storage (object storage)Tier 18 hours24 hoursObject versioning, replicated to a second regionSecrets and keysEngineering leadSenior engineer2026-07-14Passed
6Application containers and background workersTier 14 hoursNone heldRebuilt from the last released image through the deployment pipelineDatabase, file storage, secretsEngineering leadSenior engineer2026-09-16Failed first run, passed on retest
7Internal wiki and ticketingTier 33 business days24 hoursVendor service; weekly export to company storageIdentityOperations leadChief executive officerNot yet tested

Contacts

Everyone a recovery needs, with a way to reach them that does not depend on company email or chat. Keep a copy outside company systems.

RoleNamePhoneEmailOut of band channelBackup personChecked on
Recovery lead[Name][Phone][Email][For example a group text][Name]
Security owner[Name][Phone][Email][Channel][Name]
Communications lead[Name][Phone][Email][Channel][Name]
Executive approver[Name][Phone][Email][Channel][Name]
Cloud provider support[Support plan][Phone][Support case address][Support console]
Domain registrar and DNS provider[Provider][Phone][Email][Console]

Test log

One row per restore test, exercise or real recovery. A failed test keeps its row, and the retest gets a new one.

Test IDDateTypeScopeTargetsTime to recoverData lostTargets met?FindingsActionAction ownerClosed
DR-2026-032026-09-16Failover testRegion rebuild: database, file storage, applicationRecovery time 4 hours, data loss 15 minutes2 hours 50 minutes6 minutesYesThe recovery region had no copy of the application container image, so the first deploy failedImage replication to the recovery region turned on, deploy retested the same dayEngineering lead2026-09-16

How to use

  1. List every system production depends on in the Systems sheet, in the order the IT Disaster Recovery Plan restores them: access, DNS, secrets, network, database, storage, compute, third parties, monitoring.
  2. Set each recovery time and recovery point objective from a restore you have actually run. A target no test has met is a promise the auditor will test you against.
  3. Name an owner and a backup owner for every Tier 1 row. One person who can restore the database is a single point of failure.
  4. Fill the Contacts sheet with phone numbers and a channel that works when company email is down, check it every quarter, and record the date.
  5. Restore the production database once a quarter and run one full exercise a year. Record every test in the Test log, including the ones that fail.
  6. After every test or real recovery, update Last test and Last result in the Systems sheet, and track each action to a closed date.
  7. Evidence for the auditor: this workbook with its test rows dated inside the audit period, the approved plan, and the screenshots or logs behind each test. CC7.5 and CC9.1 apply to every SOC 2; A1.2 and A1.3 apply when the Availability category is in scope.

What an auditor checks

  1. Targets that match the tests. Each recovery time and recovery point objective, set against the time the last restore actually took.
  2. Backups configured as written. Frequency, retention and a copy behind separate credentials, shown in the cloud console.
  3. Tests inside the period. Quarterly restore rows and the annual exercise, dated inside the audit period, with findings tracked to a closed date.
  4. Security back before reopening. Multi-factor authentication, encryption and logging on the restored environment, signed off by the security owner.

Where it sits beside the other plans

The business continuity and disaster recovery plan sets the company-wide targets and the decisions on the day. This runbook is how engineering meets them. The backup and restore test log is the lighter record if all you need is the quarterly restore, and the incident response plan owns declaration and customer notice whenever the disaster is also a security incident. Which Trust Services Criteria to include covers when the Availability category is worth adding.

The version written for your company

Polara GRC Star is $2,000 one time. It writes the thirteen Security policies in its pack, which cover disaster recovery, from your intake answers, with your systems, owners and review dates named, for you to review and approve (plus one for each extra category you add, except Availability). No template passes an audit on its own, this one included. An independent licensed U.S. CPA firm tests whether the policy operated.

Polara Labs is not a CPA firm. SOC 2 examinations are performed by independent licensed U.S. CPA firms.

Questions

What is the difference between a disaster recovery plan and a business continuity plan?
The business continuity plan covers how the company keeps serving customers through a disruption: targets, people, suppliers and decisions. The disaster recovery plan is the technical part: which systems come back, from which backups, in what order, and how you check them before reopening. An auditor reads them together, and a small company can keep both in one document, as the business continuity plan template on this site does.
Does SOC 2 require a disaster recovery plan?
For a Security-only report, CC7.5 expects activities to recover from security incidents and CC9.1 expects risk mitigation for business disruptions, so a written recovery plan and tested backups are expected. When the Availability category is in scope, A1.2 covers backup processes and recovery infrastructure and A1.3 covers testing the recovery plan.
How often must a DR plan be tested?
The criteria do not set a number. The template restores the production database every quarter and runs one full recovery exercise or tabletop a year, and the auditor tests against whatever cadence your plan states. A test dated outside the audit period is not evidence for that period.
What RTO and RPO should a startup set?
The ones your last restore test achieved, plus a margin. A recovery time objective you have never met is a promise the auditor will test you against. The worked example uses four hours and fifteen minutes for the production database because that is what point in time recovery and a rehearsed restore delivered in its test.
What goes in a disaster recovery runbook?
The systems in restore order with their targets, backup source, dependencies and owners; the contacts with a way to reach them when company email is down; and a log of every restore test, exercise and real recovery. The Excel register on this page has those three sheets and a guide.
Why does restore order matter?
Each layer needs the one before it. Without access nothing can be restored, encrypted data cannot be read before its key exists, and the application cannot start before its database and secrets. Restoring out of order spends the recovery time objective on waiting.

Sources

  1. TSP Section 100, Trust Services Criteria for Security, Availability, Processing Integrity, Confidentiality, and Privacy AICPA. The criteria themselves, including the common criteria every SOC 2 report covers.
  2. Contingency Planning Guide for Federal Information Systems (SP 800-34 Rev. 1) NIST. Recovery objectives, backup and restore, and plan testing.

Get audit-ready without a compliance team.

The readiness assessment is free, with no payment and no card. Star is $2,000 one time to get on the platform and close your gaps. Orbit is $7,800 a year, and your SOC 2 Type 2 audit is included in every contract year. You can be audit-ready starting at about a week.

Take the free assessment

Polara Labs is not a CPA firm. SOC 2 examinations are performed by independent licensed U.S. CPA firms.