Sécurité WidgetKit
WidgetKit est le cadre d’application qu’utilisent les développeurs pour offrir des widgets, ainsi que des complications de l’Apple Watch. Les deux peuvent montrer des informations sensibles et peuvent être très visibles, particulièrement sur les appareils utilisant un affichage « Toujours à l’écran ».
Dans iOS, les utilisateurs peuvent configurer s’ils affichent ou non des données sensibles sur l’écran verrouillé et pendant l’affichage « Toujours à l’écran ». Dans Réglages, ils peuvent désactiver l’accès aux données pour les widgets sur l’écran verrouillé dans la section « Autoriser l’accès en mode verrouillé » dans Réglages > Face ID et code.
Dans l’Apple Watch, les utilisateurs peuvent configurer s’ils affichent ou non des données sensibles pendant l’affichage « Toujours à l’écran » en choisissant Réglages > Luminosité et affichage > Toujours à l’écran > Masquer les complications sensibles. Ils peuvent aussi choisir d’afficher le contenu caviardé pour toutes les complications ou des complications individuelles.
Si un utilisateur choisit de masquer un contenu qu’il considère privé, WidgetKit affiche un espace réservé ou du caviardage. Pour configurer le caviardage, un développeur doit :
1. Implémenter le rappel redacted(reason:)
.
2. Lire à voix haute la propriété privacy
.
3. Fournir des affichages d’espaces réservés personnalisés.
Les développeurs peuvent également rendre un affichage non caviardé avec le modificateur d’affichage unredacted()
.
Au lieu d’utiliser le marquage comme données sensibles d’affichages individuels, par exemple si tout le contenu d’un widget est sensible, le développeur peut ajouter la fonctionnalité de protection des données à une extension de widget. Jusqu’à ce que l’utilisateur déverrouille son appareil en fonction du niveau de confidentialité sélectionné, WidgetKit affiche les espaces réservés au lieu du contenu du widget. Le développeur doit activer la fonctionnalité de protection des données pour l’extension de widget dans Xcode et ensuite définir le droit de Data Protection
à la valeur qui correspond au niveau de confidentialité qu’il veut offrir :
NSFileProtectionComplete
NSFileProtectionCompleteUnlessOpen
WidgetKit masque le contenu de ces widgets lorsque l’appareil est verrouillé à l’aide d’un code et affiche un espace réservé jusqu’à ce que l’utilisateur s’authentifie après avoir redémarré son appareil. De plus, les widgets pour iOS ne sont pas disponibles en tant que widgets pour l’iPhone sur Mac.