OBMrLegal

Disaster recovery policy

Version 0.1 draft ยท Effective effective date

How we restore OBMr after losing systems or data.

Targets

MeasureTarget
Recovery point: most data we could lose24 hours, or less where the database provider offers point-in-time recovery
Recovery time: longest the app is down8 hours

These targets depend on backups that Netlify, Inc. (Netlify Database) provides. They are not met until the backup setup is confirmed and a restore has been tested.

What can be rebuilt from where

PartSource of recovery
Application code, database schema, legal pagesThe Git repository, which holds everything needed to rebuild and redeploy
Customer DataDatabase backups from Netlify, Inc. (Netlify Database), backup frequency and retention
Secrets (database address, two-step encryption key)The password manager. Losing the two-step encryption key means every administrator sets up two-step sign-in again; no customer data is lost
Domain and DNSThe registrar account, managed by two people

Restoring

  1. Declare a disaster and name a lead. Tell customers.
  2. Create a new database from the latest good backup, in the same region.
  3. Apply the schema from the repository; it refuses to run if the database does not match what was recorded.
  4. Point the hosting environment at the new database and redeploy.
  5. Re-run erasures for any organization erased after the backup was taken, using the erasure register kept outside the database.
  6. Check sign-in, a read and a write for a test organization, and the activity log.
  7. Tell customers what was restored and the time of the backup used, so they can re-enter anything recorded after it.

Testing

A full restore into a separate environment is done before the first paid customer and then every 3 months, timed against the targets above, and recorded.