Analytics Legends — logoAI & Analytics Legends ConnexionInscription
Politique de sécurité · RFC 9116

Sécurité.

À jour au

Dernière mise à jour : 2 septembre 2026

Transport & durcissement

Tout le trafic en HTTPS (TLS 1.2+) avec HSTS imposé au niveau de l'edge GitHub Pages. La Content-Security-Policy limite les scripts à la même origine plus plausible.io (inerte depuis le 24 septembre 2026) et www.googletagmanager.com, ce dernier n'étant chargé qu'après consentement explicite à Google Analytics (aucun eval). style-src est 'self' 'unsafe-inline' — les styles inline sont autorisés car l'application React génère des objets de style inline, ce qui fait que les balises <style> injectées ne sont pas bloquées par la CSP aujourd'hui (un compromis connu ; l'éliminer nécessiterait d'extraire chaque style inline). Les frames de paiement sont restreints à Stripe. Le MIME-sniffing est bloqué (nosniff), les fuites de referrer sont bloquées (strict-origin-when-cross-origin). La Permissions-Policy désactive la géolocalisation, la caméra et le microphone. La CSP est déclarée via <meta http-equiv> dans index.html ; le HSTS est envoyé par GitHub Pages lui-même. Note : X-Frame-Options et la directive CSP frame-ancestors sont, par spécification, uniquement délivrables par en-tête et ne peuvent donc pas l'être par la balise meta d'un hébergement statique. Le domaine est désormais servi derrière Cloudflare, qui pose ces en-têtes à l'edge : mesuré le 2 septembre 2026, l'origine répond X-Frame-Options: DENY, Permissions-Policy (caméra, micro, géolocalisation, paiement, USB et interest-cohort désactivés), Referrer-Policy: strict-origin-when-cross-origin, X-Content-Type-Options: nosniff et Strict-Transport-Security avec preload. La protection contre le clickjacking est donc effective, et non plus seulement souhaitée.

Infrastructure

Front statique. Réseau edge mondial de GitHub Pages (CDN Fastly) avec mitigation DDoS au niveau de l'edge. L'origine qui sert l'application est entièrement statique : aucun serveur applicatif propre, aucun rendu côté serveur, aucun chemin de code applicatif exécuté sur cette origine. Les endpoints /api/* y sont du JSON statique.

Plan de données. Les données vivent dans Supabase (PostgreSQL managé) et sont lues par le navigateur via PostgREST et un petit nombre d'Edge Functions Deno — qui, elles, traitent bien des entrées utilisateur (JWT, formulaires, webhooks Stripe). L'autorisation n'est donc pas « éliminée par construction » : elle repose sur le Row-Level Security de PostgreSQL et sur la vérification du JWT dans chaque fonction, avec une posture fail-closed. Les risques serveur du Top-10 OWASP qui disparaissent réellement du fait du front statique sont ceux qui exigent un serveur applicatif à nous (XSS côté serveur, désérialisation, SSRF depuis l'origine web) ; SQLi, IDOR et contrôle d'accès restent des risques traités dans Supabase, pas des risques absents.

Intégration Supabase

La v36 introduit un garde-fou à l'exécution : si la clé REACT_APP_SUPABASE_ANON_KEY injectée se décode en role=service_role, le client refuse de démarrer. Cela attrape les fuites accidentelles de clé service_role dues à des confusions de secrets CI avant qu'elles n'atteignent une session navigateur.

Dépendances

Dépendances d'exécution actuelles : React, @supabase/supabase-js, @fontsource (Fraunces variable, Geist Sans, JetBrains Mono), fflate, pdfjs-dist, topojson-client et world-atlas. La liste canonique et à jour est toujours package.json. react-scripts a été abandonné en v36 (le projet tourne sur Vite), supprimant ~1 200 paquets transitifs et de nombreuses alertes de faible sévérité. Dependabot ouvre chaque semaine des PR de mise à jour npm et Actions.

Divulgation responsable

Écrivez à security@analyticslegends.ai. Merci de laisser 90 jours avant toute divulgation publique. Accusé de réception sous 72 heures, correctif sous 30 jours pour les problèmes de sévérité élevée. Version lisible par machine à /.well-known/security.txt.

Hors périmètre

Les problèmes dans le Checkout hébergé de Stripe (à signaler à stripe.com/security), l'infrastructure de GitHub (à signaler à bounty.github.com), les sites tiers vers lesquels nous pointons, l'ingénierie sociale des comptes de l'opérateur.