プライバシーポリシー
最終更新日:2026年5月
Private Vault(以下「本アプリ」)は、ユーザーのプライバシーを最優先に設計されています。本ポリシーでは、本アプリが扱うデータ、私たちが守る原則、そしてデータがデバイスの外に出るわずかな例外について説明します。本ポリシーは、iOSおよびmacOS上の本アプリに適用されます。本ポリシーは、Android上の本アプリに適用されます。
基本原則 — ゼロ知識設計
本アプリは、すべての写真・動画・パスワード・メタデータフィールドをデバイス上で暗号化します。暗号化にはAEAD暗号(ChaCha20-Poly1305)を用い、その鍵は、あなたのPINからArgon2id(メモリ64 MiB、3回の反復、並列度4)によって導出された256ビットのマスターキーです。マスターキーは揮発性のRAM上にのみ存在し、ボールトがロックされた瞬間に消去されます。
- iOS · macOS ラップされた鍵は、Secure Enclaveに裏打ちされたiOS/macOSのキーチェーンに、生体認証バインディングとともに保持されます。
- Android ラップされた鍵は、EncryptedSharedPreferencesを介してAndroid Keystoreに保持され、BiometricPromptによる確認後にのみ解放されます。
私たちは暗号鍵を保持しません。暗号化されたデータも保持しません。あなたがボールトに保存したものは、サーバー側に一切コピーされません。
デフォルトで収集するデータ
なし。 初期状態のまま、すべての任意トグルがデフォルトの状態であれば、Private Vaultは以下を行いません:
- ユーザーアカウントの登録・管理
- サードパーティの広告SDK(AdMob、Meta Audience Networkなど)の組み込み
- 位置情報の収集(写真ファイルに埋め込まれたEXIFのGPS情報はデバイス上にとどまり、インポートごと、または設定で全体的に削除できます)
- AppleのPHPickerAndroidのシステムフォトピッカーを通じてあなたがアセットを明示的に選択することなく、システムの写真ライブラリを読み取ること
- ボールトの内容(暗号化されたデータ、復号された平文、マスターキーの素材、パスワードフィールド、ファイルのバイト列)を、私たちが管理するいかなるサーバーにも送信すること
- デフォルトでクラウドに同期すること(暗号化されたデータのみのiCloud同期にオプトインできます — 下記の「iCloud同期」セクションを参照)
- いかなるデータもクラウドに同期すること(Android版はいかなる種類のクラウド同期も行いません)
本アプリには、有効にした場合に限定された範囲のデータをサードパーティへ送信する、3つの任意機能が同梱されています。これらは以下のセクションで説明します。
Androidでは、何らかのデータを送信する任意機能は、下記のHaveIBeenPwned漏洩チェックのみです。
任意のiCloud同期 iOS · macOS
iOSおよびmacOSでは、ボールトをあなた自身のApple製デバイス間で移動できるよう、任意のiCloud同期機能を提供しています。この機能はオプトインで、初期設定はOFFです。設定 → iCloudと同期から有効化できます。
iCloud同期を有効にすると、以下のもの — そしてこれらのみ — が、あなた自身のプライベートなiCloudデータベース内で、AppleのCloudKitインフラを経由します:
- 暗号化されたデータの暗号文。 写真や動画のデータは、ディスク上に存在する既に暗号化済みのバイト列で構成されたCloudKitアセット(
CKAsset)としてアップロードされます。同期層が平文を見ることはなく、暗号文のディスク上のパスがそのままCloudKitに渡されます。 - SwiftDataのメタデータ。 項目を列挙するために用いるコンテンツ以外のメタデータ(安定した識別子、並び替え用のタイムスタンプ、同期状態フラグ)は、CloudKitに裏打ちされたSwiftDataストアに保存されます。機密性の高いフィールド(パスワードのテキスト、ファイルのバイト列、あなたが入力した名前)は、別の非同期ストアに保持され、この方法で複製されることはありません。
- PINでラップされたマスターキー。 2台目のデバイスでボールトをロック解除するには、同じPINを入力する必要があります。PINでラップされた鍵はiCloudキーチェーンに保存され、Appleのエンドツーエンド暗号化されたキーチェーン同期で複製できるよう、アクセスクラスが
WhenUnlockedThisDeviceOnlyからWhenUnlockedに緩和されます。マスターキー自体はラップされたままであり、Appleが目にするのは常に暗号文のみです。
これに決して含まれないもの:復号されたボールトの内容、平文のマスターキー、あなたのPIN、その他あなたのPINなしに読み取れるものは一切含まれません。私たちもAppleも、iCloudのデータだけからあなたのボールトを復号することはできません。
iCloudのデータは、あなたのiCloudアカウントの下でAppleによって処理され、AppleプライバシーポリシーおよびあなたがAppleと取り交わしたiCloud利用規約に準拠します。トグルをオフにすると以後のアップロードが停止します。既にアップロード済みの暗号文は、iCloudからサインアウトするか、設定 → Apple ID → iCloud → ストレージを管理から本アプリのiCloudコンテナを削除することで除去できます。
診断 — Firebase Crashlytics iOS · macOS
iOSおよびmacOSでは、本アプリにGoogle LLC提供のFirebase Crashlytics(クラッシュおよび非致命的エラーのレポート)が同梱されています。クラッシュや非致命的エラーを調査できるよう、初期設定で有効になっています。いつでもオプトアウトできます。設定 → 診断のマスタースイッチをオフにすると、その変更は即座に反映され、アップデート後も維持されます。
有効な場合、診断層は以下のもの — そしてこれらのみ — をGoogleのFirebaseバックエンドに送信します:
- Crashlytics: クラッシュのスタックトレース、非致命的な
NSErrorレコード、アプリの状態遷移を表す不透明なブレッドクラム文字列(例:「migration started」「import succeeded count=N」)、CrashlyticsのインストールUUID、アプリおよびOSのバージョン、デバイスのモデル。 - ファイル名やパスの引数は、Crashlyticsに到達する前に呼び出し元でSHA-256ハッシュ化されます。そのため、ブレッドクラムのメタデータに実際のファイルパスが含まれることはありません。
診断層は以下を決して送信しません:写真、動画、ファイルのバイト列、実際のファイル名やパス、パスワード、暗号鍵、マスターキーの素材、パスワードフィールドの内容、復号されたボールトの内容。
診断は新規インストールでは初期設定で有効です。トグルに一度も触れていない既存のインストールでは、このアップデート後の次回起動時に新しいデフォルトが適用されます。以前にオプトアウトしている場合は、その選択が維持されます。無効にすると以後レポートは生成されませんが、既にディスク上にキューされているレポートは送信を完了する場合があります。本機能でGoogleが処理するデータは、Firebaseのプライバシーとセキュリティに関するポリシーおよびGoogleプライバシーポリシーに準拠します。
診断 Android
Android版には、解析、クラッシュレポート、Firebase SDKが一切組み込まれていません。 診断データがデバイスの外に出ることはなく、無効にするものが何もないため、トグルも不要です。
HaveIBeenPwned漏洩チェック 全プラットフォーム
パスワードのヘルスチェック機能にオプトインした場合に限り、本アプリはk-匿名性プロトコルを用いてapi.pwnedpasswords.comに問い合わせます:
- あなたのパスワードはデバイス上でSHA-1によりハッシュ化されます。
- そのハッシュのうち
先頭5桁の16進数のみがデバイスから送信されます。 - パスワードそのもの、完全なハッシュ、いかなるユーザー識別子も送信されることはありません。
- HaveIBeenPwnedのサーバーは送信者を特定できません。5文字のプレフィックスは、何十万もの異なるハッシュで共有されているためです。
- この機能は初期設定でオフであり、設定 → セキュリティ → パスワードのヘルスチェックからいつでも無効にできます。
私たちが要求するデバイス権限
すべての権限は、あなたが明示的に操作したときにのみ使用されます。権限を付与したことの副作用として、データがデバイスの外に送信されることはありません。
iOS · macOS Appleプラットフォーム
- カメラ — ボールト内でのアプリ内撮影のためにのみ使用します。アプリ内で撮影した写真や動画が、システムのカメラロールに保存されることはありません。
- 写真ライブラリ — AppleのPHPicker UIを通じてあなたが明示的に選択したアセットのインポートにのみ使用します。本アプリがライブラリ全体をスキャンすることはありません。
- Face ID / Touch ID — ボールトのロック解除に使用します。生体認証のテンプレートはデバイスのSecure Enclave内にとどまり、本アプリが受け取るのは可否の判定のみです。
- iOS AutoFill資格情報プロバイダ — Appleの安全なシステム機構を介して、他のアプリへ資格情報を自動入力するために使用します。資格情報は、生体認証またはPINによる確認後にのみ解放されます。
Android Android
- カメラ — ボールト内でのアプリ内撮影のためにのみ使用します。アプリ内で撮影した写真や動画が、システムのメディアストアに保存されることはありません。
- 写真 — Androidのシステムフォトピッカーを通じてあなたが明示的に選択したアセットのインポートにのみ使用します。本アプリは
READ_MEDIA_IMAGES/READ_MEDIA_VIDEOを要求せず、あなたのライブラリを列挙することはできません。 - 生体認証(指紋 / 顔) —
BiometricPromptを介したボールトのロック解除に使用します。生体認証のテンプレートはデバイスのセキュアハードウェア内にとどまり、本アプリが受け取るのは可否の判定のみです。 - Android Autofillフレームワーク — システムのAutofillサービスを介して、他のアプリへ資格情報を自動入力するために使用します。資格情報は、生体認証またはPINによる確認後にのみ解放されます。
データの保持と削除
すべてのボールトデータはあなたのデバイス上に保存され、本アプリ内で削除した時点で除去されます。設定(危険な操作ゾーン)のボールトをリセット操作は、すべての暗号化されたデータ、すべてのデータベース行、マスターキーのラップ、そしてすべての設定状態を、完全かつ不可逆的に削除します。私たちはあなたのボールトデータをサーバーに一切保存しないため、ボールトデータの削除依頼を送る宛先は存在しません。
iCloud同期を有効にしている場合、あなたのプライベートなiCloudデータベースに以前アップロードされた暗号文は、iCloudからサインアウトするか、設定 → Apple ID → iCloud → ストレージを管理から本アプリのiCloudコンテナを削除することで除去されます。あなたのインストールに紐づくFirebase Crashlyticsのデータについては、Googleの標準的な保持ポリシーが適用されます。本アプリを削除して再インストールすると、新しい匿名のインストールIDが生成されます。
Android版はクラウド同期を行わず、診断も一切組み込んでいないため、削除すべきデバイス外のコピーはいかなる種類も存在しません。本アプリ内でデータを削除するか、本アプリをアンインストールすれば、すべてが除去されます。
子どものプライバシー
本アプリは13歳未満の子どもを対象としていません。私たちは13歳未満の子どもから個人情報を意図的に収集することはありません。
ポリシーの変更
本ポリシーを更新する場合は、本ページ上部の「最終更新日」を改訂します。デバイスの外に出るものを拡大するような重要な変更については、変更が反映される前にアプリ内で通知を表示します。
お問い合わせ
プライバシーに関するご質問は、ndlab.contact@ndlab.jpまでご連絡ください。