Aller au contenu principal

Sécurité

Comment FinanceMate protège vos données financières. Dernière mise à jour : 28 mars 2026.

Vos finances sont chiffrées, pas simplement stockées

Chaque montant, chaque transaction, chaque note est chiffrée individuellement avec un algorithme de grade bancaire avant d'atteindre notre base de données. Ni l'administrateur, ni un attaquant ayant accès au serveur ne peut lire vos données.

Chiffrement de bout en bout

Vos données financières sont illisibles côté serveur

Hachage moderne

Mots de passe protégés par un algorithme résistant aux GPU

HTTPS forcé

Connexion chiffrée obligatoire sur toute l'application

Zero Knowledge

L'administrateur ne voit jamais vos données financières

Hébergé en France

Données stockées en Union Européenne, conformité RGPD

Anti brute-force

Protection multi-couches contre les tentatives d'intrusion

1. Chiffrement des données

Toutes vos données sensibles sont chiffrées avant d'être stockées en base de données. Le serveur ne manipule que des données illisibles. Seul votre navigateur peut les déchiffrer.

Comment ça marche

  • Chiffrement de grade bancaire avec un algorithme reconnu et recommandé par les agences de cybersécurité internationales
  • Chiffrement authentifié : chaque donnée inclut une signature d'intégrité qui détecte toute altération ou corruption
  • Chaque opération utilise un vecteur unique aléatoire. Même montant chiffré deux fois = résultat différent à chaque fois
  • Validation stricte du format et de l'intégrité des données avant tout déchiffrement
  • Clé de chiffrement dérivée individuellement pour chaque utilisateur via un algorithme de dérivation dédié. Même en cas de fuite de la base de données, chaque compte nécessite une attaque séparée

Ce qui est chiffré

Transactions

Montants, titres, descriptions, notes, montant total de financement

Dépenses fixes

Montants, titres, valeurs de partage, montants/pourcentages par personne

Mois

Solde initial

Templates

Titres, catégories, descriptions

Budgets & Financements

Plafonds de budget, montants des échéances, montants de remboursement attendus

Profil

Salaire (si configuré), identifiants bancaires (PRO)

Ce qui n'est pas chiffré (et pourquoi)

Les noms de catégories (sur les transactions, dépenses fixes et budgets) et les tags sont stockés en clair. C'est un choix technique assumé : ces données sont nécessaires pour le filtrage, le regroupement par catégorie et les statistiques côté serveur. Chiffrer les catégories rendrait impossible tout calcul ou tri sans déchiffrer l'intégralité des données à chaque requête.

Ces champs ne contiennent pas de données personnelles sensibles -ce sont des libellés génériques comme "Loyer", "Alimentation" ou "Loisirs", jamais des montants ni des informations d'identification.

Ce que le serveur voit vraiment

a1b2c3d4e5f6a7b8...c9d0e1f2:f1e2d3c4...b5a6f7e8:8a7f6e5d4c3b2a19f8e7d...

Voici ce que le serveur stocke pour un montant de 42,50 euros. Illisible sans votre clé personnelle.

Note de transparence : pour des raisons de sécurité, nous ne divulguons pas publiquement les détails techniques exacts de notre implémentation (versions, paramètres, architecture interne). Cette information est disponible sur demande dans le cadre d'un audit de sécurité.

2. Authentification et sessions

Mots de passe

  • Hachage avec un algorithme de dernière génération, vainqueur d'une compétition internationale de cryptographie et résistant aux attaques par GPU/ASIC
  • Paramètres calibrés au-dessus des recommandations OWASP pour résister aux attaques par dictionnaire
  • Validation de l'entropie réelle du mot de passe, pas de règles arbitraires ("1 majuscule, 1 chiffre..."), mais une vraie mesure mathématique de sa robustesse
  • Votre mot de passe n'est jamais stocké ni loggé. Seul un hash irréversible est conservé

Sessions

  • Tokens d'authentification dans des cookies httpOnly, inaccessibles depuis JavaScript et immunisés contre les attaques XSS
  • Politique same-site stricte : les cookies ne sont jamais envoyés lors de navigations cross-site
  • Tokens de courte durée avec rotation automatique à chaque renouvellement
  • Rotation atomique : si le renouvellement échoue, l'ancienne session reste valide (pas de déconnexion accidentelle)
  • Nombre de sessions limitées par compte. Les plus anciennes sont automatiquement révoquées
  • Cache éphémère optionnel : les sessions validées peuvent être mises en cache pendant 5 minutes maximum pour réduire la charge serveur. Le cache est automatiquement invalidé à la déconnexion

