Sécurité
Comment vos données sont protégées
Des faits plutôt que des adjectifs : ce qui est en place, comment cela fonctionne et où sont les limites. Tout ce qui figure ici décrit l'application telle qu'elle fonctionne aujourd'hui. Si quelque chose n'est pas clair ou si vous trouvez un problème, l'adresse en bas de cette page arrive à une personne.
Où sont stockées vos données
- Vos données sont stockées dans une base Postgres gérée par Supabase. Les connexions sont chiffrées en transit et Supabase chiffre ses bases de données au repos.
- L'accès est contrôlé par des politiques de sécurité au niveau des lignes dans la base elle-même : seules les personnes d'un foyer peuvent lire ou modifier ses lignes, quoi que demande le code de l'application. Les membres ont des rôles (propriétaire, membre, lecteur) et la base vérifie le rôle à chaque écriture.
- Le site est hébergé chez Vercel et servi uniquement en HTTPS.
Connexions bancaires
- Les connexions passent par Plaid. Vous vous connectez à votre banque sur l'écran de Plaid ; votre identifiant et votre mot de passe bancaires n'atteignent jamais nos serveurs et nous ne les stockons jamais.
- Le jeton d'accès fourni par Plaid est chiffré en AES-GCM avant d'être stocké, avec une clé qui n'existe que comme secret côté serveur. La base de données seule ne suffit pas pour l'utiliser.
- Déconnecter une banque dans les réglages supprime aussi la connexion chez Plaid, pas seulement dans notre base. Supprimer votre compte fait de même pour toutes vos banques connectées.
Connexion
- Connectez-vous avec Google, avec Apple ou avec une adresse e-mail et un mot de passe.
- Les nouveaux mots de passe sont comparés aux fuites connues via l'API par plages de Have I Been Pwned : seuls les cinq premiers caractères d'un hachage quittent votre navigateur, jamais le mot de passe.
- Les codes de vérification et de réinitialisation sont générés par un générateur aléatoire cryptographiquement sûr, vérifiés en temps constant et limités en nombre d'essais par compte et par adresse réseau, pour qu'ils ne puissent pas être devinés par force brute.
- Un e-mail lorsque votre compte est ouvert depuis un appareil inconnu, avec un lien « ce n'était pas moi » qui ferme toutes les sessions et lance une réinitialisation du mot de passe. C'est un avis de sécurité, il ne peut donc pas être désactivé.
- Historique des connexions et sessions actives dans les réglages, avec déconnexion des autres appareils.
- Après 30 minutes d'inactivité, avec un avertissement 5 minutes avant, l'application vous déconnecte ou, là où c'est possible, se verrouille à la place. Sur le web, elle se verrouille sur un appareil où vous avez ajouté ou utilisé une clé d'accès, ou sur un appareil que vous avez choisi de mémoriser si votre compte a un mot de passe ; la clé d'accès ou le mot de passe la déverrouille. Les applications iOS et Android se verrouillent si vous avez activé leur verrou par Face ID, Touch ID ou biométrie. Le compteur ne tourne que lorsque l'application est à l'écran : un onglet masqué ou un téléphone verrouillé ne l'épuise pas.
Authentification à deux facteurs
- Authentification à deux facteurs avec n'importe quelle application d'authentification.
- Une fois activée, la base de données elle-même l'exige. Chaque table contenant des données financières porte une politique qui refuse une session n'ayant pas validé le second facteur : même un mot de passe volé avec une session valide ne permet pas de lire vos soldes ou vos opérations.
- En activant l'authentification à deux facteurs, vous recevez dix codes de récupération à usage unique, affichés une seule fois, à enregistrer ou à imprimer. Si vous perdez votre authentificateur, n'importe lequel de ces codes désactive tout de suite l'authentification à deux facteurs, pour que vous puissiez vous connecter et la configurer de nouveau. Sans code de récupération, le retrait par e-mail prend 72 heures : nous vous écrivons au début du délai et de nouveau la veille de son terme, chaque fois avec un lien pour annuler, et l'utilisation de votre authentificateur entre-temps l'annule aussi. Personne ne peut raccourcir ce délai, pas même notre assistance.
Sur votre téléphone
- Les applications iOS et Android peuvent se verrouiller avec Face ID, Touch ID ou la biométrie de l'appareil. C'est facultatif, dans Réglages → Sécurité, et le verrou s'active à l'ouverture et chaque fois que vous quittez l'application, ou après 1, 5 ou 15 minutes en arrière-plan, selon votre choix. Sur iPhone, Face ID peut aussi vous reconnecter après une déconnexion.
- Masquez tous les soldes sur l'appareil que vous utilisez d'un simple geste, si quelqu'un regarde par-dessus votre épaule.
Accès des assistants IA
- Connecter Claude, ChatGPT ou un autre assistant utilise un jeton d'accès personnel que vous créez dans les réglages. Nous ne stockons qu'un hachage SHA-256, jamais le jeton lui-même.
- Pour l'instant, toutes les connexions d'assistants sont en lecture seule ; les outils qui modifient des données ne sont tout simplement pas proposés. Les connexions autorisées par OAuth sont toujours en lecture seule.
- Chaque requête s'exécute en votre nom, avec les mêmes règles de base de données que l'application : un assistant ne peut jamais voir plus que vous. Les jetons peuvent expirer et vous pouvez en révoquer un à tout moment.
Dans votre navigateur
- Strict Transport Security avec préchargement, pour que les navigateurs ne se connectent qu'en HTTPS.
- Une politique de sécurité du contenu qui limite les connexions de la page à une courte liste de services nommés (notre base de données, Plaid, l'API de vérification des fuites et notre suivi des erreurs) et n'autorise que le cadre de Plaid.
- Le site ne peut pas être intégré dans une autre page, ce qui bloque le détournement de clic, et le navigateur n'accorde pas l'accès à la caméra, au micro, à la localisation ni aux paiements.
Rapports d'erreurs et statistiques
- Les rapports de plantage sont envoyés à Sentry et ne vous identifient que par un identifiant de compte interne, jamais par votre e-mail. Avant tout envoi, les valeurs qui ressemblent à des jetons, mots de passe, codes, adresses e-mail ou numéros de téléphone sont retirées des URL. Les rapports de plantage propres à l'application Android portent des identifiants d'installation aléatoires plutôt qu'un identifiant de compte, et les jetons, adresses e-mail et longs nombres sont retirés du texte de l'erreur.
- Les visites sont comptées par Vercel Web Analytics, sans cookies. Aucun traceur publicitaire, ni Google Analytics, ni pixel Facebook.
Vous gardez la main
- Téléchargez tout depuis les réglages à tout moment : un ZIP avec un tableur (CSV) par type de données, les mêmes données en JSON et un README qui décrit les fichiers. Il couvre les dettes, comptes, opérations, budgets, objectifs, règles de catégorisation, étiquettes, l'historique de valeur nette, votre foyer, vos réglages et l'historique de connexion : tout ce que vous voyez dans l'app. Les mots de passe, jetons d'accès bancaire et autres secrets n'y figurent jamais.
- Supprimez votre compte depuis les réglages. C'est un bouton, pas une demande au support : vos banques sont déconnectées chez Plaid, vos données et votre photo de profil sont supprimées et votre accès est retiré.
Ce que nous ne faisons pas
- Vendre vos données ou afficher des publicités. Les revenus viennent des abonnements Pro.
- Stocker vos identifiants bancaires. Nous ne les voyons jamais.
- Revendiquer des certifications que nous n'avons pas. C'est un petit produit ; il n'a pas fait l'objet d'un audit SOC 2 et ne prétendra pas le contraire.
Signaler un problème de sécurité
Si vous pensez avoir trouvé une faille, écrivez-nous directement. Nous préférons nettement l'apprendre de vous en premier.
Quoi inclure
- Ce que vous avez trouvé, et la gravité que vous lui donnez.
- Les étapes pour le reproduire, avec l'URL ou la requête utilisée.
- Tout ce que vous avez vu qui ne vous appartenait pas. Dites-le, et arrêtez-vous là.
Si vous cherchez de bonne foi, n'accédez pas aux données d'autres personnes et nous laissez un délai raisonnable pour corriger ce que vous trouvez, nous ne vous poursuivrons pas et ne vous signalerons pas.
Il existe un bug bounty rémunéré. Le périmètre, les règles et le fonctionnement des primes sont sur la page du bug bounty.
Comptez quelques jours pour une réponse.