Comment nous gérons votre code
Herozion est un scanner de sécurité local-first. L'analyse s'exécute sur votre machine, votre dépôt complet n'est jamais envoyé. Des connexions réseau limitées et documentées (télémétrie anonyme, OSV.dev, auth, push opt-in, ai-fix opt-in) sont décrites ci-dessous.
Aucun LLM, modèle de détection ni système de recommandation n'est entraîné sur vos données. En revanche, si vous lancez herozion ai-fix (opt-in), un extrait limité (±30 lignes) est envoyé à un provider IA tiers pour générer un correctif — sans entraîner de modèle Herozion sur ce code.
--offline possible). AI Fix : appel cloud opt-in uniquement si vous lancez herozion ai-fix.herozion-report.json). Vous contrôlez entièrement où il est stocké et qui y a accès.Connexions réseau documentées
Toute connexion sortante est listée ci-dessous. Vous contrôlez ce qui part via les flags et variables d'environnement.
Surveillez le trafic réseau pendant un scan (tcpdump, Wireshark, moniteur réseau de votre OS). Comparez ce que vous observez au tableau ci-dessous.
Ce qui circule sur le réseau (et pourquoi)
| Opération | Connexion réseau | Données transmises |
|---|---|---|
herozion scan, Analyse locale |
Analyse locale + métadonnées | Télémétrie anonyme post-scan (score, compteurs, durée), jamais le code source |
brew install herozion, Installation Homebrew |
Oui, téléchargement du package | URL de téléchargement Herozion depuis GitHub Releases / registre npm |
brew upgrade herozion, Mise à jour |
Oui, téléchargement mise à jour | Nouvelle version de l'outil CLI depuis GitHub Releases / registre npm |
herozion login, Authentification |
Oui, API Herozion | OTP par e-mail, session /auth/me, validation de licence, jamais votre code |
herozion scan, CVE dépendances |
Oui, OSV.dev | Noms et versions de packages uniquement (désactivé avec --offline) |
herozion push, Dashboard (opt-in) |
Oui, sur votre commande | Score, catégories, chemins de fichiers et extraits de lignes, jamais le dépôt complet |
herozion ai-fix, Correction IA (opt-in) |
Oui, service AI Herozion → provider IA | Extrait vulnérable ±30 lignes, langue, framework le cas échéant, catégorie / CWE / sévérité, chemin et ligne. Confirmation informative une fois par session terminal (ou --yes-consent / ~/.herozion/ai_consent.json) |
Architecture CLI, scan local
Herozion est un outil CLI autonome (package npm et/ou installateurs natifs). Pour analyser votre code, aucun service cloud n'est requis : le moteur tourne sur votre machine. AI Fix est un flux distinct, opt-in, qui appelle un service cloud uniquement lorsque vous le demandez.
| Composant | Localisation | Description |
|---|---|---|
| Moteur d'analyse | Local, dans l'outil CLI | 26 analyseurs statiques embarqués dans l'outil CLI. Aucune dépendance cloud pour le scan. |
| Base de règles OWASP | Local, dans l'outil CLI | Les règles de détection sont embarquées. Mises à jour via brew upgrade / npm update -g herozion. |
| Rapport JSON | Local, votre disque | Écrit dans le répertoire courant ou le chemin spécifié par --output. |
| Cache de licence | Local, ~/.herozion/ |
La validation de licence est mise en cache localement. Réseau requis uniquement à la première activation ou renouvellement. |
| Intégration CI/CD | Local, runner CI | S'exécute dans votre runner (GitHub Actions, GitLab CI, Jenkins) sans accès internet si le package est mis en cache (sauf AI Fix / OSV si activés). |
AI Fix, provider IA et cache
herozion ai-fix est opt-in. Un extrait (±30 lignes) et des métadonnées partent vers le service AI Herozion (ai.herozion.io), puis vers un provider IA (aujourd'hui Google Gemini ; l'architecture permet de changer de provider). Herozion n'entraîne pas de modèle sur cet extrait.
Selon les conditions Paid Services de l'API Gemini, Google n'utilise pas les prompts ni les réponses pour entraîner ou améliorer ses produits ; un journalnage limité peut exister pour la détection d'abus et les obligations légales. Voir ai.google.dev/gemini-api/terms.
Cache AI Fix (serveurs Herozion)
Pour éviter de reconsommer un crédit sur un même motif, Herozion peut conserver en cache (mémoire / infrastructure Herozion) une empreinte SHA-256 du code normalisé (littéraux anonymisés, sans identifiants métier) associée à la réponse du modèle, jusqu'à 30 jours. Le corps de requête brut n'est pas archivé en base. Un hit de cache = 0 crédit.
Contrôles utilisateur
- Ne pas lancer
herozion ai-fix: aucun extrait ne part vers un LLM. - Confirmation informative une fois par session terminal ; skip CI via
--yes-consent/--accept-privacy/-y. - Consentement durable (VS Code / automation) :
~/.herozion/ai_consent.json; session :~/.herozion/ai_consent_session.json. - À côté de
HEROZION_TELEMETRY=0et--offlinepour le scan : ces flags contrôlent AI Fix sans désactiver l'analyse locale.
Chiffrement des rapports et du cache
Les fichiers sensibles stockés par Herozion sur votre machine utilisent un chiffrement fort.
- Cache de licence chiffré, Le cache de licence est chiffré avec une clé dérivée de votre machine (identifiant système unique). Il ne peut pas être réutilisé sur une autre machine.
- Rapports en clair par défaut, Le fichier
herozion-report.jsonest en JSON lisible par défaut pour faciliter l'intégration CI/CD. Utilisez--encrypt-outputpour chiffrer le rapport avec votre propre clé. - Aucune donnée persistée par Herozion, En dehors du cache de licence et du rapport, Herozion ne crée aucun fichier persistant sur votre machine.
Suppression automatique des données
Herozion applique une politique de rétention minimale sur les données qu'il stocke, aussi bien côté serveur que côté client.
| Donnée | Où | Suppression |
|---|---|---|
Rapport d'analyse (herozion-report.json) |
Votre machine (local) | Vous êtes seul responsable. Aucune copie chez Herozion. |
| Cache de licence | Votre machine (répertoire local Herozion) | Supprimé par herozion --logout ou désinstallation. |
| Logs de visite (IP tronquée) | Serveurs Herozion | Rotation automatique sur une courte durée glissante. |
| Données d'inscription meetup | Serveurs Herozion (chiffrées) | Suppression automatique 90 jours après l'événement. |
| JWT de session | Cookie navigateur | Expire automatiquement après une courte période. Révocable via déconnexion. |
| Cache AI Fix (empreinte normalisée + réponse) | Serveurs Herozion (service AI) | Expiration automatique jusqu'à 30 jours ; pas d'archivage du corps de requête brut. |
Télémétrie & Statistiques d'utilisation
Après chaque herozion scan, Herozion envoie par défaut des statistiques anonymes (score, compteurs, durée, version CLI, OS) pour améliorer le produit, jamais vos chemins de fichiers ni votre code source.
Métadonnées agrégées uniquement : score, nombre de findings par catégorie, durée du scan, version CLI, système d'exploitation. Aucun chemin de fichier, aucun extrait de code, aucun nom de projet.
Désactivation et périmètre
Vous gardez le contrôle :
- Opt-out télémétrie :
HEROZION_TELEMETRY=0. - Distinct de
herozion pushetherozion ai-fix(tous deux opt-in). - OSV.dev désactivé avec
--offline(noms/versions de packages uniquement). - Auth / licence :
herozion login→ API Herozion (OTP,/auth/me). - AI Fix : confirmation par session, ou
--yes-consent/~/.herozion/ai_consent.json.
Format des rapports d'analyse
Le rapport produit par Herozion est un fichier JSON structuré, stocké localement. Il contient exclusivement des résultats d'analyse, jamais le code source lui-même.
| Champ | Contenu | Exemple |
|---|---|---|
score |
Score global de 0 à 100 | 78 |
categories |
Score par catégorie OWASP | {"categorie": 100, ...} |
findings |
Liste des problèmes détectés | Fichier + ligne + CWE + sévérité CVSS |
scanned_files |
Nombre de fichiers analysés | 142 |
version |
Version de Herozion utilisée | "v1.2.27" |
Les chemins présents dans les findings sont toujours relatifs à la racine du projet scanné. Aucun chemin absolu (qui pourrait révéler la structure de votre système) n'est inclus dans le rapport.
Nos engagements
Ces engagements sont des garanties techniques et contractuelles, pas de simples déclarations d'intention.
- Votre code ne nous appartient pas. Herozion n'a aucun droit sur le code que vous analysez. Aucune licence implicite n'est accordée.
- Jamais le dépôt complet. Scan local. Push et AI Fix (opt-in) peuvent envoyer des extraits limités, jamais l'intégralité des sources.
- Transparence sur les changements. Tout changement dans notre collecte de données sera annoncé dans le changelog 30 jours avant son entrée en vigueur.
- Audit accessible. Vous pouvez auditer le comportement réseau de l'outil CLI à tout moment. Nous encourageons la surveillance par la communauté.
- Suppression sur demande. Toutes les données de votre compte (e-mail, inscriptions) sont supprimées sur simple demande à [email protected] dans un délai de 30 jours.
- Pas de revente. Vos données ne sont jamais vendues, louées ou partagées à des fins commerciales avec des tiers.
Pour toute question sur la gestion de votre code ou vos données : [email protected], réponse sous 48 h.
Questions fréquentes des CTO & équipes sécurité
Les questions que les responsables techniques posent avant d'intégrer un outil de sécurité dans leur pipeline. Réponses directes, sans marketing.
| Question | Réponse |
|---|---|
| Où sont hébergées les données ? | Pas de dépôt complet hébergé. Scan local. Serveurs Herozion (UE) : compte, télémétrie anonyme, push opt-in, et cache AI Fix (empreintes normalisées) si vous utilisez AI Fix. |
| Supportez-vous l'on-premise ? | Oui pour le scan : l'outil CLI tourne sur votre infrastructure, aucun cloud requis. AI Fix, s'il est utilisé, appelle un service cloud opt-in. |
| Entraînez-vous une IA sur le code ? | Non. Herozion n'entraîne aucun modèle sur votre code. Le dépôt complet n'est jamais reçu pour l'entraînement. |
| AI Fix envoie-t-il du code à un tiers ? | Oui, si vous lancez AI Fix (opt-in). Uniquement un extrait ±30 lignes + métadonnées vers le service AI Herozion, puis un provider IA (Gemini aujourd'hui, interchangeable). Selon les conditions Paid de l'API Gemini, Google n'utilise pas ces prompts pour entraîner ses produits ; journalnage limité possible pour abus / conformité. Confirmation une fois par session (ou --yes-consent). |
| Les scans peuvent-ils être supprimés instantanément ? | Les rapports locaux restent sur votre machine. Les copies dashboard (si herozion push) sont supprimables sur demande. Le cache AI Fix expire automatiquement (≤ 30 jours). |
| Supportez-vous les dépôts privés ? | Oui. Herozion scanne le filesystem local, il n'a pas besoin d'accès GitHub/GitLab. Vos dépôts privés ne quittent jamais votre runner CI pour le scan. |
| L'analyse est-elle isolée par tenant ? | Chaque invocation de l'outil CLI s'exécute dans son propre processus isolé. Il n'y a pas de « tenant » cloud pour le scan : chaque développeur analyse localement. |
| Quelles données collectez-vous ? | E-mail (compte), IP anonymisée (site), télémétrie CLI anonyme, packages (OSV.dev), push opt-in (chemins + extraits), et si AI Fix : extrait ±30 lignes + métadonnées vers le provider IA. Jamais le dépôt complet. |
| Peut-il tourner en réseau isolé (air-gapped) ? | Oui pour le scan : herozion scan --offline et HEROZION_TELEMETRY=0. AI Fix nécessite le réseau et n'est pas disponible air-gapped. |
| Quel est votre score de sécurité ? | OWASP Top 10 2021 couvert. Détail complet sur herozion.io/security. |
| Avez-vous la certification SOC 2 ? | Pas encore. SOC 2 Type II est prévu pour 2027. En attendant, la conformité RGPD est complète et Stripe gère la conformité PCI-DSS. |
Pour toute question de due diligence ou d'évaluation sécurité : [email protected], réponse sous 48 h ouvrées.