// Encryption info modal — pédagogique, animé, montre le flux zero-knowledge. const EncryptionModal = ({ open, onClose }) => { const [step, setStep] = React.useState(0); const [autoplay, setAutoplay] = React.useState(true); React.useEffect(() => { if (!open) { setStep(0); setAutoplay(true); return; } if (!autoplay) return; const t = setInterval(() => setStep(s => (s + 1) % 4), 2200); return () => clearInterval(t); }, [open, autoplay]); if (!open) return null; return (
Vos données sont illisibles, même pour nous.
Votre mot de passe maître reste sur votre appareil. Il ne quitte jamais votre navigateur — pas même chiffré.
)} {step === 1 && (Argon2id (lauréat de la Password Hashing Competition) le transforme en clé robuste, résistante aux GPU et ASIC. Paramètres : t=3, m=64 Mo, p=1.
)} {step === 2 && (Vos mots de passe sont chiffrés localement avec AES-256-GCM. Chaque entrée a son propre IV. Authentification intégrée.
)} {step === 3 && (Le serveur ne reçoit que des blobs chiffrés. Une faille de notre BDD ne révélerait que du bruit. C'est le principe zero-knowledge.
)}