Sécurité : ce qui protège vos données, et comment le vérifier
Mis à jour le 29/09/2026
Cette page décrit les protections du site telles qu'elles sont réellement en place, et donne pour chacune une façon de la vérifier vous-même, sans nous croire sur parole : depuis les outils de développement de votre navigateur (F12 ou « Inspecter », onglets Réseau, Application / Stockage) ou depuis votre application de portefeuille. Ce qui ne peut pas être vérifié de l'extérieur est indiqué comme tel. Elle est mise à jour à chaque évolution du site ; la version en cours est affichée en bas de chaque page.
1. Votre portefeuille : lecture seule, aucune signature
- Le site ne demande à votre portefeuille qu'une chose : votre adresse publique (la demande de
connexion standard,
eth_requestAccounts/connect). Il ne demande jamais de signature, de transaction, d'approbation de jeton ni de phrase de récupération. - Une adresse collée à la main suffit : aucun compte, aucune extension.
- Le site n'a aucune clé privée, donc aucun moyen de déplacer des fonds — ni le nôtre, ni celui d'un attaquant qui prendrait le contrôle du serveur.
Vérifiez : lors de la connexion, votre portefeuille affiche exactement ce qui lui est demandé. Vous devez voir « bilandefi.fr souhaite voir votre adresse » (ou équivalent), et rien d'autre. Si une signature, une transaction ou une approbation vous est proposée, refusez : ce n'est pas bilandefi.fr. Vous pouvez retirer l'autorisation à tout moment dans les réglages du portefeuille (« sites connectés »).
2. Aucun script tiers, aucun traceur
- Chaque page est servie avec une politique de sécurité du contenu (CSP) qui n'autorise que les
scripts et images du site lui-même :
script-src 'self'. Un script injecté, une publicité ou un traceur ne peuvent pas s'exécuter. - Les seuls scripts sont ceux du site : la lecture de l'adresse dans le portefeuille, la reconnaissance du réseau d'une adresse collée, et — seulement si vous cliquez sur WalletConnect — le SDK WalletConnect, servi par notre serveur (version épinglée), jamais par un tiers.
- Le rapport lui-même (la page de bilan) est une page HTML sans script de calcul : tout est calculé sur le serveur, les onglets et survols sont du CSS.
Vérifiez : onglet Réseau des outils de développement, puis rechargez une
page : toutes les requêtes vont vers bilandefi.fr. Exceptions, seulement si vous les déclenchez :
accounts.google.com quand vous choisissez « Continuer avec Google », le relais WalletConnect
(*.walletconnect.com / *.walletconnect.org, *.reown.com) quand vous cliquez
sur WalletConnect. L'en-tête Content-Security-Policy de chaque réponse liste ce qui est autorisé.
3. En-têtes de sécurité, sur chaque réponse
| En-tête | Valeur | Ce que ça empêche |
|---|---|---|
Content-Security-Policy | default-src 'self'; script-src 'self'; img-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self' | Scripts et ressources venus d'ailleurs, formulaires détournés vers un autre site |
Strict-Transport-Security | max-age=31536000; includeSubDomains | Toute connexion en clair (HTTP) une fois le site visité en HTTPS |
X-Frame-Options | DENY | L'affichage du site dans un cadre d'un autre site (clickjacking) |
X-Content-Type-Options | nosniff | L'interprétation d'un fichier comme un script |
Referrer-Policy | same-origin | La fuite de l'adresse de la page (et de ce qu'elle contient) vers un autre site |
Cache-Control | private, no-store | La conservation d'un bilan dans un cache partagé (proxy, hébergeur) |
Permissions-Policy | browsing-topics=(), interest-cohort=() | Le ciblage publicitaire du navigateur |
Vérifiez : onglet Réseau, cliquez sur la requête de la page, puis
En-têtes de réponse. Ou, dans un terminal : curl -sI https://bilandefi.fr/faq.
4. Ce qui sort de votre navigateur
- Vers le site : l'adresse publique à analyser, vos réponses aux points à trancher, et ce que vous tapez dans un formulaire. Rien d'autre : pas d'identifiant d'appareil, pas de mesure d'audience.
- Dans les liens : l'adresse n'apparaît plus en clair ; elle voyage chiffrée
(
?a=…, AES-SIV authentifié), illisible pour l'hébergeur et ses journaux. Vos réponses voyagent chiffrées elles aussi (?r=…, AES-GCM, différentes à chaque lien). - Réponses aux points à trancher : elles restent dans votre navigateur ; le serveur ne garde que des compteurs anonymes (jour, protocole, réseau, réponse), sans adresse.
Vérifiez : ouvrez un bilan, puis regardez la barre d'adresse : ?a= suivi
d'un jeton, et non votre adresse. Dans l'onglet Réseau, les requêtes ne portent aucune donnée que vous
n'ayez saisie.
5. Cookies
| Cookie | Rôle | Durée | Attributs |
|---|---|---|---|
pat_session | Votre session (seulement si vous avez un compte) | 12 h | HttpOnly, Secure, SameSite=Lax, signé — un cookie modifié est ignoré |
pat_session_oauth | L'aller-retour vers Google (état, PKCE) | 30 min | HttpOnly, Secure, SameSite=Lax |
bd_niveau | Votre niveau (débutant, confirmé, expert) | 1 an | HttpOnly, SameSite=Lax ; aucun identifiant |
Vérifiez : outils de développement, onglet Application (Chrome) ou Stockage (Firefox), puis Cookies. Il n'y en a pas d'autre, et aucun n'appartient à un tiers.
6. Comptes et mots de passe
- Mot de passe haché avec scrypt (paramètres OWASP, sel par mot de passe) : nous ne pouvons pas le lire.
- Lien de confirmation valable 24 h, lien de réinitialisation valable 1 h ; changer de mot de passe périme tous les liens en circulation.
- Verrouillage temporaire après des échecs répétés ; un e-mail déjà inscrit n'est jamais révélé au visiteur (le titulaire est prévenu, pas lui).
- Connexion Google par OpenID Connect avec PKCE et nonce ; le site ne voit que l'e-mail, le nom et la photo de profil.
- Les clés API des plateformes que vous connectez sont acceptées en lecture seule (une clé qui autorise un retrait est refusée) et stockées chiffrées ; elles ne sont jamais réaffichées.
- Un espace ne voit que ses données : chaque lecture en base est filtrée par l'identifiant de l'espace.
7. Ce que le serveur garde, et sous quelle forme
- Le rapport n'est pas enregistré : calculé, affiché, gardé au plus 45 minutes en mémoire, jamais sur disque.
- Le cache des données blockchain est rangé sous une empreinte à clé secrète (HMAC-SHA256) de l'adresse — impossible de retrouver l'adresse depuis un nom de fichier, ni de savoir si une adresse a été analysée — et son contenu est chiffré (AES-GCM). La clé vient de l'environnement de l'hébergeur, jamais du disque.
- La base de données est hébergée chez Render, à Francfort. Le site refuse de démarrer avec un secret de session par défaut.
- La liste complète — donnée par donnée, durée, qui y accède, comment l'effacer — est sur Ce que nous faisons de vos données. « Supprimer mes données », depuis votre espace, efface tout sur-le-champ.
Ce que vous ne pouvez pas vérifier de l'extérieur : le chiffrement du cache et de la base, la durée de conservation en mémoire. Ce sont des engagements de l'éditeur, décrits ici tels qu'ils sont codés ; ils sont opposables au titre du RGPD.
8. Contre l'aspiration et l'abus
- Limites de débit par visiteur (et par compte), plus serrées sur le calcul de bilan ; suspension temporaire des scripts qui balayent le site. Les logos et fichiers du site n'y comptent pas : afficher une page n'est jamais pénalisé.
- Les outils automatisés qui s'annoncent comme tels n'accèdent pas aux pages qui coûtent.
- Aucune API publique ne renvoie de données en masse.
9. Revue de sécurité et signalement
- Dernière revue interne : 29 septembre 2026 (v0.6.8) — authentification, cloisonnement des espaces,
échappement HTML, en-têtes, relais WalletConnect, effacement de compte, dépendances (
pip-audit: aucune vulnérabilité connue). Corrections apportées à cette occasion : échappement des guillemets dans les attributs HTML (sans exécution possible grâce à la CSP), périmètre exact du relais WalletConnect (version épinglée), HSTS étendu aux sous-domaines, effacement des positions surveillées et des jours de présence avec le compte, refus du secret par défaut. - Vous avez trouvé une faille ? Écrivez à contact@bilandefi.fr (voir aussi /.well-known/security.txt). Nous répondons sous 72 h et corrigeons avant toute publication ; aucune poursuite contre une recherche de bonne foi qui n'accède pas aux données d'autrui.