Photo: Getty
‘In iOS 17 and beyond, developers will be required to provide justifications for their utilization of specific APIs.’
Apple is set to take action against apps that collect data on users’ devices for tracking purposes, a practice commonly known as “fingerprinting.” An article on Apple’s developer site, discovered by 9to5Mac, reveals that starting with the release of iOS 17, tvOS 17, watchOS 10, and macOS Sonoma, developers will be required to explain why they are using “required reason” APIs. Failure to provide a valid reason will result in app rejection, beginning in spring 2024.
In an effort to prevent the misuse of certain APIs that facilitate device and user identification through fingerprinting, Apple is introducing new rules. The company states that regardless of user permission, fingerprinting is strictly prohibited. Developers will now need to declare the reasons for using these APIs in their app’s privacy manifest.
Some developers have expressed concerns that these new rules may lead to an increase in app rejections. For instance, an API called UserDefaults, which is widely used by apps for storing user preferences, falls into the “required reason” category. However, Apple will rely on developers’ declarations and may impose penalties if false declarations are discovered.
Fingerprinting apps can utilize API calls to gather information about a user’s device, such as screen resolution, model, and operating system, to create a unique identifier or “fingerprint.” This fingerprint can then be used to track users across different apps and websites.
Apple’s battle against tracking began with the release of iOS 14.5 in 2021, which introduced a feature requiring developers to obtain user consent before tracking. Since then, only 4 percent of US iPhone users have agreed to app tracking. Now, Apple aims to address fingerprinting, a technique that emerged in the digital landscape a decade ago. In 2018, Apple took steps to limit fingerprinting on its Safari browser, and now it is extending its efforts to combat the issue within apps as well.