# App Store privacy answers

> How to answer the App Store Connect App Privacy questions when your iOS app uses the Whisperr Swift, React Native or Flutter SDK.

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](/privacy/sdk-data/). You own your app’s answers: also declare the data that the rest of your app collects.

## 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?

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?

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](https://whisperr.net/privacy/).

## 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.

Source: https://docs.whisperr.net/privacy/app-store/