Récupération de compte

  • Phrase de récupération unique générée à l'inscription. C'est le seul moyen de récupérer un compte en cas de mot de passe oublié
  • La phrase est affichée une seule fois et n'est jamais stockée en clair côté serveur
  • Tentatives de récupération limitées par heure pour empêcher les attaques par force brute

3. Protection de l'API

Contre les attaques par force brute

  • Rate limiting par IP sur les routes de connexion et sur l'ensemble de l'API
  • Rate limiting par compte : plusieurs échecs consécutifs = verrouillage temporaire automatique
  • Monitoring en temps réel par IP : après 10 tentatives de connexion échouées, l'adresse IP est automatiquement bloquée pendant 15 minutes
  • Détection de spikes : surveillance des erreurs serveur en temps réel pour détecter les attaques automatisées
  • Protection renforcée sur les routes sensibles (récupération de compte, changement de mot de passe)

Contre les injections et falsifications

  • Protection CSRF obligatoire sur toutes les routes qui modifient des données
  • Requêtes paramétrées : aucune injection SQL possible par conception
  • Validation stricte côté serveur sur toutes les entrées utilisateur, jamais de confiance au frontend
  • Limites sur la taille des requêtes et le nombre d'éléments par opération en masse

Headers de sécurité

  • Content-Security-Policy : bloque l'exécution de scripts non autorisés
  • HSTS : force HTTPS sur l'ensemble du domaine et des sous-domaines
  • Protection anti-clickjacking : l'application ne peut pas être intégrée dans une iframe tierce
  • Permissions restrictives : caméra, micro et géolocalisation désactivés par défaut

4. Infrastructure et hébergement

  • Hébergé en France, données stockées en Union Européenne, conformité RGPD totale
  • Aucun service tiers : pas de Google Analytics, pas de CDN externe, pas de cloud américain. Vos données ne transitent par aucune plateforme tierce
  • Infrastructure maîtrisée de bout en bout : chaque composant du serveur est géré directement, sans couche d'abstraction superflue, pour un contrôle total et une surface d'attaque minimale
  • Pare-feu actif + blocage automatique des IP malveillantes
  • Connexion chiffrée TLS avec certificat renouvelé automatiquement
  • Sauvegardes quotidiennes chiffrées, récupération possible en cas d'incident
  • Cache en mémoire optionnel : les données de session et les clés de chiffrement peuvent être mises en cache temporairement (5 à 10 minutes) pour améliorer les performances. Ce cache est automatiquement invalidé à la déconnexion ou au changement de mot de passe, et l'application fonctionne normalement sans lui
  • Le serveur refuse de démarrer si une variable de sécurité critique est manquante ou mal configurée

5. Veille et amélioration continue

La sécurité n'est pas un état, c'est un processus. Nous assurons une veille active sur les vulnérabilités connues, les recommandations des organismes de référence (OWASP, ANSSI, NIST) et les bonnes pratiques du secteur.

  • Revue régulière des dépendances et mise à jour proactive des bibliothèques
  • Suivi des CVE (vulnérabilités publiées) sur l'ensemble de la stack
  • Renforcement continu : chaque nouvelle fonctionnalité passe par une revue de sécurité avant mise en production
  • Logs structurés avec politique Zero Data Leak : aucune donnée financière n'apparaît dans les logs, jamais
  • Journal d'audit de sécurité dédié : chaque connexion, déconnexion, tentative échouée, changement de mot de passe et suppression de compte est enregistré dans un fichier d'audit séparé pour la traçabilité des événements de sécurité
  • Le panneau d'administration n'expose aucune donnée financière, uniquement les métadonnées nécessaires à la gestion du service

6. Gratuit ou PRO : même niveau de sécurité

La sécurité n'est pas une fonctionnalité premium. Tous les utilisateurs de FinanceMate bénéficient du même chiffrement, de la même protection et des mêmes standards de sécurité, que vous utilisiez la version gratuite ou PRO.

Version gratuite

  • Chiffrement de bout en bout
  • Hachage de mot de passe dernière génération
  • Protection CSRF, rate limiting, headers sécurité
  • Hébergement France, zero tiers

Version PRO

  • Tout ce qui est dans la version gratuite
  • Exports (PDF, CSV) générés en mémoire, jamais stockés sur disque
  • Alertes email contenant uniquement des agrégats (aucun détail de transaction)
  • Budgets par catégorie avec plafonds chiffrés
  • Synchronisation bancaire sécurisée via API PSD2Bientôt
  • Données bancaires chiffrées avec le même standard

