データの保持と削除 (Retention & Deletion)
ステータス
担当者: Tech lead · ステータス: draft · 正式な情報源: Flezi Galaxy の codebase
このドキュメントでは、ユーザーまたは顧客組織がサービスの利用終了を求めた場合のデータ保持ポリシーと削除手順 (Right to be Forgotten) を説明します。
データ領域ごとの保持期間
| データ領域 | デフォルトの保持期間 | 削除メカニズム |
|---|---|---|
| 会話とメッセージデータ | ユーザーが削除するまで、または Workspace を削除するまで | DB で soft-delete し、30 日後に完全削除 |
| 添付ファイルとドキュメント | ユーザーが KB からドキュメントを削除するまで | Azure Blob Storage から完全削除 |
| Redis Stream event データ | 最大 24 時間 | TTL により自動的に期限切れ |
| Sandbox container データ | session 単位 (idle 最大 2 時間) | container と一時 disk volume を完全に破棄 |
| 監査ログ (Audit Logs) | 365 日 | コンプライアンス監査のために保管 |
組織の Offboarding と削除プロセス (Offboarding & Deletion)
企業顧客が組織アカウントの解約を求めた場合:
- 組織の全メンバーのアクセス権を凍結します。
- PostgreSQL 内の workspace、agent、workflow、および関連データを論理的に削除します。
- 対象組織の Azure Blob Storage container にあるすべてのファイルを revoke して削除します。
- データ削除の確認記録を顧客に送付します。
現在の対策
- 重要なリソースの削除コマンドには
ORG_ADMINまたはSYSTEM_ADMINの権限が必要です。 - cascade delete が正しい順序で実行され、孤立レコード (orphaned records) を残さないことを保証します。
証跡 (file / config)
flezi.app.api.backend/app/database/models/flezi.app.api.backend/app/features/workspaces/service.py
制限事項とロードマップ
- Org Admin が削除前に全データを JSON/ZIP 形式でダウンロードできるセルフサービス (Self-service Export & Delete) ツールを構築します。