Le message était introduit dans iOS 14 pour informer et responsabiliser les utilisateurs lorsque des applications interagissent avec des réseaux d'une manière qui pourrait permettre à l'application de récolter des informations sur d'autres appareils sur ce réseau.
Par exemple, une application qui se connecte à votre climatiseur sur votre réseau WiFi est une application à laquelle vous vous attendez en tant qu'utilisateur et à laquelle vous autorisez cet accès. En revanche, on ne s'attend pas à ce qu'un jeu solo, hors ligne, fasse cela. Il pourrait récolter des informations afin de prendre l'empreinte digitale (identifier) de l'utilisateur dans le but de maximiser les revenus publicitaires ou même d'essayer d'exploiter les failles de sécurité des appareils locaux tels que les routeurs et les imprimantes. Avec iOS 14 et les versions plus récentes, l'utilisateur a la possibilité d'autoriser ou non ce type d'accès au réseau.
Il n'y a aucune contradiction à ce que l'application demande cette permission même si vous n'êtes pas connecté à un tel réseau local à ce moment-là. L'application n'aurait aucun moyen de savoir à l'avance que c'est le cas.
Le fait de lui donner la permission d'accéder au réseau local ne signifie pas qu'il peut le faire maintenant, mais il a la permission d'essayer. Notez également qu'à moins que vous ne révoquiez cette autorisation, il pourrait réessayer plus tard, lorsque vous serez effectivement connecté à un tel réseau local.
Il convient également de noter que le terme "réseau local" peut avoir une signification totalement différente de celle que vous lui attribuez. Il ne s'agit pas d'un réseau local comme dans "mon réseau domestique qui relie mon routeur WiFi, mon imprimante, mon AppleTV, etc. avec des câbles". La définition est plutôt un peu technique :
Lorsque vous connectez un ordinateur à un réseau, quel qu'il soit, cela est généralement exprimé dans le système d'exploitation sous la forme d'une "interface réseau". Les interfaces réseau couvrent de nombreux types différents de technologies de mise en réseau, allant de divers types de signaux physiques, d'options matérielles, de protocoles de mise en réseau, etc.
Dans ce contexte, un "réseau local" est spécialement une interface réseau utilisant le protocole IP (c'est-à-dire que des adresses IP sont utilisées) qui est capable de diffuser. Cela signifie qu'il est possible d'envoyer/recevoir des données sur le réseau sans destinataire spécifique (c'est-à-dire possible pour plus d'un destinataire).
Cela signifie que, par exemple, les connexions WiFi standard et les connexions Ethernet sont considérées comme un "réseau local". Cependant, une connexion VPN, par exemple, peut ne pas être considérée comme un "réseau local" (il s'agit généralement de connexions point à point).
Notez également que même si une connexion WiFi peut être considérée comme un "réseau local", ce n'est pas chaque interaction avec la connexion WiFi qui est couverte par cette invite. Si une application ne nécessite qu'un accès à Internet, elle peut le faire via votre réseau local sans avoir besoin de cette autorisation. Cependant, si l'application contacte spécifiquement un autre appareil sur votre réseau local, ou si elle essaie d'envoyer des paquets multicast (données envoyées à un groupe d'appareils) ou des paquets de diffusion (données envoyées à tous les appareils sur le réseau) - alors cela nécessitera cette autorisation "Réseau local". De même, si l'application tente de recevoir des données de multidiffusion ou de diffusion, cela nécessite également l'autorisation "Réseau local". Une application peut recevoir des données sur le réseau local qui lui sont spécifiquement destinées sans cette autorisation.
Le résultat final est qu'une application qui tente de rechercher des appareils sur votre réseau en utilisant la diffusion ou simplement la force brute aura besoin de cette autorisation, alors qu'une application qui ne se connecte qu'à des services basés sur Internet ou qui offre un service sur le réseau local pour que d'autres puissent l'utiliser, n'aura pas besoin de cette autorisation.
Notez que les applications qui utilisent elles-mêmes le protocole Bonjour, relativement populaire, pour découvrir des services, auront besoin de l'autorisation "Réseau local" - alors que si l'application demande à iOS qu'elle veut imprimer quelque chose en utilisant AirPlay, cette autorisation ne sera pas nécessaire, même si cela signifie qu'iOS utilise Bonjour pour localiser ces imprimantes. La différence réside dans le fait que l'application ne reçoit pas directement les données Bonjour et que, par conséquent, elle ne présente pas le même risque de collecte de données.
Si vous souhaitez connaître tous les détails techniques de cette fonctionnalité, vous pouvez vous reporter à la conférence WWDC d'Apple. vidéo présenter la fonction aux développeurs et à la "FAQ sur la confidentialité des réseaux locaux" pour les développeurs d'applications.