Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

iOS 17 & Privacy Manifests


Beginning with iOS 17, Apple released new, mandatory, privacy features. For example, they rolled out Privacy Nutrition Labels(link takes you to an external page). Privacy Nutrition Labels make it possible for users to better understand what information your app collects.


Privacy manifests

privacy-manifests page anchor

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.


To limit fingerprinting, Apple requires developers to declare the reason for using specific APIs(link takes you to an external page). The Analytics-Swift library only uses the userDefaults(link takes you to an external page) API to store user and context information. It is declared in the Privacy Manifest found in the Analytics-Swift library.


Apple also introduced the concept of NSPrivacyTrackingDomains(link takes you to an external page) 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.

(information)

Info

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

analytics-swift-privacy-manifest page anchor

The Segment Privacy Manifest for Analytics-Swift includes an array of Privacy Nutrition Label Types(link takes you to an external page) for the following automatically collected fields:

DataLinked To UserUsed For TrackingReason for Collection
Advertising DataNoNoDeveloper's Advertising or Marketing
Precise LocationYesNoDeveloper's Advertising or Marketing
App VersionNoNoDeveloper's Advertising or Marketing
App NameNoNoDeveloper's Advertising or Marketing
Device IDYesNoDeveloper's Advertising or Marketing

Additional privacy manifests

additional-privacy-manifests page anchor

Generating your privacy report

generating-your-privacy-report page anchor

Follow the steps in Apple's data use in privacy manifests documentation(link takes you to an external page) 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 and a Tracking Plan can help you account for everything being tracked in your app.

(success)

Privacy manifests are not necessary for Device Mode Plugins

Analytics-Swift doesn't collect any additional information or make any network requests to Segment endpoints in Destination Plugins.