Aller au contenu
VaultKeepR

Changelog

Toutes les modifications notables du projet.

Gestionnaire de mots de passe decentralise, zero-knowledge.
Toutes les modifications notables du projet sont documentees ici.

>

Format : Keep a Changelog
Versioning : Semantic Versioning

1.8.3 2026-08-13
Sécurité
  • Migration du moteur SLM vers on-device (packages/core/src/slm-engine.ts) : Suppression du proxy serveur (/api/slmshipdaily.xyz). L'auto-tagging (categorizeEntries) utilise désormais un classifieur déterministe par domaine/mot-clé (FR+EN). Le résumé de brèche (summarizeBreach) utilise le fallback local déterministe. Aucune donnée du vault (URL, username) ne quitte plus l'appareil — vrai zero-knowledge sur iOS + Android
  • Auto-tag on-device sur extension (slm-engine.ts + slm-background.ts + messaging.js) : Câblage du handler ASK_SLM_AUTOTAG (jusqu'ici UI orpheline). Classifieur déterministe, 0 réseau, aligné avec le mobile
SEO / Site web
  • Consolidation du sitemap : robots.txt pointe désormais vers /new-sitemap.xml (dynamique, complet) au lieu du fichier statique stale /vk-sitemap.xml (supprimé). Redirect cassé /sitemap-main.xml retiré
  • Réindexation des pages /delete-account/* : Retrait du robots: index:false sur les 4 pages (hub + [service], EN + FR) — la #1 source d'impressions (329+/mois) n'est plus bloquée
  • hreflang dans le sitemap : buildSitemap.ts émet désormais (en/fr/x-default) + pages FR manquantes ajoutées (/docs/fr, /security/fr, /privacy/fr, /terms/fr, /shop/fr)
  • Sections sémantiques : /compare/keeper (Keeper vs BeyondTrust PAM), /migrate/vaultwarden (migration SQLite DB) — EN + FR
  • SocialProof sourcé : stat "241 tests" → "496" (mesuré via vitest), témoignages de personnes fictives remplacés par des affirmations open-source/zero-knowledge vérifiables (risque E-E-A-T + juridique éliminé)
  • seoTitle Keeper : "2025" → "2026"
Maintenance
  • Strip des commentaires : 1271 fichiers nettoyés (AST babel pour TS/JS/TSX, regex pour Swift/Sol/Shell/YAML/MD/CSS). Type-safe (0 nouvelle erreur), runtime-safe (496 tests core passent)
  • Repo public open-source : Création de github.com/VaultKeepR/vaultkeepr-public — 16 packages (enterprise exclu) + 3 contrats Solidity + README bilingue EN/FR + SECURITY.md. 0 commentaire, 0 artefact interne, 0 leak
  • knip.json ajouté (analyse code mort, calibré pour le monorepo)
Versioning
PlateformeVersion
Extension Chrome/Firefox1.8.2
iOS1.8.0
Android1.8.1
Core SDK(open-source)

1.8.2 2026-08-09
Ajouts
  • Mot de passe de secours (Chrome + Firefox) : Nouveau mécanisme de récupération pour les vaults PRF-only (déverrouillage par Touch ID / Face ID sans mot de passe maître). L'utilisateur définit un mot de passe de secours dans Parametres → Securite, qui chiffre le secret de déverrouillage (prfKey + secretKey) dans une envelope Argon2id + XChaCha20-Poly1305. En cas de perte de l'authenticator, le mot de passe de secours déchiffre l'envelope → récupère le secret → déverrouille le vault (local backup puis IPFS).
  • Bannière de rappel dans les paramètres si vault PRF-only sans mot de passe de secours configuré
  • Lien "Mot de passe de secours" dans les options avancées de l'écran de déverrouillage
  • Seed cache PRF après pull IPFS : pollCidAndSyncFromTab seed désormais le cache PRF local après un pull réussi → prochains déverrouillages Touch ID rapides (<50ms) au lieu de re-pull IPFS
Corrections
  • Vault vide après rebuild / reload : Le path de déverrouillage par mot de passe ne seedait jamais le cache PRF local. La backup étant chiffrée avec le masterPassword (≠ prfKey), Touch ID ne pouvait pas la déchiffrer → vault vide définitivement après rebuild. Fix appliqué aux 4 points de restore
  • Duplication d'entries vides sur les login forms : setupCardAndIdentitySubmitCapture matchait un seul champ autocomplete="email"ADD_IDENTITY silencieux créait des entries vides sans UI à chaque submit. Fix : exige désormais ≥3 identity fields et exclut les login forms
Versioning
PlateformeVersionStore
Extension Chrome1.8.2Chrome Web Store
Extension Firefox1.8.2Firefox Add-ons

1.8.0 2026-08-08
Ajouts
  • Mode clair (iOS + Android) : Nouveau systeme de theme runtime (theme.ts + ThemeProvider) avec bascule Apparence dans les parametres et synchronisation systeme (userInterfaceStyle: automatic)
  • Conversion de tous les ecrans et composants iOS/Android vers useThemedStyles (styles recalculés selon le theme actif)
  • Correction de contraste : passwords generer lisibles en clair, cartes sombres fixes adaptees au theme (C.surface/C.border)
  • Breach Scanner email (iOS + Android) : Port de la surveillance de fuites par email (consentement + statut par email, vk_monitored_emails)
  • Reorganisation des parametres + section Confidentialite (iOS + Android + Chrome + Firefox) : nouvel onglet Confidentialite (frequence de sync, auto-clear presse-papiers, TOS, session persistee) ; bascule Apparence deplacee vers General ; Export deplace vers Storage & Sync
  • Mode demo : masquage de la bascule utilisateur (iOS) et du raccourci clavier (extension) pour ne plus jamais declencher d'ecran demo
Corrections
  • Audit mobile P0-P3 (41 constats) : Suite complete des correctifs de securite iOS/Android
  • Crypto : decrypt AES-GCM CryptoKit corrige, cipher||tag, prototype CCCryptorGCM
  • Native : userCanceled, @import CommonCrypto, localisation extension (en/fr).lproj
  • Build extension iOS + app principale compilent ; prebuild Android OK (permissions retirees, OTA off)
  • AutoFill : Correction crash getBiometricRequirement (destructuration non-iterable) -- callback robuste accepte scalaire ou tableau
  • Cloud : Bouton retour affiche en mode embarqué (menu Cloud) et aligné sur le style des autres ecrans (cheveron + libellé)
  • Theme : Correction du rendu sombre residuel sur SyncScreen, DetailScreen, ShareScreen, ReceiveShareScreen, ExportSection (blocs de styles auxiliaires convertis en factories themees)
Versioning
  • iOS : 1.7.0 -> 1.8.0 (build 7 -> 8)
  • Android : 1.7.0 -> 1.8.0 (versionCode 33 -> 34)

1.7.0 2026-07-14
Securite
  • Certificat Pinning : Activation du plugin withCertPinning sur iOS et Android
  • Pin leaf + ISRG Root X1 (expiration 2027-06-01) dans Info.plist
  • network_security_config.xml avec pins reels sur Android
  • Store Hardening (Sprint 1) : Alignement des host_permissions extension, retrait de test-overlays.html des web_accessible_resources, alignement des 10 permissions Android (plus de RECORD_AUDIO), suppression de 6 dossiers fantomes
  • Logger : Nouveau package @vault-keeper/logger (redaction automatique des CIDs V0/V1, addresses, tx hashes, base64 >200 chars, mnemonics). 884 sites console.* migres vers logger.{debug,warn,error,info} sur 138 fichiers
  • FLAG_SECURE : useSecureScreen applique a 24 ecrans vault x 2 plateformes (iOS + Android)
  • Doc crypto : Mise a jour de tous les SECURITY.md / ARCHITECTURE.md / SYNC.md vers XChaCha20-Poly1305 (vault) + Argon2id (t=3, m=64 MiB, p=4) + 6 badges UI
Ajouts
  • Mobile / Extension : Previsualisation in-app des fichiers cloud (CloudFilePreviewScreen), nettoyage des parametres, integration de l'onglet cloud et redesign du selecteur d'entrees
  • Extension : SyncConflictBanner UI (P1-3) -- surface visible quand la vault remote est plus recente
  • Blog : Routes API blog (POST/PATCH/DELETE) + workflow n8n d'auto-publication site web + X
  • Dev.to : 4 cover images pour les articles dev.to (1Password vs VaultKeepR, Bitwarden vs VaultKeepR, migration LastPass, zero-knowledge encryption)
  • Web : Page /pricing et /fr/pricing avec JSON-LD FAQPage + Product, section MiniPricing inline sur la home, StickySubNav, TopBanner (dismissible), ComparePreview (6 cartes /compare), 3 articles long-tail (raspberry-pi, no-email, argon2id-vs-bcrypt), BACKLINK-PLAN.md, 38 nouvelles cles i18n EN + FR
Corrections
  • Sync : Audit cross-device P0-P2 complet (10 fixes, 0 regression)
  • P0-2 : restoreIpfsMetadata passe de LWW entry-level a 3-way merge field-level (5 tests)
  • P0-4 : Race condition pull/upload mobile resolue par mutex in-process partage (9 tests)
  • P1-1 : CRDT entry-replace staleness fix (mergeDocuments, mergeIndependentDocs) -- 6 tests
  • P1-3 : Surface SyncConflict descriptor + 2 messages IPC + 5 cles i18n FR/EN (5 tests storage)
  • P1-4 : Merge base snapshot pre-push dans IpfsAutosave (perte d'edit local cross-device)
  • P1-5 : getDeviceId() retourne un UUID v4 stable par install (au lieu de "ios-ios" bugge) -- 12 tests
  • P2-1 : Test E2E cross-device (crossDevice.e2e.test.ts) -- 9 scenarios (a trouve 2 vrais bugs)
  • P2-2 : purgeTombstones() appelee apres merge
  • SEO : Resolution des problemes GSC -- redirections 301 sur /landing et /passkey-auth, noindex sur /settings, /turbo-*, /premium/checkout, og/twitter images et _next/static, retrait du bug bounty du sitemap, dates reelles blog dans le sitemap
  • Extension : escapeHtml echappe desormais " et ' ; includesIgnoreAccents via stripDiacritics ; simulateUserFill retire element.click(), dispatch beforeinput en premier, respecte defaultPrevented ; retro-compat V1 overlay phishing ; classifyFormSignals par typed intent (7 call sites) ; handleFill scope au form le plus proche
  • Extension : Correction Rules of Hooks dans overlays-v2/generate (useCallback/useMemo avant le early return) + clés i18n manquantes generator.copy et generator.strength.*
  • n8n : Regeneration du workflow JSON avec escaping correct (JSON valide)
  • Dev.to : Redesign des cover images
Ameliorations
  • Web : Refonte SEO -- HeroSection avec H1 keyword visible, signaux de confiance, CTA secondaire, ancrages (#features, #how-it-works, #security, #faq), deplacement de 31 fichiers .md obsoletes vers archive/
  • Tests : Suite de tests de securite exhaustive -- 1015 tests sur tous les packages ; 1529/1529 passent (105 fichiers, 0 echec) apres 30 corrections de tests
Versioning
  • Extension Chrome/Firefox : 1.7.0 (deja alignee)
  • iOS : 1.6.5 -> 1.7.0 (build 6 -> 7)
  • Android : 1.6.5 -> 1.7.0 (versionCode 31 -> 33)

1.6.5 2026-06-02
Ajouts
  • Legacy : Synchronisation cross-device chiffrée de bout en bout des bénéficiaires via IPFS
  • Cryptographie résiliente utilisant HKDF et dérivation locale de clé pour protéger les métadonnées bénéficiaires
  • Endpoint serveur /api/legacy/beneficiaries-cid pour enregistrer de manière décentralisée le pointeur CID IPFS
  • Android : Implémentation native complète de AutofillService (VaultAutofillService.kt) pour le remplissage automatique d'identifiants à l'échelle du système
Corrections
  • iOS : Correction de la navigation et du rafraîchissement d'état après l'activation manuelle ou automatique du Legacy
  • Extension : Amélioration du filtrage exact des URLs pour le remplissage automatique TOTP et credentials
  • Mobile / Extension : Correction du bug d'affichage des labels de bénéficiaires sur les écrans secondaires

1.6.4 2026-05-29
Ajouts
  • Legacy : Nouveau système de transmission de vault chiffrée à des bénéficiaires désignés
  • Smart Contract : VaultKeeperLegacy.sol (Base Mainnet — Chain ID 8453)

- Heartbeat on-chain avec cooldown configurable

- Gestion multi-bénéficiaires avec parts en pourcentage (total = 100%)

- Activation par le propriétaire ou expiration automatique du heartbeat

- Claim des fragments chiffrés via signature ECDSA (enveloppe EIP-712)

- Émission d'events : HeartbeatUpdated, VaultActivated, FragmentClaimed

- Script de déploiement Foundry (DeployLegacy.s.sol) — déployé sur Base Mainnet

  • Package @vault-keeper/legacy : SDK TypeScript complet

- heartbeat.ts : mise à jour on-chain + scheduling automatique (1x/semaine)

- beneficiary.ts : ajout/suppression/liste des bénéficiaires avec validation des parts

- envelope.ts : chiffrement ECIES des fragments vault pour chaque bénéficiaire

- contract.ts : ABI et helpers pour interagir avec VaultKeeperLegacy

- legacy.ts : orchestrateur de haut niveau (activation, claim, status)

- Suite de tests : 3 fichiers de tests unitaires (heartbeat, beneficiary, envelope)

  • Web : 8 nouvelles API routes /api/legacy/*

- activate : activation manuelle du legacy (propriétaire)

- check-expiry : vérification de l'expiration du heartbeat

- claim : claim d'un fragment par un bénéficiaire (avec signature)

- claim-invite : validation du lien d'invitation bénéficiaire

- encode-call : encodage des calldata pour les transactions on-chain

- invite : génération et envoi de liens d'invitation aux bénéficiaires

- notify : notification Telegram + email vers les bénéficiaires

- status : statut complet du vault legacy (heartbeat, bénéficiaires, activation)

  • Web : Page d'invitation bénéficiaire (/legacy/invite)

- Layout dédié avec validation du token d'invitation

- Interface de claim avec connexion wallet et signature

  • iOS / Android : Nouvel écran LegacyScreen

- Dashboard de configuration Legacy (heartbeat, liste bénéficiaires, statut)

- Ajout/suppression de bénéficiaires avec répartition des parts

- Indicateur visuel du statut heartbeat (actif / expiré / non configuré)

- Navigation intégrée depuis RootNavigator et SettingsScreen

  • Extension : Nouveau panneau LegacyPanel

- Accès depuis les paramètres de l'extension (SettingsView)

- Configuration du legacy et visualisation du statut heartbeat

  • Telegram Bot : Bot de notification Legacy (telegramBot.ts)
  • Envoi de messages structurés aux bénéficiaires lors de l'activation
  • Instructions de claim avec lien direct vers /legacy/invite
  • Documentation complète du setup (docs/TELEGRAM_BOT_SETUP.md)
  • Emails Legacy : Templates d'email pour les notifications bénéficiaires (legacyEmails.ts)
  • Email d'invitation initiale avec instructions de claim
  • Email d'activation avec lien sécurisé et deadline
Corrections
  • Paiement Crypto : Refactoring des routes /api/premium/crypto/order et /api/premium/crypto/status
  • Séparation des responsabilités order/status
  • Gestion améliorée des erreurs de polling on-chain
  • Alias : Mise à jour de la configuration packages/alias/src/config.ts
  • Smart Account : Mise à jour de la configuration packages/smart-account/src/config.ts
Types et i18n
  • Core : Extension de packages/core/src/types.ts avec les types Legacy (LegacyConfig, Beneficiary, LegacyStatus)
  • i18n : Ajout des clés de traduction Legacy dans packages/i18n/src/translations.ts (FR + EN)
Infrastructure
  • Vercel : Ajout de apps/web/vercel.json pour la configuration des rewrites et headers de sécurité
  • Broadcast : Artifacts de déploiement Foundry sur Base Mainnet (contracts/broadcast/DeployLegacy.s.sol/8453/)
  • Tests : Suite de tests VaultKeeperLegacy.t.sol pour le smart contract
Versioning
  • Branche legacy créée depuis release/1.6.4
  • Smart Contract VaultKeeperLegacy déployé sur Base Mainnet (Chain ID 8453)

1.6.3 2026-05-24
Securite
  • HPKP : Ajout du header Public-Key-Pins (report-only) sur app.vaultkeepr.xyz avec pin SHA-256 du certificat Let's Encrypt
  • Relay Bundler : Proxy securise /api/relay/bundler pour les appels ERC-4337 (Pimlico) -- la cle API n'est plus exposee cote client
Corrections
  • Extension : Correction des faux positifs de detection de formulaires de login (login-detect.ts)
  • Ajout de 17+ patterns d'ignore (contact, newsletter, support, chat, feedback, subscribe, etc.)
  • hasLoginForm() exige desormais 2+ signaux (autocomplete, pattern, label) au lieu de 1
  • Les champs email isoles dans des formulaires non-login ne declenchent plus l'overlay
  • Extension : Le username est desormais capture au moment du form submit (snapshot _pendingSaveData)
  • Corrige le bug ou seul le mot de passe etait enregistre lors de la sauvegarde de credentials
  • Le save prompt utilise les credentials snapshotees au lieu de re-collecter les champs DOM (evite les valeurs vides apres navigation SPA)
  • Extension : Ajout du save prompt automatique apres generation de mot de passe via le bouton de l'extension
  • Timer de 2 secondes post-generation pour laisser le temps de remplir le username
  • Detection automatique add/update selon les entries existantes
  • Extension : Correction du bug "Premium requis pour creer des alias email" (usePremium.ts)
  • Ajout d'une decouverte cross-adresse (findAnyStoredLicenseKey) quand l'adresse change (migration EOA → Smart Account)
  • Migration automatique de la licence vers la nouvelle adresse
  • Extension : Les mots de passe generes sont desormais accessibles dans l'historique du generateur
  • getGeneratedHistory() retourne maintenant les passwords (auparavant stripes pour securite mais empechait reveal + copy)
Ameliorations
  • Extension / iOS / Android : Ajout du bouton reveal/hide (Eye/EyeOff) dans l'historique des mots de passe
  • Generateur : chaque mot de passe genere est masque par defaut avec toggle individuel
  • Detail d'un identifiant : l'historique des anciens mots de passe a desormais un toggle reveal par item
  • Uniformisation du comportement sur les 3 plateformes
  • Notes : Correction de la couleur de police des notes dans les credentials (uniformisation du blanc)
Versioning
  • Extension Chrome/Firefox : 1.6.2 → 1.6.3
  • iOS : 1.6.1 → 1.6.3 (build 4)
  • Android : 1.6.1 → 1.6.3 (versionCode 26)

1.6.2 2026-05-22
Corrections
  • QRSync : Correction du transfert de vault entre iOS et l'extension -- le vault recu via QR pairing est maintenant correctement importe dans le storage de l'extension (le CustomEvent n'etait ecoute par aucun listener)
  • QRSync : Correction de l'adresse AA (Account Abstraction) apres reception du vault -- le secretKey est stocke avant le mot de passe pour eviter une race condition lors de la derivation d'identite
  • QRSync : Fermeture automatique du panneau Parametres apres un import reussi
  • QRSync : Transfert automatique de la licence Premium lors du pairing entre appareils
Ameliorations
  • Sync IPFS : Polling accelere de 30s/60s a 10 secondes sur toutes les plateformes (iOS + Extension)
  • Extension : Le popup poll IPFS toutes les 10s tant qu'il est ouvert (chrome.alarms limite a 30s en background)
  • Extension : Alarmes background reduites de 5min/1min a 30s/30s
Versioning
  • Extension Chrome/Firefox : 1.6.1 → 1.6.2
  • iOS : polling modifie (pas de bump de version)

1.6.1 2026-05-19
Securite
  • Audit P0 -- In-App Purchase : Hardening complet du pipeline de validation IAP
  • (P0-#1) Validation serveur Android IAP via Google Play Developer API (purchases.subscriptionsv2.get, JWT RS256)
  • (P0-#2) Verification cryptographique des signatures JWS Apple StoreKit 2

- Pinning du certificat Apple Root CA - G3 (SHA-256 verifie)

- Validation de la chaine x5c (DER), verification ES256 IEEE-P1363

- 8 tests de rejet (alg=none, alg=HS256, x5c manquant, DER invalide)

  • (P0-#3) Whitelist stricte de productId (productIdMap.ts) -- suppression de tous les String.includes() pour l'inference de tier

- Apple : com.vaultkeeper.app..

- Android : tuple (productId, basePlanId) -- 10 cas de test

  • (P0-#4) Rejet des signatures passkey legacy 0xpasskey (bypass par rawId publique)

- L'adresse synthetique derivee du rawId n'est plus acceptee server-side

- 5 tests couvrant le vecteur de forgery historique

  • Passkey ECDSA : Infrastructure cryptographique reelle pour les utilisateurs sans wallet
  • Phase 2 : Derivation secp256k1 via WebAuthn PRF extension + HKDF-SHA256
  • Phase 3 : Integration du stealth signer dans VaultView (4 callsites remplaces)
  • Binding TOFU (Trust-On-First-Use) avec protection anti-squat via expectedCid
  • Aucune dependance npm ajoutee -- @noble/hashes, @noble/curves, viem
  • WalletConnect : Suppression complete du protocole WalletConnect de l'extension
  • walletConnect.js remplace par un stub no-op deprecie (482 → 72 lignes)
  • Suppression des endpoints WSS WalletConnect du CSP et du manifest
  • L'identite est desormais geree exclusivement par Account Abstraction (Smart Wallet)
Corrections
  • Sync : Hardening du 3-way merge (threeWayMerge) -- 4 bugs de perte de donnees corriges
  • B1 : Propagation des suppressions de dossiers cross-device via folderTombstones (TTL 30 jours)
  • B2 : cloudQuotaUsed recalcule a partir des fichiers merges (plus de derive ascendante)
  • B3 : Merge field-level pour documents et cloudFiles (plus de LWW entier)
  • B4 : Tie-breaker deterministe pour les conflits simultanees
  • 16 tests de regression
  • Resilience : Preservation de l'etat local sur erreurs transitoires serveur (5xx / reseau)
  • cidPointer.ts : Result type discrimine (auth vs network vs corrupted) -- plus de clearing premature de delegation
  • PremiumContext : Cache premium preserve sur erreurs 5xx/reseau (iOS, Android, Web)
  • Mobile : Fix du drift d'adresse AA apres re-authentification biometrique
  • Remplacement de getOrCreateSecretKey() par getStoredSecretKey() durant le deverrouillage biometrique (iOS + Android)
  • Initialisation d'identite forcee meme avec mot de passe vide (flow Passkey)
  • Extension : Auto-signature Hidden Wallet en fallback quand aucune delegation n'est disponible
  • Extension : CSP simplifiee (connect-src 'self' https:) -- suppression de la whitelist WalletConnect
  • iOS : Fix Restore Purchase StoreKit 2 (getAvailablePurchases au lieu de restorePurchases casse dans expo-iap v3)
Ajouts
  • Mobile : Filtre par tags dans la liste des identifiants (iOS + Android)
  • Barre horizontale scrollable avec chips colores dynamiques
  • Selection/deselection par tap avec retour haptique
Versioning
  • Extension Chrome/Firefox : 1.6.0 → 1.6.1
  • iOS : 1.6.0 → 1.6.1 (build 1)
  • Android : 1.6.0 → 1.6.1 (versionCode 19)

1.6.0 2026-05-17
Securite
  • Sharing v2 (SEC-R4) : Suppression de l'ECDH self-loop dans le partage securise
  • Derivation directe HKDF(ephemeralPrivKey, SHA256(PIN)) au lieu du faux ECDH(priv, priv*G)
  • URL fragment contient la cle privee (32 bytes) au lieu de la publique (65 bytes) -- URL plus courte
  • Blob v2 plus compact (pas de cle privee chiffree dans le blob, -72 bytes)
  • Retrocompatibilite v1 maintenue en lecture pour les shares existants
  • 8 appelants mis a jour (iOS, Android, Extension, Web)
  • CSP Extension (SEC-R7) : Content Security Policy durcie avec 9 directives
  • default-src 'self' -- tout bloque par defaut
  • connect-src whitelist de 5 domaines + 2 WSS WalletConnect
  • frame-src 'none', object-src 'none', base-uri 'self'
  • wasm-unsafe-eval conserve (requis pour Argon2 + Automerge CRDT)
  • Audit confirme : zero eval() / new Function() dans le codebase
Corrections
  • Core : Fix openpgp/lightweightopenpgp dans import.ts
  • Le subpath ./lightweight ne definit pas de condition import Node -- bloquait les tests
  • Resolution des 2 echecs pre-existants dans la suite de tests core
  • Debloquage du package @vault-keeper/recovery (tests non executables avant)
  • Parite P2 : Formalisation de 6 features deja implementees mais non documentees
  • Android Credential Provider (VaultAutofillService.kt)
  • Google Play Billing (PremiumContext.tsx + expo-iap)
  • Email Aliases iOS/Android (AliasPanel.tsx + useAlias.ts)
  • Password History (3 plateformes)
  • Passphrase Generator (3 plateformes)
  • Seed Phrase Manager (Extension EditForm + DetailPane + iOS/Android folders)
Tests
  • 241 tests, 0 echec (vs 163 tests, 2 echecs en 1.5.x)
  • @vault-keeper/core : 95 → 173 tests (+78)
  • @vault-keeper/premium : 6 → 31 tests (+25)
  • @vault-keeper/recovery : 0 → 8 tests (debloque)
  • Nouveaux fichiers : sharing.test.ts, passwordHealth.test.ts, passwordStrength.test.ts
Versioning
  • Unification cross-plateforme a 1.6.0
  • Extension Chrome/Firefox : 1.5.0 → 1.6.0
  • iOS : 1.5.1 → 1.6.0 (build 8)
  • Android : 1.5.2 → 1.6.0 (versionCode 19)

1.5.2 2026-05-05
Corrections
  • iOS : Correction du rejet Apple App Store (Guideline 3.1.2(c)) -- ajout des liens Terms of Use et Privacy Policy dans le flow d'achat in-app
  • iOS : Suppression du champ de saisie de licence visible (Guideline 3.1.1) -- le premium cross-plateforme passe desormais silencieusement par le wallet
  • iOS : Ajout d'un footer legal sous le bouton d'achat avec explication du renouvellement automatique
  • iOS : Optimisation du layout PremiumScreen pour garantir la visibilite du footer legal
  • Android : Build AAB 1.5.2 (versionCode 10) pour le Play Store
  • i18n : Remplacement de tous les textes hardcodes restants en francais par des cles de traduction

1.5.1 2026-05-04
Corrections
  • Web : Resolution de la parite fonctionnelle Webapp / iOS -- integration de la gestion de synchronisation
  • Web : Ajout du Delegation Status Card et du Wallet Connection dans l'onglet Sync des parametres
  • Web : Finalisation du flux de renouvellement de delegation (signature + stockage persistant)
  • Web : Suppression du code legacy de synchronisation CRDT (erreurs JSON)
  • iOS : Restauration de la synchronisation IPFS et du flux de recovery
  • i18n : Correction des cles de traduction manquantes pour les indicateurs de statut de sync

1.5.0 2026-05-03
Ajouts
  • Premium : Nouveau modele a 4 paliers (Free / Premium / Pro / Ultimate)
  • Free : 1 document, 5 MB max, pas de cloud
  • Premium : 2 documents, 25 MB max, 10 MB cloud
  • Pro : 5 documents, 25 MB max, 50 GB cloud
  • Ultimate : documents illimites, 50 MB max, stockage illimite
  • Cloud : Stockage cloud chiffre multi-noeud avec chiffrement de bout en bout
  • Paiement Crypto : Checkout anonyme multi-chain (BTC, ETH, SOL, USDC) pour le plan Lifetime a 299 EUR
  • Wallet HD multi-chain avec polling on-chain en temps reel
  • Taux de change CoinGecko live
  • Timer flexible (2h pour BTC, 30min pour les autres)
  • Livraison automatique de cle de licence sans email
  • Landing Page : Refonte avec nouvelles features (Cloud, Quick Share, TOS AI, Password Health), badges Premium (couronne Lucide), lien Android/Play Store
  • Privacy Policy : Mise a jour pour refleter les nouvelles pratiques de gestion des donnees cross-plateforme
  • Android : Premier build AAB 1.5.0 pour le Google Play Store (test interne)
  • Extension : Publication v1.5.0 Chrome Web Store et Firefox Add-ons
Corrections
  • Extension : Correction du build de production (resolution des dependances)
  • iOS : Synchronisation des versions Xcode (1.5.0, build 8)
  • Legal : Mise a jour des CGV avec plan Lifetime, Fair Use, et clauses de non-remboursement crypto

1.4.0 2026-04-29
Ajouts
  • Extension : Redesign des bannieres anti-phishing -- nouveau design plus visible et informatif
  • Extension / iOS : Tour d'onboarding interactif avec spotlight guide pour les nouveaux utilisateurs
  • Extension : Amelioration du panneau de gestion des alias email
  • NFC : Implementation complete du protocole PACE sur iOS -- ecriture/lecture de mots de passe chiffres sur tags NFC
  • Passkeys : Support WebAuthn/FIDO2 cross-plateforme (Extension + iOS)
  • IPFS Sync : Synchronisation cross-plateforme amelioree avec nettoyage des emojis dans les traductions
  • CRDT Sync : Nouveau package @vault-keeper/sync base sur Automerge
  • Phase 2 : Integration du merge CRDT sur toutes les plateformes
  • Phase 3 : Payloads IPFS dual-format (JSON + CRDT)
  • Phase 5 : Cleanup et gestion des tombstones
  • CI : Workflow de synchronisation automatique vers le repo public open-core
  • Recovery : Correction du type mismatch pour decryptVault dans la creation de vault fragmentee
Corrections
  • Mobile : Correction de l'alignement des coordonnees du spotlight tour sur Android
  • Tests : Mise a jour des tests de migration vault pour la nouvelle logique de categorisation notes/seeds

1.3.0 2026-04-21
Ajouts
  • Secure Share : Redesign complet du partage securise
  • Nouveau sous-domaine secret.vaultkeepr.xyz pour les liens partages
  • Message personnel optionnel avec chaque partage
  • i18n complete (FR + EN) pour tous les textes du module
  • Quick Share : Nouveau module standalone sur toutes les plateformes (Web, Extension, iOS, Android)
  • Partage de liens, notes, et fichiers (Premium only)
  • Upload jusqu'a 50 MB avec message personnalise
  • Accessible via bouton raccourci dans la barre d'outils de l'extension
  • Extension : Redesign complet de la navigation et de l'UI popup
  • Reorganisation du menu parametres en 5 categories logiques
  • Correction de l'affichage du generateur de mots de passe
Corrections
  • Extension : Fix CSP bleeding overlay (display: none inline)
  • Extension : Fix WalletConnect attestation 400 (metadata.url corrige)
  • Extension : Ajout de la cle publique dans le manifest pour stabiliser l'ID d'extension
  • Extension : declarativeNetRequest pour spoofer l'Origin des WebSockets WalletConnect (bypass 403)
  • i18n : Suppression de la cle title dupliquee dans les traductions du generateur

1.2.0 2026-04-20
Ajouts
  • NFC PACE : Authentification NFC des documents d'identite via le protocole PACE (iOS)
  • Secure Documents : Coffre-fort de documents securises (Premium)
  • Upload et chiffrement de documents sensibles (CNI, passeport, permis, RIB, assurance)
  • Fragmentation sur plusieurs noeuds IPFS avec XChaCha20-Poly1305
  • Apercu floute avec reveal temporise (15 secondes)
  • Extraction OCR avec verification biometrique NFC
  • Android : Premiere release de l'application mobile Android (React Native + Expo 55)
  • Extension : Corrections multiples de stabilite

1.1.0 2026-04-05
Ajouts
  • Premium : Refonte visuelle complete (Glassmorphism, animations, refresh global de l'UI)
  • Nouveau modal de souscription Premium
  • Integration des outils de securite dans l'interface Premium
  • Web : Overhaul visuel Premium avec modale, integration Password Health et Breach Scanner
Corrections
  • iOS/Web : Fix de l'authentification IPFS sync, suppression du double Face ID, amelioration des performances de ListScreen
  • CSP : Ajout de nonce aux scripts JSON-LD dans le layout et les pages blog

1.0.0 2026-03-30
Premier tag de release stable.
Ajouts
  • Core : Moteur cryptographique XChaCha20-Poly1305 + Argon2id (64 MiB, 3 iter, 4 parallelism)
  • HMAC-SHA256 commitment scheme anti-substitution
  • Compression gzip avant chiffrement
  • Support des vault versions 2 et 3
  • Recovery : Shamir Secret Sharing (3-of-5) avec chiffrement HKDF par fragment
  • Distribution : Device, IPFS, Contact de confiance, Smart Contract, API VaultKeepR
  • Premium : Systeme de licences HMAC-SHA256 signees serveur
  • Stripe (Web), In-App Purchase (iOS), cle de licence (Extension)
  • Email templates premium (dark theme, logo, bilingue)
  • IPFS : Upload/download avec fallback multi-gateway (Promise.any())
  • Passkeys : Support WebAuthn/FIDO2 complet (ES256, P-256 ECDSA)
  • TOTP : Authenticator integre (SHA-1, SHA-256, SHA-512) avec countdown anime
  • Password Health : Dashboard avec scoring zxcvbn, detection de reutilisation
  • Breach Monitoring : Integration HIBP avec k-anonymity
  • Email Aliases : Generation et gestion d'alias email (Premium)
  • Password Generator : Generation cryptographique avec rejection sampling (elimination du biais modulo)
  • Smart Contract : VaultKeeperFragments.sol -- stockage on-chain de fragments chiffres (EVM)
  • Bug Bounty : Programme Bug Bounty Vault Challenge avec page, scripts et API
  • Web App : Next.js 15 (App Router)
  • Landing page avec animations particules et glassmorphism
  • Vault CRUD complet (mots de passe, cartes, identites, documents)
  • Blog SEO (12 articles)
  • Pages legales bilingues (Privacy Policy, CGV, Security Policy)
  • Sitemap, robots.txt, OpenGraph, JSON-LD
  • iOS App : React Native 0.83.2 + Expo 55
  • Face ID / Touch ID
  • NFC document scanning
  • Credential Provider (AutoFill iOS)
  • WalletConnect v2 deep linking
  • 23 ecrans
  • Extension Chrome : Manifest V3
  • Detection intelligente de formulaires de login avec overlay autofill
  • Detection de formulaires d'inscription avec generateur
  • Autofill identite et cartes bancaires
  • Autosave observer (detection de soumission reussie)
  • Detection anti-phishing dApp (MetaMask, ChainPatrol, Scam Sniffer)
  • Raccourcis clavier (Cmd+Shift+L, Cmd+Shift+G)
  • Palette de commandes (Cmd+K)
  • 39 composants React dans le popup
  • Extension Firefox : Port du codebase Chrome avec manifest adapte
  • i18n : Francais + Anglais complet (@vault-keeper/i18n)
  • CI/CD : GitHub Actions (lint, type-check, build, test, E2E Playwright)
  • Tests : 241+ tests unitaires et d'integration sur 7 packages
  • Legal : Declaration ANSSI, BIS Export Control, conformite Chrome Web Store et Firefox Add-ons
  • Securite :
  • Audit complet pre-bug bounty (C1, C2, H1-H4, M3, M5, L1)
  • Suppression de PBKDF2 (v1) -- Argon2id uniquement
  • Suppression de unsafe-eval du CSP
  • Auto-backup des stores
  • Hardening API complet (auth + rate limiting sur toutes les routes)
  • Monitoring Umami via middleware
  • Hardening serveur (SSH key-only, UFW, Fail2Ban, systemd sandboxing)

0.x 2026-03-03 a 2026-03-29 (Pre-release)
Infrastructure initiale
  • 2026-03-03 : Commit initial + synchronisation deps Expo 55 pour iOS
  • 2026-03-21 : Import monorepo complet avec structure Turborepo
  • Configuration CI GitHub Actions (Node 22)
  • Resolution des problemes de lockfile workspaces
  • Build pipeline : core > i18n > ipfs > wallet > premium > alias > cloud > web > extension
Developpement pre-1.0
  • 2026-03-24 : Interface Fragments, landing "Coming Soon", systeme Premium, contrats Solidity
  • 2026-03-26 : Modernisation UI/UX + refactoring VaultView.tsx (3670 > 2677 lignes, -27%)
  • Extraction de composants UI
  • 40 tests unitaires pour les modules extraits
  • Overlay d'onboarding first-run pour l'extension
  • 2026-03-27 : Ajout de framer-motion pour les animations du popup extension
  • 2026-03-28 : Gateway IPFS custom, fix WalletConnect, architecture modulaire du content script
  • 2026-03-29 : Modernisation UX iOS -- alignement visuel avec l'extension
Securite pre-launch (2026-03-31 a 2026-04-02)
  • Audit legal, securite, monitoring, backup
  • Rewrite des politiques de confidentialite
  • Hardening API (auth + rate limiting)
  • Overlay TOTP temps reel avec boutons Fill + Copy
  • Performance overlay : latence reduite (debounce 30ms, cache 5s TTL, animations 150ms)
  • QR code WalletConnect pour signature IPFS
  • Isolation complete du vault (purge WC SDK keys)

Plateformes et versions actuelles
PlateformeVersionStore
Web App1.6.5vaultkeepr.xyz
Extension Chrome1.8.0Chrome Web Store
Extension Firefox1.8.0Firefox Add-ons
iOS1.8.0 (build 8)App Store
Android1.8.0 (versionCode 34)Google Play
Smart Contract (Legacy)Base Mainnetbasescan.org

*VaultKeepR -- Decentralized. Private. Yours.*