Architecture
VaultKeepR est séparé en un cœur open source et des clients privés. Le dépôt vaultkeepr-public contient les paquets SDK cryptographiques (sous licence MIT, publiés sur npm sous le scope @vaultkeepr) et les contrats Solidity. L’application web, l’extension navigateur et les apps iOS/Android vivent dans un dépôt privé.
Les paquets
Section intitulée « Les paquets »| Paquet | Rôle |
|---|---|
@vaultkeepr/core | Crypto du coffre : XChaCha20-Poly1305, Argon2id, enveloppes ECIES, TOTP, passkeys, BIP-39, import/export pour plus de 10 formats de gestionnaires |
@vaultkeepr/sync | Synchronisation multi-appareils construite sur les CRDT Automerge |
@vaultkeepr/ipfs | Stockage du coffre adressé par contenu : gestion des CID et récupération multi-passerelles avec failover |
@vaultkeepr/recovery | Récupération fragmentée avec lectures de contrats on-chain sur Base |
@vaultkeepr/smart-account | Account abstraction ERC-4337 : dérivation d’identité et sync on-chain |
@vaultkeepr/wallet-messages | Schémas de messages EIP-4361 et délégation pour les sessions signées |
@vaultkeepr/cloud | Stockage cloud chiffré zero-knowledge (compatible S3) |
@vaultkeepr/logger | Journalisation structurée qui masque clés, CID et adresses |
@vaultkeepr/legacy | Types d’héritage numérique et gestion des bénéficiaires |
D’autres paquets couvrent la validation de licences Premium, les alias e-mail, l’i18n (anglais et français), les composants UI partagés, les adaptateurs Sentry et l’OCR natif (VisionKit sur iOS, ML Kit sur Android). Installez le cœur avec npm install @vaultkeepr/core.
Les contrats
Section intitulée « Les contrats »Trois contrats Solidity sont déployés sur Base L2 et couverts par des tests Foundry :
| Contrat | Rôle |
|---|---|
VaultKeeperCidRegistry | Registre on-chain des pointeurs de localisation des coffres |
VaultKeeperFragments | Stockage on-chain des fragments de récupération |
VaultKeeperLegacy | Héritage verrouillé dans le temps vers des bénéficiaires nommés |
Les contrats ne contiennent que des pointeurs publics et des charges utiles chiffrées. Ils ne détiennent jamais de clés ni de fonds.
Où vit chaque donnée
Section intitulée « Où vit chaque donnée »| Donnée | Emplacement |
|---|---|
| Coffre en clair | Mémoire de l’appareil uniquement, coffre ouvert |
| Clés dérivées | Mémoire de l’appareil (SessionKeyStore conserve les copies de session) |
| Mot de passe maître | Mémoire de l’utilisateur uniquement ; jamais transmis ni stocké |
| Instantanés de coffre chiffrés | IPFS et stockage compatible S3, adressés par CID |
| Fragments de récupération | IPFS, plus des pointeurs dans le contrat VaultKeeperFragments |
| Pointeurs de localisation | VaultKeeperCidRegistry sur Base L2 |
| Instructions d’héritage | VaultKeeperLegacy, verrouillé dans le temps, charges chiffrées |
Serveurs et API
Section intitulée « Serveurs et API »Les API hébergées soutiennent les flux clients sans remplacer le chiffrement bout en bout. Elles acceptent des charges de coffre déjà chiffrées pour l’épinglage ou le relais, vérifient les signatures wallet et enregistrent le CID courant pour une adresse. D’autres points d’accès peuvent servir des métadonnées non secrètes, comme des manifestes de récupération fragmentée indexés par le hash d’un identifiant de récupération. Rien dans cette conception ne suppose qu’un serveur puisse déchiffrer votre coffre. Les routes et déploiements peuvent évoluer ; les paquets open source font foi pour les implémenteurs.
Fichiers sources
Section intitulée « Fichiers sources »- README.md — tableaux des paquets et contrats
- docs/THREAT_MODEL.md — tableau des biens protégés utilisé ci-dessus