Skip to main content

Decommissioning & Data Deletion Procedure

Document control

FieldValue
OwnerRon Benisty — CTO & CSO (ron.b@iontwrks.com)
StatusApproved
Version1.0
ClassificationConfidential
Approved byRon Benisty — CTO & CSO
Approval date2026-05-26 (Tuesday)
Last reviewed2026-05-26
Review cycleAnnual — next review due May 2027
Parent policySecure SDLC (SSDLC)

Satisfies ISO/IEC 27001:2022 A.8.10 (information deletion) and A.5.11 (return / removal of assets); supports GDPR Article 17 (right to erasure) and Amendment 13 deletion obligations. Closes Gap 16 of the SSDLC gap analysis. The technical mechanism is built into the architecture (Multi-Tenancy, Architecture); this policy states the procedure.


1. Triggers

TriggerProcedure
Tenant cancellation or non-renewal (per Admin user flow — Clients, the annual access toggle)§2 — Tenant decommissioning
GDPR / Amendment 13 right-to-erasure request§2 — Tenant decommissioning (with anonymization tombstone — see §2a)
S.E.T-team departure§3 — Staff offboarding
Contractor-developer departure§3 — Contractor offboarding
Sub-processor change / removal§4 — Sub-processor offboarding

2. Tenant decommissioning procedure

StepActionSystemOwnerSLA
1Confirm authorization (signed cancellation / verified erasure request)InternalCTO & CSOImmediate
2Disable the WorkOS Organization (tenant's auth)WorkOSS.E.T team≤ 1 hour after step 1
3Revoke all active tenant access tokens / refresh tokensWorkOS + APIS.E.T teamImmediate at step 2
4Place tenant in grace period (read-only export available to the MSSP)ApplicationS.E.T team30 days
5At end of grace: DROP SCHEMA tenant_xxx CASCADE (Multi-Tenancy §Strengths)PostgresS.E.T teamDay 31
6Purge tenant prefix from S3 Evidence + Documents buckets (delete all object versions)S3S.E.T teamDay 31
7If BYOK premium with per-tenant KMS key — schedule key deletion (7-day grace, then destroy)KMSS.E.T teamDay 31 + 7
8Tenant audit_events retention — see §2a belowPostgresS.E.T teamPer §2a
9Cross-region encrypted backups age out per existing lifecycle (35 d PITR) — no separate action; document the cutoff dateAWS BackupCTO & CSOLogged at day 31
10Object-Locked S3 backup archive — Object Lock retention period continues to run; deletion record notes the eventual expiry dateS3 Backup bucketCTO & CSOLogged at day 31
11Issue Deletion Certificate to the MSSP — signed PDF: tenant ID, schema name, scope of deletion, dates, residual-retention notes for §9–§10InternalCTO & CSODay 31
12Record the decommissioning in the Evidence RegisterInternal logCTO & CSODay 31

2a. Audit-log retention exception

The customer audit_events table is normally retained for 7 years (regulatory). On tenant decommissioning:

  • Default: retained 7 years inside an archived schema (read-only role; not loaded into the live cluster) so regulator / auditor lookups remain possible.
  • GDPR Article 17 right-to-erasure: replace personally identifying fields with hashes / sentinels (anonymize) and keep a tombstone row per event for control-integrity purposes; record the erasure in the Deletion Certificate.

This balance — keep the audit history, remove the PII — is what GDPR Recital 26 / Article 17(3)(b)(e) explicitly contemplates for regulated records.

3. Staff & contractor offboarding

IdentityAccess removedSLAReference
S.E.T-team memberGitHub, AWS IAM (all accounts), WorkOS admin, Logz.io, Cloudflare, hardware MFA tokens collected≤ 24 hoursAccess Reviews §4
Contractor developerGitHub collaborator removed; any session tokens revoked≤ 24–48 hoursSupply Chain §3 contract clauses
Compromised credentialRevoked immediately as part of IRImmediateIncident Response

Offboarding produces an access-revocation record retained ≥ 12 months (Evidence Register).

4. Sub-processor offboarding

When a sub-processor is removed (replaced or de-scoped):

  1. Disable / revoke all integration credentials at the sub-processor.
  2. Confirm the sub-processor has deleted S.E.T data per their DPA + obtain a deletion certificate from them.
  3. Update the customer DPA sub-processor list; notify customers per the DPA-mandated notice period.
  4. Update Architecture and any other doc referencing the sub-processor.
  5. Archive the change in the Evidence Register.

5. Media / physical decommissioning (out of scope today)

S.E.T runs entirely on AWS / GitHub / WorkOS / Cloudflare / Logz.io — no physical media owned by S.E.T. AWS handles device sanitization for retired EBS / S3 storage per their own SOC 2 / ISO 27001 controls; we point at AWS's published shared-responsibility model rather than running our own physical-decommissioning procedure.

6. Document change history

VersionDateAuthorDescription of changeApproved by
1.02026-05-26Ron Benisty (CTO & CSO)Initial version — establishes tenant, staff, contractor, and sub-processor decommissioning procedures.Ron Benisty (CTO & CSO)