Des vérifications sans nous croire sur parole

Pourquoi SimpleShot demande l’accès à l’enregistrement de l’écran, et comment le vérifier vous-même

macOS n’a qu’une seule autorisation pour toutes les apps qui lisent l’écran, qu’elles prennent une image ou une vidéo. SimpleShot en a besoin pour réaliser des captures. Voici ce qu’il en fait, et comment le constater par vous-même sans faire confiance à SimpleShot.

Une seule autorisation pour toutes les apps de capture d’écran.

Sur macOS, une app ne peut voir ce qui s’affiche à l’écran qu’avec l’autorisation Enregistrement de l’écran, dans Réglages Système › Confidentialité et sécurité › Enregistrement de l’écran et de l’audio système. Il n’existe pas d’autorisation distincte pour les captures d’écran : une capture d’écran est un simple coup d’œil à l’écran, si bien que toutes les apps de capture demandent la même autorisation qu’un enregistreur d’écran.

Quand SimpleShot lit l’écran.

Uniquement quand vous faites une capture : avec un raccourci, depuis la barre des menus, depuis l’une de ses fenêtres, ou à la fin d’un minuteur que vous avez réglé. Pour une zone, il lit chaque écran une seule fois et vous l’affiche figé, avec la loupe, pendant que vous faites votre choix. Une capture défilante lit l’écran pendant que vous faites défiler ; un enregistrement le lit jusqu’à ce que vous l’arrêtiez. Entre deux captures, il ne lit rien et rien n’est envoyé : la reconnaissance du texte et le masquage des données privées se font sur votre Mac.

SimpleShot › Réglages › Confidentialité répertorie chaque lecture : quand, ce qui a été lu et ce qui l’a déclenchée. La liste reste sur votre Mac pendant 90 jours, et vous pouvez l’effacer. Elle reste toutefois le propre compte rendu de SimpleShot : les vérifications ci-dessous ne s’appuient donc pas sur elle.

Vérification 1 : le journal de macOS, dans Terminal.

macOS vérifie l’autorisation Enregistrement de l’écran d’une app chaque fois que celle-ci lit l’écran, et le consigne. Ouvrez Terminal (dans Applications › Utilitaires), collez cette ligne et appuyez sur Retour :

log stream --style compact --predicate 'process == "tccd" AND eventMessage CONTAINS "kTCCServiceScreenCapture" AND eventMessage CONTAINS "Allowed"'

Laissez-le tourner pendant que vous utilisez votre Mac. Chaque ligne indique l’app qui a lu l’écran après Sub: (SimpleShot correspond à dev.stillbyte.SimpleShot), et son emplacement après binary_path=. Une capture avec SimpleShot produit quelques lignes à la même seconde, et SimpleShot en ajoute une à son ouverture ; entre deux captures, aucune. D’autres apps apparaissent aussi, quand elles lisent l’écran ou le nom des fenêtres d’autres apps. Appuyez sur Contrôle + C pour arrêter.

Vérification 2 : ce qui quitte votre Mac.

SimpleShot se connecte à trois adresses : updates.stillbyte.dev pour rechercher des mises à jour, proof.getsimpleshot.com quand vous demandez une preuve d’horodatage (il envoie l’empreinte de l’image, jamais l’image elle-même), et links.getsimpleshot.com une fois que vous avez créé un lien. Une capture ne quitte votre Mac que si vous en faites un lien.

Pour le constater vous-même, utilisez un pare-feu qui affiche chaque connexion établie par une app, comme LuLu, gratuit et open source : pour SimpleShot, il n’affiche que celles-ci. Ou bien, dans Terminal, cette ligne affiche en direct les connexions de SimpleShot, avec la quantité de données envoyée par chacune ; tant que vous n’utilisez ni les mises à jour, ni les preuves d’horodatage, ni les liens, la liste reste vide. Appuyez sur Q pour quitter.

nettop -p SimpleShot

La question que macOS repose chaque mois.

Environ une fois par mois, macOS vous demande à nouveau si SimpleShot peut continuer à lire l’écran, avec ses propres mots : l’app « demande à contourner le sélecteur de fenêtre privé du système et à accéder directement à votre écran et à votre audio ». Toutes les apps de capture et d’enregistrement d’écran reçoivent la même question, 30 jours après la précédente, pour chaque copie de l’app présente sur votre Mac : cela ne signifie pas que l’app a fait quelque chose de nouveau. Choisissez Autoriser. SimpleShot ne lit toujours l’écran que lorsque vous faites une capture, et les vérifications ci-dessus le montrent.

Une app n’échappe à cette question qu’en faisant passer chaque capture par le sélecteur de fenêtres de macOS, qui ne permet pas de sélectionner une zone de l’écran. Apple ne fait d’exception que pour les apps de bureau à distance.

Les fenêtres que macOS exclut de toute capture.

macOS exclut certaines fenêtres des captures de toutes les apps : ses invites de sécurité, comme celles qui demandent une autorisation, et les fenêtres que leur app déclare privées. Elles n’apparaissent pas dans les captures de SimpleShot, ni sur l’écran figé pendant que vous choisissez une zone ; quand SimpleShot peut détecter que l’une d’elles se trouvait dans une capture, il vous le signale. SimpleShot ne peut rien y changer ; les autres apps de capture d’écran sont soumises à la même règle.

L’app Capture d’écran de macOS, elle, les capture : ouvrez-la depuis Applications › Utilitaires, ou appuyez sur ⇧⌘5 si SimpleShot n’utilise pas les raccourcis de capture d’écran du système.

Désactiver l’accès.

Vous pouvez désactiver SimpleShot à tout moment dans Réglages Système › Confidentialité et sécurité › Enregistrement de l’écran et de l’audio système. Il ne peut alors plus du tout lire l’écran, et vous le signale quand vous essayez de faire une capture.