L’utilisation de Firebase Crashlytics dans l’application CovidSafeBE

Finalité de l’utilisation de Firebase Crashlytics

Firebase Crashlytics constitue une solution de rapportage de crashs très largement utilisée qui aide les gestionnaires d’applications à détecter, prioritiser et à résoudre les crashs empêchant l’utilisation d’une application.

Firebase Crashlytics permet de réaliser un monitoring de la stabilité de l’application CovidSafeBE. Crashlytics permet (cependant uniquement après le consentement explicite de l’utilisateur) à l’appli d’envoyer des rapports de crashs lorsqu’un crash se produit. De cette manière, il est possible de déterminer l’impact d’un crash et d’investiguer sur la cause du crash. Ce qui améliore directement la stabilité et la performance de l’application CovidSafeBE.

Dans le cas de l’application CovidSafeBE, un crash signifie un usage de l’application qui est empêché avec pour conséquence que l’utilisateur n’est plus en mesure de montrer ses certificats. Cela a pour conséquence que l’utilisateur ne peut, par exemple, plus voyager, plus exercer son droit à la libre circulation, l’accès à certains établissements lui est interdit, etc. En cas d’application instable, la Belgique manquerait aussi à ses obligations européennes, non seulement dans le cadre de la libre circulation, mais aussi dans le cadre de la facilitation d’une délivrance sécurisée et d’une vérification des certificats. Le rapportage des crashs est donc particulièrement important pour garantir un fonctionnement efficace et sécurisé de l’application CovidSafeBE.

L’analyse des crashs (et non une analyse du comportement) est la seule finalité pour laquelle Firebase Crashlytics est utilisé dans l’application CovidSafeBE. Firebase Crashlytics est par ailleurs aussi le seul produit qui est utilisé. En d’autres termes, il n’est pas fait usage d’autres applications offertes par Firebase (Crashlytics) ou Google.

Il a été opté pour Firebase Crashlytics parce qu’un rapportage de crashs dit natif (comme disponible dans les appli stores) n’est pas suffisant pour l’application CovidSafeBE. Firebase Crashlytics offre davantage d’informations techniques (par exemple, l’endroit dans le code où un crash est susceptible de se produire) permettant au développeur de l’appli d’anticiper plus rapidement et plus efficacement aux crashs. Une autre différence fondamentale est que Firebase Crashlytics permet de détecter des « non-fatal exceptions ». Il s’agit de crashs qui, comme le nom l’indique, ne sont pas fatals, mais qui ont souvent un plus grand impact sur l’utilisateur de l’application que les crashs proprement dits.

Paramètres de sécurité dans Firebase Crashlytics

Lors de l’implémentation de Firebase Crashlytics, il a été tenu compte des principes de la protection des données dès la conception et par défaut

  • Lors de la première utilisation après l’installation de l’application CovidSafeBE, l’utilisateur est invité à participer à la collecte de rapports de crashs. L’utilisateur est libre d’accepter ou de refuser. Si l’utilisateur refuse, aucun rapport de crashs n’est envoyé.
  • L’utilisateur a, à tout moment, la possibilité de revoir son choix dans les paramètres de l’application CovidSafeBE et de (dés)activer les rapports de crashs. L’utilisateur trouvera de plus amples informations relatives à l’utilisation de Firebase Crashlytics dans la déclaration de confidentialité de l’application CovidSafeBE.
  • L’application CovidSafeBE utilise uniquement la configuration standard de Firebase Crashlytics qui transmet le minimum de données possible. L’application CovidSafeBE n’a pas recours aux options offertes par Firebase Crashlytics permettant d’ajouter des paramètres et des identités d’utilisateurs supplémentaires à un crash dump. Pour rappel, l’application CovidSafeBE n’utilise pas « Google Analytics » ou « Firebase App Distribution ». Ainsi, un monitoring ou tracking du comportement n’est pas possible dans l’application CovidSafeBE, ce qui ne serait par ailleurs pas utile dans le cadre de la finalité exclusive de rapportage de crashs poursuivie. Par ailleurs, dans les paramètres Firebase Crashlytics pour l’application CovidSafeBE, la possibilité pour Google d’utiliser les fameux « service data » afin d’améliorer ses services a été désactivée.

Sur la base des rapports de crashs, il n’est, par ailleurs, pas possible d’entreprendre une action à l’encontre d’un utilisateur individuel. Cela n’est pas possible et nullement l’objectif. Le seul but est de résoudre les problèmes le plus rapidement et le plus efficacement possible (p.ex. d’abord les problèmes qui concernent plusieurs utilisateurs).

Informations de Firebase Crashlytics concernant les données dans les rapports de crashs

Un rapport de crashs au départ de l’application CovidSafeBE génère les informations suivantes:

  • système d’exploitation iOS:
  • système d’exploitation Android:

Le Firebase Crashlytics dashboard reçoit des informations techniques très limitées concernant le crash.

Aucune donnée de contenu telle qu’un certificat n’est donc transmise. Ces informations ne permettent pas d’identifier directement ou indirectement des personnes physiques, et certainement pas avec des moyens raisonnables.

Dans le document “Privacy & Security in Firebase” Google donne des exemples de données qui pourraient constituer des données à caractère personnel lors de l’usage de Firebase Crashlytics. Dans le cas de Firebase Crashlytics, il s’agit de : Crashlytics Installation UUIDs et Crash traces. Cet aperçu indique de manière abstraite, et non de manière concrète, quelles données pourraient être transmises.

Il ressort d’une analyse interne qu’en cas de network request de l’application à l’issue d’un crash, un Google app ID et un installation ID sont transmis. Ces identifiants sont nécessaires pour opérer une distinction entre le nombre d’utilisateurs uniques. Le nombre d’utilisateurs uniques (mais non identifiables directement ou indirectement) constitue un paramètre important pour l’analyse des crashs et la fixation des priorités pour l’élaboration de solutions. Sans vue sur le nombre d’utilisateurs uniques, un crash qui ne se produit qu’une seule fois est aussi urgent qu’un crash qui concerne un million d’utilisateurs et il n’est pas possible d’utiliser les moyens d’une manière efficace dans l’intérêt de l’utilisateur.

Sur la base de notre propre analyse et des informations communiquées par Firebase Crashlytics, mais sans formuler de jugements que seul Firebase Crashlytics est en mesure de faire, il n’y a pas d’indication que Firebase Crashlytics serait en mesure d’identifier effectivement, dans la configuration définie pour l’application CovidSafeBE, sur la base des informations précitées, les utilisateurs de l’application CovidSafeBE avec des moyens raisonnables. Cela ressort notamment du fait que lors de toute (ré-)installation de l’application, un nouveau installation ID est généré et que le Google app ID reste le même pour tout utilisateur qui possède une même version de l’application CovidSafeBE.

Si et dans la mesure où Firebase Crashlytics est en mesure d’identifier sur la base des données précitées des personnes physiques à l’aide de moyens raisonnables, Firebase Crashlytics s’est en toute hypothèse engagé à avoir un fondement légitime pour les transmissions de données, conformément à la législation applicable en matière de protection des données.

Het contractueel kader tussen de Partijen en Firebase Crashlytics (Google Ireland LLC) bestaat in dat geval uit:

  • Les terms of service
  • Dans la mesure où il serait question de données sur la base desquelles des personnes physiques pourraient être identifiées avec des moyens raisonnables, un contrat de sous-traitance, en ce compris des clauses contractuelles standard et des mesures complémentaires: https://firebase.google.com/te... (voir p.ex. annexe 2 du contrat de sous-traitance).