This plan defines how WorkHive (operated by SJC Distributions Limited) detects, contains, assesses, notifies and recovers from any actual or suspected personal-data breach involving customer data. It is required under UK GDPR Articles 32–34 and the Data Protection Act 2018.
A "personal data breach" under UK GDPR Art 4(12) is any of:
This includes near-misses where exposure was possible but not confirmed (e.g. a leaked API key with high blast radius — even if no logs show exfiltration).
| Source | Monitored how | Alert latency |
|---|---|---|
| Supabase logs | Daily review + anomaly thresholds | ≤24 hours |
| Sentry error reports | Real-time push to security email + SMS | ≤5 minutes |
| Better Stack uptime | 5-minute health check on /health | ≤5 minutes |
| Audit log anomalies | Weekly automated review (e.g. cross-site queries) | ≤7 days |
| Customer report | security@workhive.co.uk | ≤1 hour acknowledgement |
| External researcher | responsible disclosure via security@ | ≤24 hours triage |
Submit at ico.org.uk/for-organisations/report-a-breach or call 0303 123 1113.
Required content (UK GDPR Art 33(3)):
If we cannot give all info within 72 hours, we submit what we have and follow up.
Where the breach affects a customer's data, we email the registered alert_email for that organisation within 72 hours. They are the Controller; they may need to notify their own staff.
Where the breach is high-risk to individuals (financial loss, identity theft, etc.), we coordinate with the customer (Controller) on direct notification to affected staff. This is the Controller's legal obligation under Art 34, but we provide all information needed.
| Role | Responsibility |
|---|---|
| Incident Commander (Scott Calder) | Overall decisions, ICO communication, customer comms. |
| Technical Lead | Containment, forensics, fixes. |
| Communications Lead | Customer email + status page updates + internal comms. |
| Legal & Compliance | ICO submission, sub-processor coordination, insurance claim. |
Until WorkHive grows, all roles default to Scott Calder. External counsel will be retained for any incident classified medium-high risk.
If the workhive_pii_key in Supabase Vault is compromised: rotate immediately, re-encrypt all PII fields with new key, audit for any suspicious queries during exposure window. Treat as high-risk breach if any PII queries occurred from unknown IP.
Service role bypasses RLS. If exposed: roll the JWT secret (invalidates all keys), re-deploy, audit all anonymous-context queries during exposure. Treat as high-risk breach.
If Supabase / Netlify / Resend / Twilio / Anthropic notifies us of a breach: enter our own response process T+0. Their breach is our breach to our customers.
Subject: WorkHive security incident — your action may be required Dear [Owner name], On [date], we detected a security incident affecting your WorkHive workspace. Here is what we know: WHAT HAPPENED [Plain English description of the incident] WHEN Detected: [time]. Resolved: [time or "ongoing"]. DATA AFFECTED [Specific list — names, emails, NI numbers, bank details, etc.] Number of staff affected: [N] WHAT WE'VE DONE [Containment, fix, key rotation, etc.] WHAT YOU SHOULD DO [Specific actions: change passwords, notify staff, monitor accounts] REGULATOR We have notified / will notify the ICO under UK GDPR Article 33. You may also need to notify your staff under Article 34 — we will help with the wording if asked. NEXT STEPS We will publish a full root-cause report by [date]. We are also undertaking [extra controls]. You can reach me directly on this thread or at security@workhive.co.uk. — Scott Calder, Director, SJC Distributions Ltd
This plan is tested via tabletop exercise twice a year (April + October). Each exercise simulates a different breach type. Findings update the plan.
WorkHive carries cyber-incident insurance (£1m cover) via [insurer name]. Policy number on file. Notification to insurer triggered at T+1 hour for any incident classified medium or high risk.
Master copy: this URL. Internal copy stored in 1Password. Both updated together. Material changes communicated to customers via the sub-processor list and email.