Apple, soucieux de la confidentialité de ses utilisateurs, a toujours imposé des normes strictes dans son App Store, telles que des règles sur la collecte des données, des exigences d'étiquetage des applications, des mesures anti-pistage, et l'option « Se connecter avec Apple ». Récemment, la société a annoncé une nouvelle politique visant à prévenir l'abus des API en exigeant des développeurs qu'ils justifient l'accès à certaines données dans certaines circonstances. En 2018, Apple a commencé à lutter contre le fingerprinting sur macOS en limitant l'accès des sites web à certaines données dans son navigateur Safari, puis a étendu cette mesure aux applications en 2023.
Les API, interfaces de programmation d'applications, sont des outils essentiels pour les développeurs, mais certaines peuvent être exploitées pour collecter des données permettant de profiler les utilisateurs, ce qu'Apple interdit même si l'utilisateur a consenti à être suivi. La nouvelle politique, initialement annoncée pour l'automne 2023, exige que les développeurs fournissent une raison justifiant l'utilisation de chaque API dans le manifeste de confidentialité de leur application. Cela concerne également les kits de développement tiers utilisés par les applications. À partir du printemps 2024, les applications sans explication pour l'utilisation des API risquent le rejet.
Apple offre la possibilité aux développeurs de contacter l'entreprise pour obtenir une approbation si leur utilisation des API diffère de celle prévue. Cependant, certains développeurs craignent que des applications puissent être rejetées pour des raisons mineures, comme l'utilisation de l'API UserDefaults pour stocker les préférences de l'utilisateur. Malgré ces préoccupations, d'autres développeurs estiment que cette politique ne vise pas à restreindre les utilisations légitimes des API, mais simplement à exiger une justification claire de leur utilisation.
L'API « Required Reason » d'Apple contrecarre-t-elle la prise d'empreintes digitales des appareils ?
À partir du 1er mai 2024, Apple exige des développeurs qu'ils déclarent les raisons pour lesquelles leurs applications utilisent des API susceptibles d'être utilisées à mauvais escient pour collecter des signaux uniques de l'appareil. Ces signaux uniques permettent aux auteurs d'abus de dériver un identifiant ou une empreinte digitale de l'appareil et de suivre les activités de l'utilisateur dans différentes applications de différents développeurs. Ces API sont appelées « API de raison requise ». Pour éviter toute utilisation abusive de ces API, Apple rejettera les applications qui ne décrivent pas leur utilisation des API dans leur fichier manifeste de confidentialité. Cependant, des applications telles que Google Chrome, Instagram, Spotify et Threads ne respecteraient pas les raisons déclarées.
Lors de la WWDC 2023, Apple a annoncé une nouvelle mesure de confidentialité visant à empêcher l'empreinte digitale des appareils, une pratique interdite par l'accord de licence du programme des développeurs d'Apple. Apple a publié une liste préliminaire d'API susceptibles d'être utilisées à mauvais escient pour collecter des signaux uniques de l'appareil. Avant d'utiliser l'une de ces API, les développeurs doivent déclarer la raison de leur utilisation dans un fichier manifeste de confidentialité.
La liste évoluera au fil du temps, car de nouvelles API seront ajoutées en fonction des besoins. Apple a fourni une liste de raisons approuvées pour chaque API. Les développeurs doivent revoir leur code et choisir la raison approuvée qui décrit le mieux leur utilisation de l'API. En outre, les développeurs sont également responsables des SDK tiers inclus dans leurs applications et, par conséquent, sont tenus de décrire leur utilisation de l'API de raison requise. Apple a également publié une liste de SDK nécessitant un manifeste de confidentialité et une signature.
La mise à jour du manifeste de confidentialité pour le processus d'examen des applications par Apple ajoute une autre tâche aux développeurs. La description de l'utilisation des API vise à prévenir efficacement le fingerprinting. Ce processus sensibilise également les développeurs aux API et explique pourquoi l'accès à celles-ci doit être limité et pourquoi les données récupérées doivent rester sur l'appareil et ne jamais être transmises en dehors de celui-ci.
Une analyse du trafic réseau de plusieurs applications populaires mises à jour après le 1er mai a été réalisée. L'attention s'est concentrée sur l'API qui récupère l'heure de démarrage de l'appareil, ou le temps de fonctionnement du système, mesurant le temps écoulé depuis son redémarrage en secondes. Combiné à d'autres données, le temps de fonctionnement du système peut créer une empreinte digitale précise de l'appareil.
L'utilisation des API relatives à l'heure de démarrage du système nécessite la déclaration d'une raison approuvée. Les raisons approuvées possibles pour l'utilisation de l'API de l'heure de démarrage du système sont les suivantes :
- 35F9.1 : déclarer ce motif pour accéder à l'heure de démarrage du système afin de mesurer le temps qui s'est écoulé entre les événements survenus dans l'application ou d'effectuer des calculs pour activer des minuteries. Les informations consultées pour cette raison, ou toute information dérivée, ne peuvent pas être envoyées hors de l'appareil. Il existe une exception pour les informations relatives au temps écoulé entre les événements survenus dans l'application, qui peuvent être envoyées en dehors du dispositif ;
- 8FFB.1 : déclarez ce motif pour accéder à l'heure de démarrage du système afin de calculer les horodatages absolus des événements qui se sont produits dans votre application, tels que les événements liés aux cadres UIKit ou AVFAudio. Les horodatages absolus des événements survenus dans votre application peuvent être envoyés hors de l'appareil. L'heure de démarrage du système à laquelle vous accédez pour cette raison, ou toute autre information dérivée de l'heure de démarrage du système, ne peut pas être envoyée hors de l'appareil ;
- 3D61.1 : déclarez cette raison d'inclure des informations sur l'heure de démarrage du système dans un rapport de bogue facultatif que la personne utilisant l'appareil choisit de soumettre. Les informations relatives à l'heure de démarrage du système doivent être affichées de manière visible pour la personne dans le cadre du rapport. Les informations consultées pour cette raison, ou toute information dérivée, ne peuvent être envoyées hors du dispositif qu'après que l'utilisateur a choisi de soumettre le rapport de bogue spécifique comprenant les informations sur l'heure de démarrage du système, et uniquement dans le but d'enquêter sur le rapport de bogue ou d'y répondre.
Toutes les raisons approuvées soulignent que les informations récupérées par les API ne peuvent pas être envoyées hors de l'appareil.
Analyse de la conformité des applications aux raisons déclarées
Facebook déclare le motif approuvé 35F9.1 pour l'accès à l'heure de démarrage du système, comme le montre son fichier manifeste de confidentialité (extrait des binaires de l'application) :
Code : | Sélectionner tout |
<dict> <key>NSPrivacyAccessedAPIType</key> <string>NSPrivacyAccessedAPICategorySystemBootTime</string> <key>NSPrivacyAccessedAPITypeReasons</key> <array> <string>35F9.1</string> </array> </dict>
Instagram : le temps de fonctionnement de l'appareil et la version de l'application sont mis en évidence
Spotify
Spotify déclare les motifs approuvés 35F9.1 et 8FFB.1 pour accéder à l'heure de démarrage du système, comme le montre son fichier manifeste de confidentialité (extrait des binaires de l'application) :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | <dict> <key>NSPrivacyAccessedAPIType</key> <string>NSPrivacyAccessedAPICategorySystemBootTime</string> <key>NSPrivacyAccessedAPITypeReasons</key> <array> <string>35F9.1</string> <string>8FFB.1</string> </array> </dict> |
Spotify : le temps de fonctionnement de l'appareil et l'heure actuelle sont mis en évidence
Les représentants de Google ont affirmé qu'après un examen approfondi du problème, les données extraites des appareils ne sont pas utilisées à des fins de suivi, et que le logiciel fonctionne conformément aux attentes. « Après avoir étudié les recherches, nous avons conclu que le comportement de Chrome ne viole pas la politique d'Apple et que les données ne sont pas exploitées pour le fingerprinting », a déclaré un porte-parole. « En réalité, ces données sont utilisées pour assurer le bon fonctionnement de l'appareil. » Google précise que les données transmises hors de l'appareil ne proviennent pas des API requises, mais servent à maintenir l'exactitude de l'horloge, notamment lors de changements de fuseau horaire.
Bien que la demande pour que les développeurs expliquent leur utilisation des API requises constitue une première étape prometteuse pour lutter contre le fingerprinting, elle laisse néanmoins planer des doutes quant au respect de la vie privée. Apple ne propose aucun mécanisme de vérification pour garantir que les déclarations des développeurs sont authentiques, une situation similaire à celle des étiquettes nutritionnelles introduites précédemment.
L'initiative d'Apple visant à renforcer les exigences des développeurs d'applications iOS pour justifier l'utilisation d'API spécifiques liées à la collecte d'empreintes digitales semble être une mesure positive pour protéger la vie privée des utilisateurs. La restriction de la collecte de données est une préoccupation croissante dans un monde numérique où la confidentialité est de plus en plus menacée.
Cependant, les allégations selon lesquelles des géants de la technologie comme Google, Meta et Spotify ne respectent pas ces règles sont préoccupantes. Si ces entreprises utilisent effectivement ces API pour collecter des données sans le consentement approprié des utilisateurs ou en violation des politiques d'Apple, cela soulève des questions éthiques et juridiques importantes.
Il est également troublant de constater que les déclarations des développeurs ne sont pas vérifiées par Apple. Si les entreprises peuvent simplement affirmer que leurs pratiques sont conformes sans être tenues de fournir de preuves, cela affaiblit l'efficacité des mesures de protection de la vie privée mises en place par Apple. Cela suggère également un manque de responsabilité de la part des géants de la technologie, qui pourraient potentiellement contourner les règles en toute impunité.
Il est essentiel qu'Apple prenne des mesures concrètes pour garantir le respect de ses directives par toutes les entreprises opérant sur ses plateformes. Cela pourrait impliquer une vérification plus rigoureuse des déclarations des développeurs, des sanctions plus sévères pour les contrevenants, ou même des audits indépendants pour garantir la conformité.
Dans l'ensemble, bien que l'initiative d'Apple soit louable dans sa volonté de protéger la vie privée des utilisateurs, il est nécessaire d'aller plus loin pour garantir une application cohérente et efficace de ces règles dans toute l'industrie technologique.
Sources : Mysk, Apple
Et vous ?
Quel est votre avis sur le sujet ?
Est-ce que les bénéfices justifient les efforts investis ?
Existe-t-il des alternatives ou des solutions supplémentaires qu'Apple pourrait envisager pour renforcer davantage la protection de la vie privée des utilisateurs sur ses plateformes ?
Voir aussi :
Apple s'attaque au fingerprinting en imposant de nouvelles règles aux développeurs dans leur utilisations des API de l'App Store, une décision qui suscite la polémique
Apple permet désormais aux développeurs iOS d'envoyer des publicités en utilisant les notifications "push", la fonction "Sign In with Apple" sera également disponible le mois prochain