Skip to content

Backups

Backups that are visible before you need them.

ReefOffice backs up client servers with encrypted Restic repositories and shows backup health, key custody, and restore evidence in the client dashboard.

Implemented layer

Encrypted Restic repositories

Client VM backups are implemented with Restic. Each repository is encrypted before data leaves the server.

Implemented layer

Hetzner Storage Box target

The production module is built for Hetzner Storage Box over SFTP with a dedicated SSH wrapper.

Implemented layer

Hourly schedule and retention

The NixOS module schedules hourly backups and keeps hourly, daily, weekly, and monthly snapshots.

Implemented layer

Restore evidence in the dashboard

The API exposes backup status, restore requests, and restore-drill proof for authenticated clients.

Key custody

Choose the restore model before disaster.

Backup encryption decides who can perform a restore under pressure. ReefOffice supports managed recovery and client-held zero-knowledge keys.

Default support path

Standard managed recovery

ReefOffice can escrow an encrypted copy of the Restic key for audited disaster recovery when this mode is selected.

Client-held key

Zero-knowledge backup mode

The server waits for the client-held Restic key before backups can run. ReefOffice cannot restore without that key.

Dashboard visibility

Clients see backup state, not just a promise.

The backup API checks stored snapshot records and the VM status beacon, then explains the result in plain language.

  • OK: a recent backup was confirmed
  • Stale: no success in the freshness window
  • Not configured: backup storage is missing
  • Key pending: the client-held key is missing
  • Unreachable: the health beacon cannot be reached

What gets backed up

Service data, Nextcloud data, Vaultwarden state, ReefOffice configuration, and supported database dumps.

What is deliberately skipped

Placeholder repositories and missing client-held keys are reported explicitly instead of producing fake success states.

What still needs provisioning

A real destination must be configured per production server. Until then, the dashboard reports storage as not configured.

Related security controls

Backups sit beside disk encryption, not instead of it.

LUKS protects offline storage; backups protect against deletion, corruption, and recovery events. They address different risks.

Read the full security page

Need zero-knowledge backups?

We set the key-custody model before provisioning so the restore workflow matches your risk tolerance.

Book a demo