背景
MVP では「テナント停止」を ACTIVE / SUSPENDED の切替のみで実装している(Issue #158〜#161 で確定)。
顧客解約・GDPR 削除要求が現実化した時点で、物理削除またはデータ凍結機構を設計・実装する。
やること(Phase 2 着手時)
解約の業務フロー定義
- 顧客都合の解約 / SaaS 運営側都合の強制解約
- 解約申請から実行までの猶予期間(例: 30 日 / 90 日 / 即時)
- 解約後のデータ復旧可否
データ凍結 vs 物理削除の選択
- 凍結: 読み取り専用化、ログイン不可、データ保持
- 物理削除: 全業務テーブルのカスケード削除
監査ログ・バックアップとの整合
- 解約後も監査ログの保持義務(法令次第)
- バックアップからの復旧経路
API 設計
DELETE /api/tenants/{id} または POST /api/tenants/{id}/terminate 等
- 認可: SaaS Admin のみ + 多要素確認 / 確認ステップ
データモデル変更
tenants.status に DELETED や FROZEN を追加するか別カラムにするか
- 物理削除する場合の全業務テーブルへの
ON DELETE CASCADE 整備
参照
背景
MVP では「テナント停止」を
ACTIVE/SUSPENDEDの切替のみで実装している(Issue #158〜#161 で確定)。顧客解約・GDPR 削除要求が現実化した時点で、物理削除またはデータ凍結機構を設計・実装する。
やること(Phase 2 着手時)
解約の業務フロー定義
データ凍結 vs 物理削除の選択
監査ログ・バックアップとの整合
API 設計
DELETE /api/tenants/{id}またはPOST /api/tenants/{id}/terminate等データモデル変更
tenants.statusにDELETEDやFROZENを追加するか別カラムにするかON DELETE CASCADE整備参照