# iOS 17 & Privacy Manifests

Beginning with iOS 17, Apple released new, mandatory, privacy features. For example, they rolled out [Privacy Nutrition Labels](https://www.apple.com/privacy/labels/). Privacy Nutrition Labels make it possible for users to better understand what information your app collects.

## Privacy manifests

While developers are ultimately responsible for creating Privacy Nutrition Labels, it can be difficult to know exactly what their third-party SDKs track. To make this easier, Apple introduced Privacy Manifests in iOS 17. All of your app's third-party SDKs should include a Privacy Manifest.

## Required Reason API

To limit fingerprinting, Apple requires developers to [declare the reason for using specific APIs](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api#overview). The Analytics-Swift library only uses the [`userDefaults`](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api#4278401) API to store user and context information. It is declared in the Privacy Manifest found in the Analytics-Swift library.

## Tracking domains

Apple also introduced the concept of [NSPrivacyTrackingDomains](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files#4284009) to Privacy Manifests in iOS 17. This is an array of strings that lists the URLs the app connects to in order to aid in tracking. If the user hasn't granted tracking permission through the App Tracking Transparency framework, network requests to these domains fail and your app receives an error. The Analytics-Swift Privacy Manifest includes the endpoint Segment events are sent to.

> \[!NOTE]
>
> If you set NSPrivacyTracking to `true`, then you need to provide at least one internet domain in NSPrivacyTrackingDomains; otherwise, you can provide zero or more domains.

## Analytics-Swift Privacy Manifest

The Segment [Privacy Manifest for Analytics-Swift](/docs/segment/connections/sources/catalog/libraries/mobile/apple/) includes an array of [Privacy Nutrition Label Types](https://developer.apple.com/app-store/app-privacy-details/#data-type) for the following automatically collected fields:

| Data               | Linked To User | Used For Tracking | Reason for Collection                |
| ------------------ | -------------- | ----------------- | ------------------------------------ |
| `Advertising Data` | No             | No                | Developer's Advertising or Marketing |
| `Precise Location` | Yes            | No                | Developer's Advertising or Marketing |
| `App Version`      | No             | No                | Developer's Advertising or Marketing |
| `App Name`         | No             | No                | Developer's Advertising or Marketing |
| `Device ID`        | Yes            | No                | Developer's Advertising or Marketing |

## Additional privacy manifests

* [Analytics-Swift Engage Plugin](/docs/segment/connections/sources/catalog/libraries/mobile/apple/)
* [Analytics-iOS (Classic)](/docs/segment/connections/sources/catalog/libraries/mobile/apple/)

## Generating your privacy report

Follow the steps in Apple's [data use in privacy manifests documentation](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests) to generate your privacy report. Privacy manifests make it easier to account for the data collected by third-party SDKs, but should not be considered as a comprehensive list for your privacy report. Your privacy report is also subject to your Segment tracking implementation. If you're not certain about all of the data you're collecting, [Protocols](/docs/segment/protocols/) and a [Tracking Plan](/docs/segment/protocols/tracking-plan/create/) can help you account for everything being tracked in your app.

> \[!TIP]
>
> Analytics-Swift doesn't collect any additional information or make any network requests to Segment endpoints in Destination Plugins.
