一般データ保護規則（GDPR）は、2018年5月から施行されている欧州連合のデータ保護法です。EU域内の個人の個人データを組織がどのように収集、処理、保存するかを規定しています。

全文: [規則 (EU) 2016/679](https://gdpr-info.eu/)

## 条項マッピング

以下の表は、GDPRの特定の条項をRediaccの技術的機能にマッピングしています。

| 条項 | 要件 | Rediaccの機能 |
|------|------|--------------|
| [第5条](https://gdpr-info.eu/art-5-gdpr/)、原則 | データ最小化、完全性、機密性 | CoWクローン（`cp --reflink=always`）はネットワーク転送なしで同一マシン上にデータを複製します。LUKS2 AES-256がすべての保存データを暗号化します。 |
| [第17条](https://gdpr-info.eu/art-17-gdpr/)、消去権 | 要求に応じて個人データを削除 | `rdc repo destroy`がLUKSボリュームを暗号学的に消去します。フォークの削除でクローンされたコピーが完全に除去されます。 |
| [第25条](https://gdpr-info.eu/art-25-gdpr/)、設計によるデータ保護 | デフォルトのプライバシー | 暗号化はオプションではなく必須です。各リポジトリは分離されたDocker daemonと専用ネットワークを持ちます。リポジトリ間のデータ共有はありません。設定ストアはゼロ知識暗号化を使用：設定はアップロード前にクライアント側でAES-256-GCMで暗号化されるため、サーバーは平文データを読めません。 |
| [第28条](https://gdpr-info.eu/art-28-gdpr/)、処理者 | サードパーティデータ処理義務 | セルフホスト型：Rediaccはお客様のインフラで動作します。フォーク、クローン、バックアップ操作中にデータがマシンから出ることはありません。SaaSコンポーネントが個人データを処理することはありません。 |
| [第30条](https://gdpr-info.eu/art-30-gdpr/)、処理記録 | 処理活動の記録を維持 | 監査ログがアカウントレベルの40以上のイベントタイプを追跡：認証、APIトークン、設定ストア操作、ライセンス。`rdc audit` CLIまたは管理ダッシュボードからエクスポート。 |
| [第32条](https://gdpr-info.eu/art-32-gdpr/)、処理の安全性 | 適切な技術的措置 | LUKS2 AES-256保存時暗号化、iptablesと個別Docker daemonによるネットワーク分離、リポジトリごとのループバックIPサブネット（/26）。設定ストアは三層暗号化を使用：時間制限付きSDKキー、分割キーCEK導出（passkey + サーバーシークレット）、組織パスフレーズ暗号化。 |
| [第33条](https://gdpr-info.eu/art-33-gdpr/)、侵害通知 | フォレンジック証跡付き72時間通知 | 監査ログがすべての操作のフォレンジック証跡を提供します。セルフホスト型アーキテクチャが被害範囲を個別リポジトリに限定します。 |

## データレジデンシー

CoWクローンはソースマシンから出ることはありません。`rdc repo fork`コマンドはreflinkを使用してファイルシステムレベルのコピーを作成します。ネットワーク経由でデータが転送されることはありません。

マシン間操作の場合、`rdc repo backup push/pull`がSSH経由でデータを転送します。バックアップ先はオペレーターの認証情報なしでは読み取れないLUKS暗号化ボリュームを受け取ります。

## 環境クローンとデータマスキング

開発やテストのために本番環境をクローンする際、Rediaccfileの`up()`ライフサイクルフックがフォーク作成後にサニタイズスクリプトを実行します：データベースからPIIを除去、実際のメールアドレスをテストアドレスに置換、APIトークンとセッションデータを削除、ログファイルを匿名化。開発環境は本番のIDなしで本番の構造を取得し、データ最小化の原則を満たします（[第5条(1)(c)](https://gdpr-info.eu/art-5-gdpr/)）。

## ゼロ知識設定ストア

オプションの設定ストアにより、デバイス間でCLI設定を同期できます。サーバーが設定内容について一切知識を持たないように設計されています：

- **クライアント側暗号化**：設定はアップロード前にAES-256-GCMで暗号化されます。暗号化キー（CEK）はpasskey PRFシークレットとサーバー保持シークレットからHKDFとドメイン分離を使用して導出されます。どちらの当事者も単独ではキーを導出できません。
- **サーバーは不透明なblobのみ参照**：SSH鍵、認証情報、IPアドレス、ネットワークトポロジー。これらはサーバーから一切見えません。メタデータ（設定ID、バージョン、タイムスタンプ）のみが平文で保存されます。
- **X25519によるメンバーアクセス**：チームメンバーが追加されると、CEKがそのX25519公開鍵で暗号化されサーバー経由で中継されます。サーバーがCEKを平文で見ることはありません。
- **即時失効**：メンバーの削除により、ラップされたCEKが削除されトークンが失効します。将来の設定は、削除されたメンバーがアクセスできない新しいSDKエポックを使用します。
- **ローテーションするトークン**：CLI認証は使い捨てローテーションするトークン（3リクエストの猶予ウィンドウ）を使用し、初回使用時にIPバインドされ、24時間で自動失効します。

サーバーが完全に侵害されても設定内容を公開することはできません。サーバーはキーを持つことがありません。

詳細については、[設定ストレージ](/ja/docs/config-storage)を参照してください。

## データ管理者と処理者

Rediaccはセルフホスト型ソフトウェアであるため、お客様の組織がデータ管理者とデータ処理者の両方です。Rediacc（企業）はお客様のデータにアクセス、処理、保存しません。セルフホスト製品についてRediaccとのデータ処理契約は不要です。個人データがRediaccのインフラストラクチャに流れることはないためです。

設定ストアはRediaccのサーバーに接する唯一のコンポーネントですが（同期のため）、そのゼロ知識設計により、サーバーは復号できない暗号化blobのみを保存します。