Documentation

Support

Vivox Voice & Text

Vivox Voice & Text

Apple privacy manifest

Add the privacy manifest file required for iOS application submission to the Apple App Store.
Read time 2 minutesLast updated 2 days ago

To publish applications for iOS, iPadOS, tvOS, and visionOS platforms on the App Store, you must include a privacy manifest file in your application as per Apple’s privacy policy.
Note
  • In some jurisdictions, voice data may be considered biometric data.
  • Device ID (IDFV) is only collected if using an unsupported version of the Vivox SDK.
  • Other diagnostic data refers to analytics data based on an algorithm driven by a hash of the User or Device ID iOS API call.
  • Other data types refers to in-app voice and text communication.
Whening working in the Unity Engine, Vivox's build process will take care of adding the privacy manifest to your Xcode project for iOS and visionOS builds. For macOS, you must include the file in your project before posting your app to the App Store. You can find the PrivacyInfo.xcprivacy in your Unity project under Packages > Vivox > Plugins > x86_64 > PrivacyInfo.xcprivacy. For more information on Privacy manifest files when developing a Unity game, refer to this page of the official Unity forums.

Add the PrivacyInfo.xcprivacy file to your Unreal project

The Vivox build process will add the privacy manifest to any generated Xcode projects and to your packaged builds. Alternatively, you can use the code sample below these steps to create the PrivacyInfo.xcprivacy file yourself. When you are submitting your application to the App Store, follow these steps:
  1. Generate the Xcode project for your game using steps from the Unreal documentation.
  2. Include the Privacy manifest file of any other third-party SDK's you’re using.
  3. Verify that your application doesn't use any required reason APIs.
    1. If it does, generate an extra PrivacyInfo.xcprivacy file for your game following Apple's documented steps.
  4. Generate an archive from Xcode using the Product > Archive menu option.
  5. Once complete, right-click your application bundle in the popup window and generate the privacy report to answer Apple's privacy-related questions.
  6. Follow Apple documentation to upload your build to App Store Connect (Apple documentation).

PrivacyInfo.xcprivacy

The following code sample contains the PrivacyInfo.xcprivacy manifest for the Vivox SDK.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>NSPrivacyTracking</key> <false/> <key>NSPrivacyCollectedDataTypes</key> <array> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeOtherDataTypes</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeOtherDiagnosticData</string> <key>NSPrivacyCollectedDataTypeLinked</key> <false/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeAnalytics</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypePerformanceData</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeProductInteraction</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeDeviceID</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeUserID</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeAudioData</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeOther</string> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeSensitiveInfo</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeOther</string> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> <dict> <key>NSPrivacyCollectedDataType</key> <string>NSPrivacyCollectedDataTypeCoarseLocation</string> <key>NSPrivacyCollectedDataTypeLinked</key> <true/> <key>NSPrivacyCollectedDataTypeTracking</key> <false/> <key>NSPrivacyCollectedDataTypePurposes</key> <array> <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string> </array> </dict> </array></dict></plist>