J’aimerais avoir un Firefox configuré en « anonyme par défaut ». Ça veut dire deux choses :
- Un site ne doit pas pouvoir partager ou croiser les données avec un autre ;
- Un site ne doit pas pouvoir faire persister des données plus longtemps que la session en cours.
Si je veux garder une authentification permanente ou autoriser des croisements (par exemple pour des SSO), c’est à moi de le demander explicitement.
Ça pourrait être fait par une double préférence liée à chaque domaine, quelque chose du type « autoriser le domaine X à stocker des données persistantes dans ce contexte » et « ne pas isoler le domaine X en fonction de l’origine de la page principale ».
Un site ne doit pas pouvoir partager ou croiser les données avec un autre
Ce premier point est relativement bien couvert. L’extension first party isolation fait exactement ça. En gros tout le stockage (cookies, localstorage, indexeddb) est segmenté par l’origine de la page principale dans l’onglet.
Le composant Facebook inclut dans les pages de LeMonde ne partagera aucune données avec celui inclut dans les pages du Figaro. Il restera l’adresse IP et diverses techniques de fingerprinting, mais ça va un peu limiter.
Je navigue avec depuis des mois, plutôt avec succès. Il y a encore du boulot. Il faut le désactiver temporairement pour faire la configuration initiale de Pocket dans Firefox, ou pour le SSO « se connecter avec google » de quelques sites (pas tous, d’autres fontionnent bien) mais globalement ça passe très bien.
Une fois corrigées les anomalies et ajoutée une façon de désactiver l’isolation site par site, ça sera parfait.
Un site ne doit pas pouvoir faire persister des données plus longtemps que la session en cours
Ce second point est plus compliqué.
J’ai tenté initialement d’utiliser les conteneurs de Firefox pour ça mais tout ce que je peux faire c’est isoler des sites les uns des autres. Au final je me retrouve avec un conteneur par défaut qui contient la majorité du trafic et qui continue à garder mes traces de session en session.
Il y a peu j’ai trouvé l’extension temporary containers. L’idée c’est que, par défaut, le navigateur charge un nouveau conteneur temporaire dédié à chaque fois qu’on navigue vers un nouveau domaine. Ce conteneur et ses données sont détruits dès qu’on ferme l’onglet.
Globalement ça fonctionne mais il y a quelques soucis de performance ressentie (au moins des fermeture/réouverture visibles d’onglet lors des navigations) et si on affecte un site à un conteneur fixe pour éviter de se retrouver à chaque fois sur une page non authentifiée, on perd la capacité de l’utiliser en parallèle dans plusieurs conteneurs différents.
J’ai globalement l’impression d’abuser des conteneurs pour quelque chose qui n’est pas fait pour.
L’extension cookie autodelete a une autre approche. On garde le fonctionnement normal des conteneurs mais, par défaut, l’extension supprime les cookies d’un site dès qu’on ferme tous les onglets qui y mènent. Charge à l’utilisateur de faire des exceptions explicites site par site. Globalement ça fait le job mais ça n’efface ni le localstorage ni l’indexeddb, ne parlons même pas du tracking par cache HTTP.
Je trouve ça dommage. Intuitivement j’aurais pensé que supprimer des données était plus facile à faire pour le navigateur que créer une isolation supplémentaire entre les sites.
Suis-je le seul à chercher un tel niveau d’isolation ?
Laisser un commentaire