Security

Research

Meta, Spotify break Apple's device fingerprinting rules – new claim

And the iOS titan doesn't seem that bothered with data leaking out


Updated Last week, Apple began requiring iOS developers justify the use of a specific set of APIs that could be used for device fingerprinting.

Yet the iGiant doesn't appear to be making much effort to ensure that the likes of Meta and Spotify comply with the rules, it's claimed.

Google was also accused of breaking Cupertino's rules, though the web giant insists it's not doing anything wrong; see the update below.

What's the issue?

Device fingerprinting involves collecting information about various device settings and components, then combining those into a single identifier that's likely to be unique and thus useful for targeting people with ads and other stuff tailored to their individual interests and circumstances.

There are other forms of fingerprinting involving browser settings, the HTML Canvas element, WebGL, fonts, and so on, some of which have legitimate commercial applications, such as bot detection. But digital fingerprinting can also be used to violate privacy and track people online.

We found out that apps such as Google Chrome, Instagram, Spotify, and Threads don’t adhere to their declared reasons

While Apple allows user tracking if permission has been granted, it mostly forbids device-level fingerprinting on iOS, at least in theory. It made that policy official in a recent blog post.

As such the iBiz now requires app developers to supply among other things reasons for using any of its designated "required reason APIs" that can be used for device fingerprinting.

Crucially, data collected from these interfaces, which could be used for fingerprinting, must stay on the user's device to maximize privacy.

The iPhone maker explains as much in its developer documentation. "Some APIs that your app uses to deliver its core functionality — in code you write or included in a third-party SDK — have the potential of being misused to access device signals to try to identify the device or user, also known as fingerprinting," the Apple's developer website states. "Regardless of whether a user gives your app permission to track, fingerprinting is not allowed."

Examples of these fingerprint-friendly APIs include: File timestamp APIs, System boot time APIs, Disk space APIs, Active keyboard APIs, and User defaults APIs.

As of May 1, 2024, apps that fail to include reasons for using these APIs in their privacy manifest file won't be accepted in the iOS App Store. Previously, Apple just sent non-compliant developers an email warning.

According to developers Talal Haj Bakry and Tommy Mysk, several major app makers are simply ignoring Apple's requirements, and using tracker-happy APIs without sticking to the rules. Big Tech players like Google, Meta, and Spotify - the duo claim - are providing reasons for this API usage, collecting that data, and then not abiding by the requirement to keep that information on the device.

In other words, Google, Meta, and Spotify are all collecting at least some info from these APIs and then sending that data off-device seemingly against Apple's rules, we're told.

"To prevent misuse of these APIs, Apple will reject apps that don’t describe their use of the APIs in their privacy manifest file," the pair explain in an advisory. "However, we found out that apps such as Google Chrome, Instagram, Spotify, and Threads don’t adhere to their declared reasons."

The Register asked Google, Meta, and Spotify whether they are in fact using these "required reason APIs" for iOS device fingerprinting and beaming that data off to backend servers, and we've not heard back from the last two. A Google spokesperson confirmed it is looking into the report, but didn't immediately have a response.

"It's hard to tell if the apps are using the information for fingerprinting or not," said Mysk in a message to The Register. "But Apple already classified a set of APIs that can potentially be used for fingerprinting. Apps accessing such APIs must declare the reasons why they need such access."

Apple has published a list of valid reasons for using certain APIs that reveal information useful for fingerprinting. For example, iOS provides an API called systemUptime that can be queried to provide the time elapsed since the device was last restarted.

Developers who want to use this API can select from several allowed reasons, one which must be declared in a manifest file. Google for example has chosen 35F9.1, with italics added by us for emphasis:

Declare this reason to access the system boot time in order to measure the amount of time that has elapsed between events that occurred within the app or to perform calculations to enable timers.

Information accessed for this reason, or any derived information, may not be sent off-device. There is an exception for information about the amount of time that has elapsed between events that occurred within the app, which may be sent off-device.

Although Apple's rule plainly states that uptime data cannot be sent off-device, Google Chrome appears to be doing just that, based on network data analysis from Bakry and Mysk. The rule does allow for an exception, but one that doesn't apply to Chrome.

"No, this exception is about using the system uptime on-device locally to order events for example," Mysk told The Register, explaining that Google has the option to transmit relative time intervals between two events but not the absolute device uptime number.

Mysk argues that Apple's "required reason APIs," like its Privacy Nutrition Labels, amount to privacy theater because there appears to be no enforcement.

"Just like the Privacy Nutrition Labels, developers are free to enter what they please," said Mysk.

"Apple doesn't seem to review if the description is accurate or not. While the nutrition labels are visible to the users, the required reason API isn't. So, it is not clear how that is going to prevent fingerprinting and enhance user privacy if Apple doesn't check the reasons developers submit."

Cupertino did not respond to a request for comment. ®

Updated to add on May 7

Google's spokespeople have assured us that, having looked into this issue, the data taken off-device is not used for tracking, and the software is working as expected.

“We’ve reviewed the research and determined that Chrome’s behavior does not violate Apple’s policy, and the data is not being used for fingerprinting,” a spokesperson told us.

“Instead, this data is being used to ensure proper device functionality.”

According to Google, the data being sent off device is not derived from the required reason APIs but is being used to maintain clock accuracy when affected by situations like time zone changes.

Send us news
29 Comments

Under pressure from Europe, Apple makes iOS browser options bit more reasonable

Cupertino quits screwing around with defaults – for those in the EU

GPT apps fail to disclose data collection, study finds

Researchers say that implementing Actions omit privacy details and expose info

Top companies ground Microsoft Copilot over data governance concerns

Securiti's Jack Berkowitz polled 20-plus CDOs, and half have hit pause

Game not over: Epic brings Fortnite back to iOS in Europe, using its own app store

But the cost of battling Apple and Google? A hefty $1B lost in revenue

Digital wallets can allow purchases with stolen credit cards

Researchers find it's possible to downgrade authentication checks, and shabby token refresh policies

As the Apple Watch turns 10, disabled users demand real accessibility

Forget wrist acrobatics, we need smarter wake word detection and on-device voice recognition

Apple is coming to take 30% cut of new Patreon subs on iOS

You don't get to be the biggest business in the world by being nice

Microsoft security tools questioned for treating employees as threats

Cracked Labs examines how workplace surveillance turns workers into suspects

31.5M invoices, contracts, patient consent forms, and more exposed to the internet

Unprotected database with 12 years of biz records yanked offline

Rust for Linux maintainer steps down in frustration with 'nontechnical nonsense'

Community seems to C Rust more as a burden than a benefit

Woman uses AirTags to nab alleged parcel-pinching scum

Phew! Consumer-grade tracking devices are good for more than finding your keys and stalking

Rock Chrome hard enough and get paid half a million

Google revises Chrome Vulnerability Rewards Program with higher payouts for bug hunters