Idle Detection : une API controversée de Google Chrome 94

Par:
fredericmazue

ven, 24/09/2021 - 13:17

Le navigateur Google Chrome 94 qui est sorti cette semaine, expose une nouvelle API nommée Idle Detection, ou détection d'inactivité.

Cette API de détection d'inactivité informe les développeurs lorsqu'un utilisateur est inactif, indiquant des éléments tels que le manque d'interaction avec le clavier, la souris, l'écran, l'activation d'un économiseur d'écran, le verrouillage de l'écran ou le passage à un autre écran. Un seuil défini par le développeur déclenche la notification.

Google propose des cas d'utilisation de cette API :

  • Les applications de chat ou les sites de réseaux sociaux en ligne peuvent utiliser cette API pour indiquer à l'utilisateur si ses contacts sont actuellement joignables.
  • Les applications de kiosque exposées publiquement, par exemple dans les musées, peuvent utiliser cette API pour revenir à la vue « accueil » si personne n'interagit plus avec le kiosque.
  • Les applications qui nécessitent des calculs coûteux, par exemple pour dessiner des graphiques, peuvent limiter ces calculs aux moments où l'utilisateur interagit avec son appareil.

Si des développeurs peuvent effectivement voir une utilité à cet API, d'autres se sont inquiétés, il y a un an déjà, des répercussions que cette API pouvait avoir sur la confidentialité, parmi autres problèmes potentiels. Ainsi on peut lire sur la liste de diffusion de Webkit :

Il existe un problème évident de confidentialité dans le fait que cette API permet à un site Web d'observer si une personne se trouve à proximité de l'appareil ou non. Cela pourrait être utilisé, par exemple, pour commencer à extraire des bitcoins lorsque l'utilisateur n'est pas là ou commencer à déployer des failles de sécurité, etc... [...] C'est une violation très grave de ladite la vie privée de l'utilisateur.

L'API Idle Detection est documentée dans une page dédiée sur web.dev. Une démonstration de l'APi est en ligne ici. Ainsi qu'on peut le constater avec cette démonstration, l'utilisateur doit explicitement accorder à l'API l'autorisation d'être exécutée dans son navigateur.