データと同期
クラウド同期
E2E暗号化同期の仕組み、Sync Keyの管理、Simple Full Sync
BluePeriod の クラウド同期 は、複数デバイス間でアプリデータを安全に同期する機能です(Pro機能)。すべての通信は エンドツーエンド(E2E)暗号化 されており、運営者であってもデータの内容を閲覧できません。
Zero-Knowledge アーキテクチャ
BluePeriod の同期は、Zero-Knowledge(ゼロナレッジ)の原則に基づいています。
あなたのデバイス Supabase Storage
┌─────────────┐ ┌─────────────┐
│ 平文データ │ ── 暗号化 ──→ │ 暗号化データ │
│ │ │(運営者も │
│ ← 復号 ──── │ ← 暗号化データ ── │ 読めない) │
└─────────────┘ └─────────────┘
↑ ↑
Sync Key は サーバーに保存されるのは
デバイスにのみ 暗号化されたデータのみ
保持される- 暗号化: Web Crypto API による強力な暗号化
- Sync Key: 同期の鍵となるキー。サーバーには送信されず、デバイスにのみ保存
- 保存先: Supabase Storage に暗号化されたデータが保存
- アクセス制御: Row Level Security(RLS)によるアクセス制御
同期のセットアップ
Sync Setup Wizard
初回は Sync Setup Wizard が案内します。
- 同期の有効化 — 設定画面の同期セクションから開始
- Sync Key の設定 — 新規作成または既存キーの入力
- 初期同期 — 既存データのアップロード
Sync Key の管理
Sync Key は同期の暗号化鍵です。以下の点にご注意ください。
- Sync Key はサーバーに送信されません — 紛失した場合、データの復号は不可能です
- 複数デバイスで同期する場合 — 同じ Sync Key をすべてのデバイスで入力する必要があります
- 安全な保管 — Sync Key は安全な場所にバックアップすることを推奨します
Simple Full Sync
現在の同期アーキテクチャは Simple Full Sync(完全バックアップ同期)です。
手動同期
同期は ユーザーの明示的な操作 で実行します。設定画面の同期セクションから、バックアップ(アップロード)と復元(ダウンロード)を手動でトリガーします。
- バックアップ — ローカルのIndexedDB全体を暗号化してクラウドにアップロード
- 復元 — クラウドの暗号化データをダウンロードして復号し、ローカルデータを上書き
同期の確認
実行前には SyncConfirmationDialog が表示され、ローカルとクラウドの状態を比較した上で同期を進めるか確認できます。
同期ステータス
Sync Status Indicator がヘッダーに表示され、現在の同期状態を確認できます。
同期対象データ
クラウド同期では、IndexedDBに保存されているアプリの全データ が対象となります。プロジェクト、キャラクター、チャットセッションなど、主要テーブルがすべて含まれます(localSnapshots はバックアップサイズ肥大化防止のため除外)。
次のステップ
- import-export — 手動でのデータ移行(.blueproject / .blueperiod)
- database-management — ローカルデータベースの管理