Passkey WebAuthn en primaire, seed BIP39 en recovery, aucun reset possible. Pourquoi l’absence de filet de récupération est un choix de design assumé.
La plupart des fuites d’identifiants viennent du mot de passe et de son canal de réinitialisation. Pas d’email, pas de phishing par lien de reset. Pas de mot de passe, pas de credential stuffing. Nous avons supprimé les deux à la racine. L’identité se prouve par une clé, jamais par un secret mémorisé.
Passkey en primaire
L’authentification repose sur WebAuthn. La clé privée reste dans le secure enclave de l’appareil ou dans un authentificateur matériel. Le serveur ne stocke qu’une clé publique et un compteur de signatures. Aucun secret partagé ne transite. Une tentative de phishing échoue par construction : la passkey est liée à l’origine cryptographique du domaine.
Le compte se crée en une cérémonie. Pas de double opt-in, pas de boîte mail à confirmer. L’utilisateur enregistre une ou plusieurs passkeys dès l’onboarding, sur plusieurs appareils si possible. Le multi-device est la vraie redondance.
Recovery par seed, pas de reset
Le seul filet est une seed BIP39 de 24 mots, générée côté client et affichée une fois. Elle dérive le matériel de récupération. Personne côté serveur ne peut la reconstituer. Si l’utilisateur perd tous ses appareils et sa seed, le compte est définitivement inaccessible. Nous ne pouvons pas réinitialiser, et c’est le point.
Ce choix déplace le coût. L’onboarding doit éduquer à conserver la seed hors ligne. Le support ne traite jamais de demande de récupération, donc aucun vecteur d’ingénierie sociale ne vise nos agents. Le principe à retenir : un système qui ne peut pas récupérer un compte ne peut pas être contraint d’en livrer un.