Privacy Manifest(.xcprivacy)完全ガイド2026
2024年5月以降、App Storeに提出するすべてのiOSアプリにPrivacy Manifestファイルの同梱が必須となりました。 このガイドでは、PrivacyInfo.xcprivacyファイルの作成方法から記載すべき内容、よくあるミスまでを詳しく解説します。
Privacy Manifestとは
Privacy Manifest(プライバシーマニフェスト)は、アプリがどのようなデータを収集し、どのAPIを使用しているかをAppleに申告するための構造化ファイルです。 ファイル名は PrivacyInfo.xcprivacy で、XMLベースのplist形式で記述します。
このファイルがないか、記載内容が不完全な場合、App Store審査でリジェクトされます。 また、App Store Connectのプライバシー栄養ラベルとの整合性も自動チェックされます。
ファイルの作成方法
- Xcodeでプロジェクトを開く
- メニューから File > New > File を選択
- フィルタで「Privacy」と検索し、App Privacy テンプレートを選択
- ファイル名を
PrivacyInfoのままにして保存 - アプリのメインターゲットに追加されていることを確認
⚠️ 注意
ファイルがapp bundleのルートに配置されていることを確認してください。フレームワークやSDKの中だけに存在してもアプリ本体の申告にはなりません。
記載が必要な4つのセクション
1. NSPrivacyAccessedAPITypes(使用するAPIカテゴリ)
アプリが使用する「必要な理由API」を申告します。以下のAPIカテゴリが対象です:
- ファイルタイムスタンプ(NSFileManagerAPI)
- システムブート時間(NSSystemBootTimeAPI)
- ディスク容量(NSDiskSpaceAPI)
- ActiveKeyboards(NSActiveKeyboardsAPI)
- UserDefaults(NSUserDefaultsAPI)
各APIカテゴリに対して、使用する理由コード(例: DDA9.1)を指定する必要があります。
2. NSPrivacyCollectedDataTypes(収集するデータ)
アプリが収集するデータの種類を申告します。主な項目:
- メールアドレス・電話番号(連絡先情報)
- 位置情報(正確な位置・おおよその位置)
- 購入履歴・閲覧履歴
- デバイスID・広告ID
- 利用状況データ・クラッシュデータ
3. NSPrivacyCollectedDataTypePurposes(収集目的)
各データ種類に対して、収集目的を申告します。目的コードには「AppFunctionality」「Analytics」「DeveloperAdvertising」「ThirdPartyAdvertising」などがあります。
4. NSPrivacyTracking(トラッキングの有無)
アプリがATT(App Tracking Transparency)の定義に基づくトラッキングを行う場合は true、行わない場合は false を設定します。
サードパーティSDKへの対応
Firebase・Adjust・AppsFlyerなどのサードパーティSDKを使用している場合、それらSDKのPrivacy Manifestも統合する必要があります。
Swift Package Manager(SPM)やCocoaPodsで追加したSDKは、Xcode 15以降では自動的に統合されます。 ただし、手動で追加したフレームワークは個別に対応が必要です。
確認方法:Xcodeの「Product > Archive」後、「Distribute App」の「Privacy Report」でPDFレポートが生成され、Privacy Manifestの統合状況を確認できます。
よくあるミスと対処法
✗ APIカテゴリの申告漏れ
→ UserDefaultsやFileManagerを使っている場合は必ず申告。静的解析ツール(Instruments)でAPIの使用状況を確認してください。
✗ データ収集目的の過小申告
→ 「使っていないけど念のため」という記載漏れが後でリジェクト原因になります。実際の処理と完全に一致させてください。
✗ ターゲット設定の誤り
→ PrivacyInfo.xcprivacyがアプリターゲットに追加されているか確認。テストターゲットのみに追加しても意味がありません。
✗ App Store Connectとの不一致
→ Privacy Manifestと、App Store Connectのプライバシー栄養ラベルの内容が一致している必要があります。両方を同時に更新してください。