# CryptoLegacy : La confidentialité est essentielle pour la récupération et l’héritage

Nous pensons que la confidentialité est cruciale pour la récupération et la transmission de vos actifs. Bien qu’il soit difficile de créer une solution totalement privée dans une architecture où les actifs sont approuvés (approved) depuis les portefeuilles principaux vers le contrat personnel CryptoLegacy, nous estimons qu’il est très peu probable que les Gardiens ou les Bénéficiaires inspectent le code ou développent des outils d’indexation personnalisés. Par conséquent, les données sensibles ne sont pas divulguées prématurément dans l’interface utilisateur, et les informations concernant les actifs restent chiffrées tant que le **challenge timeout** n’a pas expiré ou que le **Guardian threshold** (seuil de Gardiens) n’est pas atteint (accompagné, si besoin, du **Guardian timeout**).

#### Principaux points de confidentialité

* Les noms, les Bénéficiaires, les Gardiens, les adresses de Récupération (Recovery addresses), les détenteurs d’actifs (vos portefeuilles), les adresses ERC20 et les clés publiques de chiffrement sont stockés localement dans votre navigateur. Les sauvegardes sont chiffrées avec votre clé publique personnelle et enregistrées on-chain sous forme d’événements de transaction dans un contrat séparé.
* Les détenteurs d’actifs (vos portefeuilles) et les adresses ERC20 sont chiffrés individuellement pour chaque Bénéficiaire, Gardien et adresse de Récupération, en utilisant leurs clés publiques respectives, puis enregistrés on-chain dans des événements de transaction sur le contrat CryptoLegacy.
* Nous utilisons le chiffrement intégré de MetaMask (**eth-sig-util**), qui s’appuie sur une cryptographie elliptique avancée (**x25519-xsalsa20-poly1305**). Pour les portefeuilles dépourvus de fonctionnalités de chiffrement, nous mettrons en place une solution alternative.

***

### **Développements futurs**

Pour renforcer la confidentialité dans CryptoLegacy, nous prévoyons de développer le **ZK Approval Plugin**, qui fonctionnera de la manière suivante :

1. **Owner** ajoute le plugin à son contrat personnel CryptoLegacy.
2. **Owner** n’approuve plus directement ses actifs sur le contrat CryptoLegacy, mais les oriente vers le **ZK CryptoLegacy Transfer Contract**.
3. **Owner** envoie une transaction au contrat CryptoLegacy via ce plugin et y stocke un Merkle Tree contenant la liste de ses portefeuilles, de ses actifs et du contrat CryptoLegacy.
4. Quand il devient nécessaire de transférer les actifs des portefeuilles principaux vers le contrat CryptoLegacy, les **Bénéficiaires ou Gardiens** produisent une preuve ZK (ZK proof) et la soumettent au **ZK CryptoLegacy Transfer Contract**. Celui-ci autorise alors le retrait des actifs des portefeuilles principaux pour les transférer vers le contrat CryptoLegacy.

Au final, ce processus garantit qu’il devient impossible de retracer le lien entre les portefeuilles et les contrats CryptoLegacy.

En combinant des pratiques de chiffrement robustes à une gestion minutieuse des données, CryptoLegacy propose une protection de la vie privée à la fois pratique et efficace pour l’héritage et la récupération d’actifs, sans pour autant sacrifier la convivialité.
