Utiliser P2B pour avoir plus d’informations sur les APIs

Depuis le 12 juillet, le règlement Plateforme-To-Business est entré en application. Ce règlement ambitionne de rendre plus équitables et transparentes les relations entre les plateformes et les entreprises. P2B s’applique entre autres aux magasins d’applications qui permettent d’installer des applications sur smartphones. Dans cet article je m’intéresse plus particulièrement à son impact sur l’app store d’Apple.

Le règlement « promouvant l’équité et la transparence pour les entreprises utilisatrices de services d’intermédiation en ligne » (aka Platform-To-Business ou P2B)[1] a été adopté en juin 2019 et est entré en application il y a quelques jours. Comme son nom l’indique, ce règlement essaie d’établir un peu d’équilibre entre les plateformes (i.e. les services d’intermédiation en lignes et les moteurs de recherche) et les entreprises. Le scope visé par le règlement est relativement large puisque derrière le terme de service d’intermédiation en ligne, on retrouve les plateformes de site hôteliers (par exemple booking, hotels,…), les place de marché de biens (par exemple les marketplaces d’amazon, de la fnac,…) et les magasins d’applications. Le règlement couvre aussi les moteurs de recherches.

Comme le soulignait l’Arcep[2], ce règlement apporte une première pierre vers l’ouverture des terminaux. Néanmoins, il reste limité pour l’essentiel dans l’impact qu’il aura sur ces derniers puisque les APIs sont assez explicitement exclues du champ d’application du règlement… sauf dans le cas où elles sont directement liés à un service d’intermédiation en ligne :

« Les fonctionnalités et interfaces technologiques qui se limitent au raccordement du matériel et des applications ne devraient pas être régies par le présent règlement, étant donné qu’elles ne remplissent pas, en règle générale, les critères pour être considérées comme des services d’intermédiation en ligne. Toutefois, ces fonctionnalités et interfaces peuvent être raccordées directement à certains services d’intermédiation en ligne, ou leur être accessoires, et dans ce cas, les fournisseurs de services d’intermédiation en ligne concernés devraient être soumis aux exigences en matière de transparence liées au traitement différencié sur la base de ces fonctionnalités et interfaces. [mise en gras] »

Or dans le cas d’Apple, la possibilité pour une app d’utiliser certaines APIs se décide directement au niveau de l’App store.

L’App Store comme point de contrôle des APIs

Pour développer une application sur iOS, les développeurs sont restreints dans les APIs qu’ils peuvent utiliser : seules les APIs publiques sont documentées et ouvertes aux développeurs tiers. Il existe des APIs privées qui ne sont utilisables que par les applications d’Apple, celles-ci offrent des fonctionnalités plus avancées aux développeurs d’Apple.

Apple vérifie qu’aucune API privée n’est utilisée au moment où une app est soumise sur l’App Store. Par le passé, certaines apps ont réussi à contourner cette vérification mais ont par la suite été retirées de l’app store[4] pour violation des conditions d’utilisation de l’App Store[5].

La question de l’ouverture de ces APIs est importante puisque certaines peuvent donner un avantage compétitif aux apps d’Apple[3] mais si elles étaient ouvertes à tous, cela pourrait nuire à la sécurité d’iOS et à sa stabilité.

Certaines APIs (privées et publiques) requièrent une autorisation explicite d’Apple (un entitlement) au moment où l’application est soumise sur l’App Store. A défaut d’obtenir un entitlement, iOS ne laissera pas l’application utiliser l’API[6].

Ainsi, on peut considérer que ces APIs raccordées directement à l’App Store puisque c’est ce dernier qui fait office de point de contrôle.

On pourrait alors considérer que le règlement P2B s’applique à l’utilisation des APIs privées ou soumises à entitlements. En particulier, l’article 7 du règlement imposent aux plateformes de décrire les traitements différenciés qu’elles mettent en place :

1.   Les fournisseurs de services d’intermédiation en ligne incluent dans leurs conditions générales une description de tout traitement différencié qu’ils accordent, ou pourraient accorder, en relation avec des biens ou services proposés aux consommateurs par le biais de ces services d’intermédiation en ligne par, d’une part, soit le fournisseur lui-même, soit toute entreprise utilisatrice contrôlée par ce fournisseur et, d’autre part, d’autres entreprises utilisatrices. Cette description mentionne les principales considérations économiques, commerciales ou juridiques à l’origine de ce traitement différencié.

