App Store privacy answers
Last updated
Answers for App Store Connect → App Privacy when your iOS app uses a
Whisperr SDK. They come from the Swift SDK’s privacy manifest
(PrivacyInfo.xcprivacy) and from what the SDKs send.
You own your app’s answers: also declare the data that the rest of your app
collects.
Which data types do I declare?
Section titled “Which data types do I declare?”| Data type | When to declare it | Linked to the user | Used for tracking |
|---|---|---|---|
| Identifiers → User ID | You call identify() | Yes | No |
| Identifiers → Device ID | Always (the random anonymous_id, and the push token when you send one) | Yes | No |
| Usage Data → Product Interaction | Always (app opens, screens, your events) | Yes | No |
| Contact Info → Name | You send first_name or another name trait | Yes | No |
| Contact Info → Email Address | You send an email address in identify() | Yes | No |
| Contact Info → Phone Number | You send a phone number in identify(). Whisperr does not send SMS today, so you don’t need to send a phone number. | Yes | No |
| Purchases → Purchase History | Your events carry purchases (plan, amount) | Yes | No |
| Diagnostics → Crash Data | Your app uses Swift 0.7.0, React Native 0.7.0 or Flutter 0.8.0 or later (app_crashed) | Yes | No |
| Diagnostics → Other Diagnostic Data | Same versions (app_error: error type and fingerprint) | Yes | No |
| Location → Coarse Location | Decide for your app: Whisperr derives the country from the IP address of each event request and stores it with the event as context.country | Yes | No |
The Swift SDK’s manifest declares User ID, Device ID and Product Interaction,
and from 0.7.0 also Crash Data and Other Diagnostic Data. Xcode includes it
in the privacy report it builds for your app. If you set
captureErrors: false and never call trackError(), the SDK still sends
app_crashed, so keep Crash Data. Declare the
other rows in App Store Connect when your code sends that data.
Event properties and traits carry whatever your code puts in them. If they hold another data type, declare it too.
Which purposes do I select?
Section titled “Which purposes do I select?”For each data type above except the Diagnostics rows, select:
- Analytics
- Product Personalization
- Developer’s Advertising or Marketing (Whisperr sends your retention messages to your users)
For Crash Data and Other Diagnostic Data, select Analytics and App Functionality. These are the purposes in the Swift SDK’s manifest (the Diagnostics purposes from 0.7.0).
Do I answer Yes to tracking?
Section titled “Do I answer Yes to tracking?”Answer No for Whisperr. The SDKs do not read the IDFA. The Swift SDK’s
manifest declares no tracking (NSPrivacyTracking is false, with no
tracking domains). Whisperr processes the data for you, and it does not sell
it or use it for advertising. See the
privacy policy.
What about React Native and Flutter apps?
Section titled “What about React Native and Flutter apps?”The React Native and Flutter SDKs send the same kinds of data as the Swift SDK, but they ship no privacy manifest of their own. Give the same answers in App Store Connect.
Common questions
Does the Whisperr SDK need the App Tracking Transparency prompt?
Not for Whisperr. The SDKs do not read the IDFA, the Swift SDK's manifest declares no tracking, and Whisperr does not sell the data or use it for advertising. Other SDKs in your app may still need the prompt.
Do the React Native and Flutter SDKs ship a privacy manifest?
No. Only the Swift SDK ships PrivacyInfo.xcprivacy. For React Native and Flutter apps, enter the same answers in App Store Connect yourself.