Approche de confidentialité des notifications et du stockage utilisateur
Informations sur les nouvelles fonctionnalités d'authentification, de notifications et de stockage des configurations utilisateur disponibles sur MetaMask Web.
La connexion à MetaMask Web améliore votre expérience en vous permettant de :
Recevoir des notifications sur l'activité de votre portefeuille
Synchroniser vos configurations et paramètres utilisateur sur les différents appareils où MetaMask est installé. Au fil du temps, nous commencerons à sauvegarder et à synchroniser votre carnet d'adresses, votre historique de transactions, vos tokens importés et vos adresses surveillées
Sauvegarder vos configurations pour lorsque vous changez ou réinitialisez votre navigateur
Vos paramètres sont synchronisés sans compromettre la confidentialité de votre activité MetaMask. Plutôt que d'utiliser des architectures de type web2, où les fournisseurs de services hébergent les données des utilisateurs, nous adoptons une approche axée sur la confidentialité, dans laquelle vos informations sont chiffrées côté client (c'est-à-dire localement, sur votre appareil), et le serveur joue uniquement le rôle de stockage et de relais de données chiffrées. MetaMask n'a donc aucune visibilité sur les utilisateurs ou les adresses qui utilisent ce service, ni sur la manière dont ils l'utilisent.
Lorsque vous tentez de vous connecter à MetaMask Web, votre portefeuille MetaMask vous demandera de signer un message avec votre adresse pour prouver que vous êtes propriétaire de ce compte. Une fois la signature effectuée, vous serez connecté à MetaMask Web avec l'adresse de ce compte.
Nous utilisons un flux standard Sign-In with Ethereum. Notre serveur reçoit le message signé et votre adresse, vérifie la signature, hache l'adresse avec un salt (une valeur aléatoire) pour générer votre AccountID, puis oublie l'adresse. Le serveur signe votre AccountID et émet un JSON web token (JWT) que le client peut utiliser pour accéder aux services MetaMask, tels que le stockage des configurations utilisateur ou les notifications. Étant donné que l'adresse n'est pas stockée et que le hachage de l'AccountID est irréversible, MetaMask ne sait pas qui s'est connecté ni quelles adresses ont été utilisées.
Les configurations utilisateur sont stockées sur les serveurs MetaMask, chiffrées avec une clé spécialement générée que seul l'utilisateur possède. Personne d'autre que l'utilisateur ne peut lire les configurations. Lorsque vous vous connectez, nous créons une clé côté client en obtenant le hash résultant de l'application de la signature de votre compte à un message donné. Cela signifie que la clé est déterministe : autrement dit, le résultat de cette signature sera toujours identique lorsque le même compte signe le même message. Nous utilisons cette clé pour effectuer le chiffrement côté client de toutes vos configurations utilisateur avant de les envoyer aux serveurs MetaMask.
Dans ce contexte, MetaMask fait office de simple espace de stockage et ne peut pas lire qui utilise le service, ni le contenu des configurations, puisque tout est chiffré côté client. Si nécessaire, les informations chiffrées peuvent être déchiffrées sur un autre client lorsque la même personne se connecte à MetaMask depuis un autre appareil. Nous travaillons également activement avec l'écosystème pour explorer des opportunités de décentraliser le stockage des configurations utilisateur à l'avenir.
Nous stockons vos préférences et configurations, qui peuvent inclure, par exemple, votre adresse publique, la devise, vos tokens favoris, les paramètres d'interface ou votre carnet d'adresses. Nous ne stockons, ne transférons ni ne sauvegardons votre clé privée ou votre Secret Recovery Phrase, qui ne sont accessibles qu'à vous seul.
Nous surveillons les blockchains pour vous et vous envoyons des notifications push lorsqu'un événement pertinent se produit sur vos adresses, comme la réception de tokens, de NFTs ou le unstaking.
Contrairement au service de configuration utilisateur, qui héberge uniquement des données chiffrées côté client, le service de notifications doit enregistrer des versions non chiffrées des adresses surveillées côté serveur. Pour garantir que plusieurs adresses ne puissent pas être attribuées à une même personne, nos serveurs enregistrent les tâches de notifications « dissociées » des utilisateurs auxquels elles appartiennent. Cela signifie que le lien entre les AccountIDs et les adresses est uniquement stocké côté client.