3.   Les descriptions visées […] couvrent notamment, le cas échéant, tout traitement différencié au moyen de mesures spécifiques que prend le fournisseur de services d’intermédiation en ligne ou d’un comportement qu’ils adoptent, en relation avec l’un des éléments suivants:

d)l’accès aux services, fonctionnalités ou interfaces techniques pertinentes pour l’entreprise utilisatrice ou l’utilisateur de site internet d’entreprise et qui sont directement associés à l’utilisation des services d’intermédiation ou des moteurs de recherche en ligne concernés, ou directement accessoires à cette utilisation, les conditions d’utilisation de ces services, fonctionnalités ou interfaces ou toute rémunération directe ou indirecte perçue pour cette utilisation.

Cet article pourrait s’appliquer aux APIs, ainsi si ces APIs servaient à un traitement privilégié, elles pourraient dans certains cas être soumises à plus de transparence. 

Néanmoins, en pratique, cette disposition s’appliquerait dans peu de cas comme nous le verrons ci-dessous.

Le cas UBER

L’application UBER eu le droit à un traitement privilégié : en 2017, il a été découvert qu’Apple avait accordé à UBER un entitlement pour une API privée permettant à l’app de lire le contenu de l’écran[7]. Au passage, cette dérogation exceptionnelle démontre qu’il est possible pour Apple d’offrir sélectivement des privilèges à certaines apps sans pour autant modifier son OS.

Apple n’a pas particulièrement expliqué ce geste et si cela se reproduisait aujourd’hui cela pourrait ressembler à un cas d’école pour la mise en application du règlement P2B, mais étonnamment P2B ne pourrait pas s’appliquer. En effet, P2B ne vise que les traitements différentiés qui bénéficient à l’opérateur de la plateforme (soit le fournisseur lui-même, soit toute entreprise utilisatrice contrôlée par ce fournisseur.) Or Uber n’étant pas contrôlé par Apple ce privilège n’aurait pas à être justifié d’après P2B.

L’enquête Apple Pay

En juin dernier, la direction générale à la concurrence a déclaré ouvrir deux enquêtes visant Apple pour abus de position dominante[8]. L’une d’elle visait le refus d’Apple d’ouvrir la fonctionnalité « tap and go » aux concurrents d’Apple Pay. En effet, seul le service Apple Pay peut bénéficier de cette fonctionnalité et les concurrents se considèrent injustement désavantagés.

Dans ce cas, contrairement au cas précédent, le service mis en avant appartient bien à la société qui déploie le service d’intermédiation en ligne. Pour autant, P2B ne vise que les traitements en relation avec des biens ou services proposés aux consommateurs par le biais de ces services d’intermédiation en ligne, or Apple Pay est un service intégré à iOS et n’est pas accessible depuis l’App Store.

Dans ce contexte; il n’est pas évident que le règlement P2B trouve à s’appliquer.

L’utilisation du Bluetooth en arrière-plan

Les applications de contacts tracing qui ont souhaité s’appuyer sur le bluetooth plutôt que sur la localisation se sont retrouvée limitées sur iOS du fait que les applications peuvent difficilement utiliser le bluetooth lorsqu’elles sont en arrière-plan. Les différents états se sont retrouvés contraints de faire un choix : développer une application qui fonctionnerait moins bien sur iPhone ou utiliser l’API commune à Apple et Google même si elle ne correspondait pas à leur besoin[9] et qui par ailleurs ne fonctionnait qu’avec la dernière version d’iOS (excluant ainsi 10% des utilisateurs d’iPhones[10]).

Pour beaucoup, le refus d’Apple se justifiait par le souhait de protéger la vie privée des utilisateurs, mais rien ne prouve que cet objectif a bien pesé dans le refus d’Apple. D’une part, les applications qui ont essayé de contournées la restriction d’Apple (et qui ont été accepté sur l’App Store) nuisaient à la sécurité des smartphones en incitant les utilisateurs à les laisser déverouillés [11] ou étaient plus intrusives en utilisant la géolocalisation[12]. D’autre part, toutes les documentations officielles d’Apple indiquaient que les restrictions étaient motivées par la volonté de réduire la consommation de ressources (batterie [13]  et mémoire[14]) des iPhones.

