Owner: Security + SRE. Review cadence: annual or on material change. Approver: CEO.
This is the company-level policy that ties MeterBox's continuity-of-service commitments to the constituent procedures already in place. It is short. The procedures it names (IR plan, DR restore drill, InfoSec policy, access review, backup mirror, reclaim sweeper) carry the operational detail. This policy is what an auditor reads to confirm that we have a coherent BCP/DR program, not the operational manual.
Define how MeterBox preserves availability and recovers from disruptions to the production systems that handle tenant billing and metering. Covers: the control plane, every tenant's data plane, the off-cluster backup mirror, and the supporting Kubernetes + cloud-vendor infrastructure.
Does not cover: a tenant's own end-customer-facing systems (the tenant owns those — see the privacy page processor framing).
Per-tenant numerical targets live in the DR restore drill (RPO ≤ 24h, RTO ≤ 60m). The business-level commitments are:
/cp/*): the company commits to restoring the control
plane to a working state within 4 hours of a Sev-0 outage. Recovery
uses the cluster's bundled Postgres + the reclaim backup PVC./v1/*): per-tenant restoration runs in parallel
per the DR drill RTO (≤ 60m per tenant). All-tenant recovery is bounded
by SRE capacity, not per-tenant RTO; the company commits to 8 hours
for the median tenant on a multi-tenant Sev-0 event.scripts/close.js month-end run): if it cannot
complete during its normal window, it MUST complete within 5 calendar
days of the affected period close. Bills are issued on the resumed run;
no double-charging.email.setTransport().| Process | What it depends on | If it stops |
|---|---|---|
| Signup + login | Control plane, Postgres, Redis, email transport | New customers cannot onboard. MFA + password reset still work for existing customers if email is up. |
/cp/* admin API |
Control plane, Postgres, Redis | Tenants cannot manage plans, customers, settings, audit log review. |
/v1/* data plane |
Tenant data-plane pod, Postgres, Redis | Tenant cannot meter or look up entitlements. End-customer-facing serving in the tenant's app blocks. |
| Billing close | Stripe, ledger | Invoices not issued for the affected period. |
| Backup mirror sweep | Per-org backup_target, cloud bucket, KMS (if configured) |
Backups age beyond the 24h RPO. |
| Reclaim sweeper | Backup mirror, deletion lifecycle | Reclaim backups for deleted environments not produced. |
| Audit log + integrity verification | Postgres, hash-chain | Compliance evidence gap; existing rows remain valid. |
| Alert notifications | Email transport + per-org webhook URL | High-severity security alerts not fanned out (rolled-up state still visible in SettingsPage). |
| SCIM provisioning | Control plane, identity provider | Enterprise IdP cannot create / disable accounts. |
| Scenario | Severity | Response |
|---|---|---|
| Regional cloud outage | Sev-0 | Activate IR plan; for the Managed tier with multi-region option enabled, fail over per the customer's region preference. Single-region tenants wait out the provider RTO. Status page update every 60m. |
| Control-plane Postgres loss | Sev-0 | Restore from the bundled PVC backup + replay WAL since last snapshot. RTO target ≤ 4h (§ 3). |
| Tenant data-plane loss | Sev-1 (one tenant) / Sev-0 (many) | Per-tenant restore via the DR drill procedure. Tenant comms per the IR plan customer template. |
| Off-cluster backup mirror unreachable | Sev-2 | RPO grows past 24h after one missed sweep; SRE investigates target adapter or KMS access. If sustained, opens Sev-1 because subsequent DR drill would fail. |
| Supply-chain compromise (npm package, base image) | Sev-1 | Per vulnerability disclosure policy escalation: revoke affected secrets, pin lockfile, rebuild + redeploy from clean base, audit the affected window in the audit log. |
| Ransomware on operator workstation | Sev-1 | Revoke all credentials issued to the workstation (production access, GitHub, cloud, KMS), rotate per operator-runbook § 1.5, workstation reimaged from gold image, post-mortem within 5 business days. |
| Key staff unavailability (≥ 5 business days) | Sev-2 | Backup on-call assumes IR rotation per IR plan § on-call rotation. Quarterly DR drill rotation includes a backup runner. |
| Prolonged staff outage (> 30 days, multiple staff) | BCP event | CEO declares. Engagement of contractor pool for sustaining engineering, in scope only for stop-the-bleed work; new feature work paused. |
GET /cp/access-review — quarterly access posture snapshot (CSV).METERBOX_STATUS_PAGE_URL (see
.env.example).#inc-<yyyymmdd-name> per the IR plan.The public subprocessor list at /subprocessors names the operationally critical vendors. Per-vendor continuity:
email.setTransport() (commit + redeploy or sealed-secret rotation).Vendor SOC 2 / ISO letters collected annually per the InfoSec policy vendor management section.
docs/compliance/dr-drills/<YYYY-Qn>.md.docs/compliance/tabletops/<YYYY-Qn>.md.docs/compliance/bcp-tabletops/<YYYY>.md.GET /cp/access-review.This policy is reviewed annually or on material change (new tier, new critical vendor, new region, regulator-driven requirement). Material changes go through PR review + CEO sign-off and a CHANGELOG entry.
Last reviewed: 2026-06-04