7. Fonctionnalités PRO : mesures de sécurité spécifiques

Les fonctionnalités PRO introduisent des traitements supplémentaires soumis à des mesures de sécurité dédiées.

Export de données (CSV, PDF, email)

  • Fonctionnalité désactivée par défaut, activable dans les paramètres
  • PDF générés en mémoire côté serveur, jamais écrits sur le disque
  • CSV générés côté client dans le navigateur, aucun transit serveur
  • Rate-limité à 5 générations par 15 minutes par utilisateur (PDF/email)
  • Transmis directement en TLS (HTTPS), aucun stockage intermédiaire
  • Les fichiers exportés contiennent des données déchiffrées -l'utilisateur est averti lors de l'activation

Alertes email

  • Contiennent uniquement des agrégats (totaux, pourcentages, catégories) -aucun détail de transaction individuelle
  • Transport sécurisé via TLS
  • Protection anti-injection HTML sur tous les champs utilisateur dans les emails

Budgets par catégorie

  • Plafonds de budget chiffrés de bout en bout avec le même standard que les transactions
  • Noms de catégories stockés en clair (métadonnées de filtrage, non sensibles par design)
  • Accès strictement limité à votre compte uniquement

Objectifs d'épargne

  • Noms et montants des objectifs chiffrés de bout en bout avec le même standard que les transactions
  • Accès strictement limité à votre compte uniquement

Journaux d'alertes

  • Rétention limitée à 90 jours, nettoyage automatique mensuel
  • Contiennent uniquement des métadonnées (type d'alerte, date) -aucune donnée financière

8. L'histoire derrière FinanceMate

L'idée de FinanceMate a longtemps germé dans ma tête, bien avant de savoir coder. Dès 2020-2021, en apprenant la programmation en DUT Informatique, l'envie de créer un outil pour gérer mes finances ne m'a jamais vraiment quitté. En début 2023, pendant ma licence, j'ai décidé de passer à l'action et de coder les premières versions : je n'arrivais pas à gérer mes dépenses ni à prévoir combien il me restait réellement après mes charges fixes.

À la base, le produit actuel était uniquement pour moi et ma compagne. Mais il a été tellement apprécié par notre entourage que j'ai décidé d'en faire un vrai service, accessible à tous. J'ai continué à itérer, version après version, en parallèle de mon travail de Lead Support Engineer. Le projet a évolué au fil du temps, mais l'objectif est resté le même : un outil de gestion financière simple, efficace et respectueux de ses utilisateurs.

Les versions précédentes (open source)

Les premières itérations du projet sont publiques sur GitHub. Elles n'ont rien à voir avec le code du SaaS actuel, mais elles montrent le chemin parcouru.

Le code actuel

Le code source de FinanceMate dans sa version actuelle n'est pas open source. C'est un choix assumé pour protéger le produit, pas la sécurité : la robustesse du chiffrement et de l'authentification ne repose pas sur le secret du code.

Pour les chercheurs en sécurité ou dans le cadre d'un audit, le code source est consultable sur demande. Contactez-moi à contact@financemate.fr.

Aujourd'hui, FinanceMate est un projet que je développe avec soin en dehors de mon travail. Ce n'est pas un side project bâclé : j'y consacre du temps, de l'énergie, et je m'efforce de fournir un produit de qualité. Sans publicité, sans tracking, sans revente de données, dans le respect total du RGPD et des recommandations de la CNIL.

Pourquoi gratuit ? Parce que je crois qu'on devrait pouvoir gérer son argent sans en dépenser, et sans sacrifier sa vie privée. La sécurité et le respect de vos données ne sont pas des options payantes.

9. Ce que FinanceMate ne fera jamais

XVendre ou partager vos données avec des tiers
XStocker votre mot de passe en clair
XLire vos données financières déchiffrées
XUtiliser des cookies de tracking ou de publicité
XEnvoyer vos données hors de l'Union Européenne
XDépendre de services tiers pour le traitement de vos données
XLogger des données sensibles (montants, titres, notes)
XExposer des tokens d'authentification côté navigateur

Signaler une vulnérabilité

Si vous découvrez une faille de sécurité, merci de la signaler de manière responsable. Ne publiez pas la vulnérabilité publiquement avant qu'elle ne soit corrigée.

Contact : contact@financemate.fr

Chiffrez votre message avec notre clé GPG publique disponible dans les mentions légales.