Could P2B force Apple to be more transparent about iOS APIs?

The Platform-To-Business regulation started to apply on July 12th. This regulation aims to shed more light on the relations between platforms and companies P2B. The regulation scope includes app stores. In this post I am interested in P2B’s impact on Apple’s app store and iOS APIs.

The regulation “promoting fairness and transparency for business users of online intermediation services” (aka Platform-To-Business or P2B)[1] was adopted in June 2019 and started to apply on July 12th 2020. As its name suggests, this regulation tries to strike a bit of a balance between platforms (i.e. online intermediation services and search engines) and businesses. The scope of the regulation is relatively broad and behind the term online intermediation services, we find hotel booking platforms (e.g. booking, hotels, …), goods marketplaces (e.g. marketplaces of amazon, fnac, …) and application stores. The regulation also covers search engines.

As pointed out by Arcep[2], this regulation is a first step towards device neutrality. Yet, P2B’s impact on device seems limited since APIs are quite explicitly excluded from the scope of the Regulation … except where they are directly connected to an online intermediation service :

Technological functionalities and interfaces that merely connect hardware and applications should not be covered by this Regulation, as they normally do not fulfil the requirements for online intermediation services. However, such functionalities or interfaces can be directly connected or ancillary to certain online intermediation services and where this is the case, the relevant providers of online intermediation services should be subject to transparency requirements related to differentiated treatment based on these functionalities and interfaces [emphasize mind].

Some iOS APIs could be within the scope of the regulation because the possibility for an app to use certain APIs is decided when it is submitted to the App Store

The App Store as an API control point

To develop an application on iOS, developers are restricted in the APIs they can use: only public APIs are documented and open to third-party developers. There are private APIs that offer more functionalities but there are supposed to only be used by Apple applications.

Apple verifies that no private API is used at the time an app is submitted to the App Store. In the past, some apps have been able to bypass this verification but have subsequently been removed from the App Store[4] for violating the App Store’s terms of use[5].

The issue of opening these APIs is important since some of them may give a competitive advantage to Apple’s apps[3] but if they were open to everyone, it could harm iOS security and stability.

Some APIs (both private and public) require explicit permission from Apple (called “entitlement”) at the time the application is submitted to the App Store. If an entitlement called by an apps is not granted, iOS will not let the application use the protected API[6].

Thus, these APIs can be considered as directly connected to the App Store since it is the latter that acts as a control point.

One could then consider that the P2B regulation applies to the use of private or entitlement based APIs. In particular, Article 7 of the regulation requires platforms to describe the differentiated treatments they give:

  1. Providers of online intermediation services shall include in their terms and conditions a description of any differentiated treatment which they give, or might give, in relation to goods or services offered to consumers through those online intermediation services by, on the one hand, either that provider itself or any business users which that provider controls and, on the other hand, other business users. That description shall refer to the main economic, commercial or legal considerations for such differentiated treatment.
  2. […]
  3. The descriptions referred to in paragraphs 1 and 2 shall cover in particular, where applicable, any differentiated treatment through specific measures taken by, or the behaviour of, the provider of online intermediation services or the provider of the online search engine relating to any of the following: […]
(d)access to, conditions for, or any direct or indirect remuneration charged for the use of services or functionalities, or technical interfaces, that are relevant to the business user or the corporate website user and that are directly connected or ancillary to utilising the online intermediation services or online search engines concerned.

P2B’s article 7 could apply to APIs; if these APIs were used for privileged treatment, they could in some cases be subject to more transparency.

However, in as we will see below, this provision may only apply in a few cases.

The UBER case

UBER’s iOS app was given a privileged treatment: in 2017, it was discovered that Apple had granted UBER an entitlement for a private API allowing the app to read the screen content [7]. This exemption shows that it is possible for Apple to selectively offer privileges to certain apps without modifying its OS.

Apple did not particularly explain this decision and if it happened again today it could look like a textbook case for P2B, but surprisingly P2B could not apply. Indeed, P2B only applies to differentiated treatment that benefits the platform operator (either the provider itself or any user company controlled by that provider). Since Uber is not controlled by Apple, this privilege would not have to be justified according to P2B.

The Apple Pay investigation

Last June, DG-Competition opened two investigations about potential abuse of a dominant position by Apple [8]. One of them concerned Apple’s refusal to open the “tap and go” functionality to Apple Pay’s competitors. Indeed, only Apple Pay can benefit from this functionality and competitors consider themselves unfairly disadvantaged.

Unlike Uber, the service put forward (i.e. Apple Pay) is controlled by the company that deploys the online intermediation service. However, P2B only covers processing in relation to goods or services offered to consumers through these online intermediation services, and Apple Pay being integrated into iOS and is not accessible from the App Store.

In this context, it is not clear whether the P2B Regulation can apply.

Using Bluetooth in the background

Contact tracing applications that wished to use Bluetooth to detect proximity have found themselves limited on iOS due to the fact that applications can hardly use Bluetooth when they are in the background. States found themselves forced to make a choice: develop an application that would work less well on iPhone or use the API common to Apple and Google even if it did not correspond to their needs [9] and is only supported with the latest version of iOS (thus excluding 10% of iPhones users [10]).

For many, Apple’s motivation was to protect users’ privacy, but there is no evidence that this objective weighed well in Apple’s refusal. On the one hand, applications that tried to circumvent Apple’s restriction (and were accepted on the App Store) either undermined the security of smartphones by prompting users to leave them unlocked [11] or were more intrusive by using geolocation [12]. On the other hand, all official Apple documentation indicates that the restrictions were motivated by the desire to reduce the consumption of resources (battery [13] and memory [14]) of iPhones.

As of now, Apple’s design motivation remains unknown since the company did not communicate on the subject and therefore never justified its choice. Hence applying P2B regulations could be relevant.

Indeed, Apple allows access to several pre-installed applications from the app store. Even if the applications cannot be installed from the app store, they are nevertheless visible and compete with the services offered by third party developpers [15]. Moreover, some of these applications use Bluetooth even when running in background. This is notably the case of the “Find My” application which uses BLE in the background to allow iPhones to be found [16]. In these circumstances, Apple may have to justify restricting access to the Bluetooth functionality in the background.

A need for more transparency

The debate on contact tracing apps clearly demonstrates the value of transparency: justifying the architectural choices of the OSs. Indeed, Apple did not justify its choice to refuse to open access to BLE to contact tracing applications. This silence has not been criticized since the company has been set up as a white knight protecting privacy against the states. But in the absence of explanation, this posture is questionable. If it turns out that made that Apple’s design is justified by iPhones reserving or is not even justified at all, the debate would not be the same.

Featured image by 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] See section 2.1.5 on software requirements https://developer.apple.com/app-store/review/guidelines/#software-requirements

[6] See section 2.3 of ,«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] DG-Comp opened an investigation on access restrictions to NFC features: https://ec.europa.eu/commission/presscorner/detail/en/ip_20_1075

[9] « Two reasons why Singapore is sticking with TraceTogether’s protocol » https://www.tech.gov.sg/media/technews/two-reasons-why-singapore-sticking-with-tracetogether-protocol

[10] Apple’s Exposure Notification API requires iOS 13 whereas the French (StopCovid) and the Singaporean (TraceTogether) apps respectively works with iOS 11 and 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] « The Clever Cryptography Behind Apple’s ‘Find My’ Feature » https://www.wired.com/story/apple-find-my-cryptography-bluetooth /

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