Actuellement, il demeure difficile de connaitre la motivation d’Apple puisque la société ne s’est pas exprimée sur le sujet et n’a par conséquent jamais eu a justifié son choix. Or en pratique, les règlement P2B pourraient trouver à s’appliquer.

En effet, Apple permet d’accéder à plusieurs applications pré-installée depuis l’app store. Même si les applications ne sont pas installables depuis l’app store, elles sont néanmoins visibles et entre en concurrence avec les services concurrents proposées par la plateforme[15]. Par ailleurs, certaines de ces applications utilisent le bluetooth même en arrière-plan. C’est notamment le cas de l’application « Find My » qui utilisent le BLE en arrière-plan pour permettre aux iPhones d’être retrouvés [16] . Ainsi Apple pourrait avoir à justifier la restriction d’accès aux fonctionnalités bluetooth en arrière-plan.

Une nécessité de plus de transparence

Le débat sur les applications de contacts tracing démontrent bien l’intérêt de la transparence : justifier les choix architecturaux des OS. En effet, Apple n’a pas eu a justifié du choix de refusé d’ouvrir l’accès aux BLE aux applications de contact tracing. Ce mutisme n’a pas été critiqué puisque la société s’est vue érigée en chevalier blanc protecteurs de la vie privée face aux états. Mais en l’absence d’explication cette posture est questionnable. Si il était avéré que la société avait effectué ce choix juste pour économiser les ressources des iPhones ou même de façon complétement arbitraire, le débat ne serait plus le même.

Image de couverture par Jay Goldman
https://creativecommons.org/licenses/by-nc-sa/2.0/


[1] https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32019R1150&from=EN

[2] « Platform-to-Business » : un premier pas vers les terminaux ouverts dans le règlement européen ! https://www.arcep.fr/larcep/pendant-ce-temps-a-bruxelles.html#c18616

[3] « Apple frees a few private APIs, makes them public » https://www.theregister.com/2017/06/13/apple_inches_toward_openness/

[4] « Apple bans over 250 apps that secretly accessed users’ personal info » https://www.theverge.com/2015/10/19/9567447/apple-banned-apps-youmi-privacy-personal-data

[5] Voir la section 2.1.5  des software requirements https://developer.apple.com/app-store/review/guidelines/#software-requirements

[6] Voir la section 2.3 de ,«iRiS: Vetting Private API Abuse in iOS Applications » par Zhui Deng, Brendan Saltaformaggio, Xiangyu Zhang, Dongyan Xu

[7] « Uber App Has Access to Special iPhone Functions That Can Record Your Screen » https://www.inc.com/business-insider/uber-apple-iphone-features-app-software.html

[8] Ainsi la restriction d’accès à certaines fonctionnalités NFC fait l’objet d’une enquête de la DG-Comp: https://ec.europa.eu/commission/presscorner/detail/en/ip_20_1075

[9] « Why are Google and Apple dictating how European democracies fight coronavirus? » https://www.theguardian.com/commentisfree/2020/jun/16/google-apple-dictating-european-democracies-coronavirus

[10] L’API Apple nécessite iOS 13 alors que StopCovid ne nécessite qu’iOS 11 et TraceTogether iOS 10 https://gs.statcounter.com/ios-version-market-share/mobile-tablet/france

[11] « iOS a ‘major hurdle’ to contact tracing app » https://www.innovationaus.com/ios-a-major-hurdle-to-contact-tracing-app/

[12] https://twitter.com/je5perl/status/1248230776287776769

[13] « Because performing many Bluetooth-related tasks require the active use of an iOS device’s onboard radio—and, in turn, radio usage has an adverse effect on an iOS device’s battery life—try to minimize the amount of work you do in the background. » https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html

[14] « WWDC 2017: Because while your application is running in the background, the system may terminate it if it needs to free up more memory for the foreground application. » (https://asciiwwdc.com/2013/sessions/703 )

[15] « Apple Dominates App Store Search Results, Thwarting Competitors » https://www.wsj.com/articles/apple-dominates-app-store-search-results-thwarting-competitors-11563897221

[16] « Un service de localisation décentralisé et privacy by design entre appareils » https://linc.cnil.fr/fr/un-service-de-localisation-decentralise-et-privacy-design-entre-appareils