Modèle de sécurité
Précisément ce qu'Aevumex chiffre, comment fonctionnent les clés, quelles données notre serveur voit bel et bien, ce que nous ne pouvons pas faire et où s'arrête la promesse zero-knowledge. Écrit pour être vérifié, pas pour convaincre.
Dernière mise à jour : 19 septembre 2026 · s'applique à la version 0.1.4 de l'application et aux versions ultérieures
Ce document décrit honnêtement ce que l'application fait de vos données. Il s'adresse aux personnes qui ne veulent pas croire « zero-knowledge » sur parole. Partout où quelque chose est une limite ou un point ouvert, c'est écrit.
En un paragraphe
Votre coffre (chaque pièce, lingot, prix d'achat, justificatif et note) est chiffré sur votre appareil avec une clé qui n'existe que sur votre appareil et qui est dérivée de votre phrase de récupération. Notre serveur ne conserve que des blocs chiffrés et ne peut pas les lire. Ce que le serveur voit bel et bien en clair : votre adresse e-mail, le nombre d'éléments de votre coffre, vos alertes de prix, et tout ce que vous publiez sur la place de marché ou écrivez dans une conversation. Il n'y a ni traçage, ni réseau publicitaire, ni rapport de plantage. Il n'y a pas non plus, pour l'instant, d'audit indépendant.
Ce qui est chiffré
- Chaque élément du coffre en un seul bloc : métal, poids et titre, quantité, prix, date et heure d'achat, notes, numéros de série, lieu de conservation, données de vente et liste des justificatifs. D'un élément, le serveur ne voit que le bloc chiffré, un numéro de version et des horodatages.
- Les justificatifs d'achat (photos) sont stockés dans des fichiers chiffrés séparément, en local et, si vous êtes connecté, dans un espace de stockage privé sur le serveur. Jamais sous forme de photo lisible.
- Le cache local de votre appareil (cours, préférences, dernier coffre chargé) se trouve dans une base de données chiffrée dont la clé est conservée dans le trousseau du système d'exploitation.
Comment fonctionnent les clés
- À la création de votre coffre, l'application génère une phrase de récupération de 12 mots (BIP39, 128 bits d'aléa). Cette phrase n'est enregistrée nulle part ; vous seul la détenez.
- À partir de la phrase, une graine est calculée selon la norme BIP39 (PBKDF2), puis, avec HKDF-SHA256, la clé principale de 256 bits. La même phrase donne toujours la même clé : la phrase seule suffit donc à tout restaurer sur un nouvel appareil.
- La clé principale est conservée sur votre appareil dans le trousseau iOS (Keychain) ou le Keystore Android, marquée « cet appareil uniquement » (elle n'est pas incluse dans les sauvegardes) et, si vous activez la biométrie, libérée seulement après Face ID, Touch ID ou une empreinte digitale. Sur Android, seule la classe biométrique la plus forte compte ; une reconnaissance faciale plus faible est refusée plutôt que silencieusement dégradée.
- Votre code PIN (6 à 8 chiffres) ne fait que déverrouiller l'application. Il est haché avec Argon2id et ne fait pas partie du chiffrement : qui pénètre le serveur ne tire rien du code PIN, et qui devine le code PIN n'a toujours pas la clé.
- Chaque élément est chiffré avec AES-256-GCM, avec un nonce unique et avec l'identifiant de l'élément et celui de votre compte comme données authentifiées supplémentaires. Un bloc d'un compte ne peut donc pas être placé sous un autre compte ou un autre élément sans que le déchiffrement échoue.
- La clé ne quitte jamais votre appareil. L'application n'a aucune fonction pour nous l'envoyer, et le serveur n'a aucune table pour la conserver.
Ce que le serveur voit bel et bien
Le zero-knowledge s'applique au coffre. D'autres fonctions ne marchent que si le serveur sait quelque chose. Voici la liste complète.
| Donnée | Visible pour nous | Pourquoi |
|---|---|---|
| Adresse e-mail, moments de connexion, si vous vous connectez via Apple ou Google | Oui | Compte et connexion |
| Nombre d'éléments du coffre, dates de création ou de modification, taille de chaque bloc chiffré | Oui (métadonnées uniquement) | Synchronisation et limite de cinq éléments de la version gratuite |
| Contenu des éléments du coffre et des justificatifs | Non | Chiffré sur l'appareil |
| Alertes de prix : métal, cours seuil, direction | Oui, en clair | Le serveur vérifie chaque minute si un seuil a été atteint et envoie la notification push. Une alerte de portefeuille (par exemple « prévenez-moi à 10 000 € ») est convertie sur votre appareil en un seul cours seuil ; le serveur voit ce cours et le métal, pas vos avoirs |
| Place de marché : annonces, offres, messages de conversation, avis, signalements, blocages, recherches enregistrées | Oui, en clair | Délibérément : le signalement et le blocage, la modération et les obligations envers les app stores ne fonctionnent pas sur du contenu chiffré. Ne mettez jamais dans une annonce ou une conversation quelque chose que vous ne voudriez pas nous dire |
| Jeton push de votre appareil et langue de l'application | Oui | Envoyer les notifications dans votre langue |
| Statut d'abonnement (Pro ou non), identifiant de transaction Apple ou Google | Oui, via RevenueCat | Débloquer les fonctions Pro. Nous ne voyons aucune donnée de paiement |
| Titre d'une annonce pour laquelle vous demandez une illustration IA | Oui, transmis à Google Gemini | Place de marché uniquement ; les éléments du coffre ne reçoivent jamais d'image générée par le serveur |
| Statistiques d'utilisation, identifiants d'appareil, rapports de plantage, identifiants publicitaires | Non | L'application ne contient aucun SDK d'analyse, de publicité ni de rapport de plantage |
Les cours, l'historique et les actualités sont récupérés dans les mêmes tables publiques que celles qu'utilise ce site ; ces requêtes ne contiennent aucune donnée sur vos avoirs.
Ce que nous ne pouvons pas faire
- Lire votre coffre, pas même à votre demande, à celle d'un héritier ou d'une autorité. Nous ne pouvons remettre que des blocs chiffrés.
- Retrouver votre phrase de récupération ou réinitialiser votre code PIN. Perdre la phrase et l'appareil, c'est perdre le coffre. C'est pourquoi l'application vous demande de noter la phrase avant que quoi que ce soit ne se trouve dans le coffre.
- Restaurer un élément que vous avez supprimé une fois la suppression synchronisée.
Où s'arrête la promesse
Voici les limites qu'il faut connaître pour juger la promesse à sa juste valeur.
- Vous faites confiance au code de l'application. L'application déchiffre votre coffre sur votre appareil ; du code que nous distribuons pourrait donc aussi en abuser. C'est vrai de toute application avec chiffrement sur l'appareil. Ce que nous faisons pour y remédier : votre coffre n'est déchiffré que sur votre propre appareil et la clé ne le quitte jamais, donc même une mise à jour malveillante ne pourrait rien récupérer sur nos serveurs. Ce qui manque : des mises à jour over-the-air signées, et des builds reproductibles pour que vous puissiez vérifier vous-même que le binaire correspond au code source. Sur iOS, ce n'est pas réalisable en pratique. Sur iOS, ce n'est pas réalisable en pratique.
- Les métadonnées révèlent quelque chose. À partir du nombre d'éléments et des seuils des alertes de prix, une personne ayant accès à la base de données pourrait déduire que vous possédez des métaux précieux et, approximativement, quel métal pèse le plus. Ni combien, ni quelles pièces.
- Votre appareil est la frontière. Un appareil déverrouillé entre de mauvaises mains, un enregistrement d'écran, un logiciel malveillant sur un appareil jailbreaké ou rooté, ou quelqu'un qui lit votre phrase de récupération par-dessus votre épaule : le chiffrement ne protège pas contre cela. L'application se verrouille automatiquement après le délai que vous choisissez et masque les montants sur demande.
- Pas d'audit indépendant. La logique des clés est isolée et entièrement testée, mais pas encore examinée par un tiers. Nous ne qualifions donc jamais l'application d'« auditée » ou de « vérifiée ». Dès que ce sera fait, le rapport figurera sur cette page.
- Des briques standard, pas de crypto maison. AES-GCM, HKDF, Argon2 et BIP39 viennent des bibliothèques noble et scure, elles-mêmes auditées. Nous n'avons inventé aucun algorithme.
Serveur et infrastructure
Le backend tourne sur Supabase (PostgreSQL, région EU-West, Irlande) avec la sécurité au niveau des lignes (row-level security) : chaque table a des règles qui imposent qu'un compte ne puisse lire et écrire que ses propres lignes, et les limites comme « cinq éléments gratuits » sont appliquées dans la base de données, pas seulement dans l'application. Les cours viennent de metals.dev ; la clé d'API correspondante n'existe que sur le serveur. Ce site lit les cours avec une clé publique en lecture seule et ne pose aucun cookie.
Signaler une vulnérabilité
Vous avez trouvé une erreur dans ce qui précède, ou une faille ? Écrivez à support@aevumex.com (également indiqué dans security.txt). Nous accusons réception sous cinq jours ouvrés, vous tenons informé et n'engageons aucune action en justice contre qui signale de bonne foi, n'accède pas aux données d'autrui et nous laisse le temps de corriger. Il n'existe pas encore de programme de récompense.
Modifications de ce document
- 19 septembre 2026 : première version. Publication de security.txt.
- 21 septembre 2026 : l’affirmation concernant les mises à jour over-the-air signées a été retirée. La mesure était configurée mais n’est jamais devenue active dans une application livrée : aucune mise à jour n’a été signée et aucune version installée ne vérifie les signatures. Ce qui figurait ici était inexact et a été supprimé.