Les outils de codage IA changent ce qui quitte votre machine, qui peut lire une invite, et ce qui finit dans une pull request. Cette checklist donne à une équipe dev une réponse répétable à « est-ce sûr de coller » et « est-ce sûr de fusionner », sans lire chaque page de conditions de chaque vendeur de zéro. Chaque affirmation de politique de données ci-dessous est sauvegardée par une source officielle ; tout ce que nous ne pouvions pas vérifier est marqué ainsi au lieu d’être deviné.

Confidentialité des données : ce qui quitte la machine

Chaque assistant IA envoie des invites et du contexte aux serveurs d’un fournisseur. La vraie question est ce qui se passe après, et quel paramètre contrôle cela.

Vérification Pourquoi Comment vérifier
Le mode Privacy de Cursor est activé, ou appliqué à l’équipe Cursor déclare que le code n’est pas utilisé pour l’entraînement par Cursor ou ses fournisseurs de modèle, en vertu d’accords ZDR Paramètres → General → Privacy Mode ; les admins l’appliquent depuis le tableau de bord d’équipe
Vous connaissez quels modèles Cursor sont en dehors de ZDR Quelques modèles ont besoin de rétention côté fournisseur pour la révision de sécurité et l’approbation d’admin même avec le mode Privacy activé Voir « Models with data retention » dans la docs de confidentialité d’entreprise de Cursor
L’exclusion de contenu de Copilot couvre les chemins chargés de secrets Les chemins exclus restent hors des suggestions inline et de Copilot Chat dans l’IDE Paramètres du dépôt → Copilot → Content exclusion, ou une règle org-level "*": ["/.env"]
Vous connaissez la lacune de l’exclusion de contenu Copilot CLI et le mode Agent dans Copilot Chat ne supportent pas l’exclusion de contenu, selon les docs de GitHub Traitez les sessions CLI et agent comme non-protégées par ce paramètre
ChatGPT workspace est Business/Enterprise/Edu pour le travail client Le défaut d’OpenAI est pas d’entraînement sur les entrées/sorties de ces espaces de travail ou l’API ; les comptes personnels diffèrent Vérifiez le type d’espace de travail avant de coller du matériel client
L’exception de bouton de retour sur les comptes personnels est connue Sur Free/Plus/Pro, un thumbs-up/down peut laisser OpenAI utiliser toute cette conversation même après une opt-out générale Ne classez pas une conversation tenant des choses sensibles sur un compte personnel
L’utilisation de Claude pour le travail client est Team/Enterprise/API Anthropic déclare pas d’entraînement par défaut sur ces plans ; les consumer Free/Pro/Max (incluant Claude Code de chez eux) peuvent opter pour code.claude.com/docs/en/data-usage
L’emplacement de la transcription Claude Code est examiné Les transcriptions vivent en plaintext sous ~/.claude/projects/ pendant 30 jours par défaut, ajustable via cleanupPeriodDays Réduisez la rétention sur une machine partagée ou client
PII est enlevée avant de coller n’importe où ci-dessus Une promesse de politique d’entraînement n’est pas une promesse de contrôle d’accès ; les classificateurs de sécurité peuvent toujours voir du contenu signalé Effacez les noms, emails, IDs de compte des logs avant de coller

C’est un problème de paramètre, pas une raison d’éviter ces outils. Le Cursor cheat sheet couvre où ces contrôles vivent au jour le jour.

Secrets : jamais dans les invites, attrapés avant qu’ils partent

Une politique d’entraînement est hors de propos si un secret a déjà quitté votre machine dans un commit ou un log collé.

Vérification Pourquoi Comment vérifier
Aucun secret n’est tapé ou collé dans une invite N’importe quel outil de chat peut retenir le texte signalé peu importe les paramètres d’entraînement Grep les exports d’invites pour AKIA, -----BEGIN, Bearer, password=
.env* et les fichiers d’identifiant sont dans .gitignore Arrête le commit accidentel le plus courant avant qu’un scanner ne soit nécessaire git check-ignore -v .env imprime une correspondance
gitleaks s’exécute pré-commit Attrape un secret en dur avant qu’il quitte votre machine, indépendant de n’importe quel outil IA pre-commit run gitleaks --all-files échoue sur un secret de test planté
gitleaks balaie aussi l’historique git Un secret enlevé plus tard est toujours lisible dans l’historique sauf s’il est réécrit gitleaks git -v --redact balaie les patches via git log -p
Un hook Claude Code/Cursor bloque les lectures de .env Arrête un agent tirant les contenus du fichier secret dans son propre contexte, pas seulement bloquant les éditions Demandez à l’agent d’ouvrir .env ; l’appel devrait être nié. Setup complet : guide des hooks Claude Code
CI exécute son propre scan de secret comme filet de sécurité Attrape --no-verify, un commit de web-UI, ou un hook local manquant Un travail gitleaks (ou équivalent) sur pull_request et push

Validation du code généré

Le code IA sonne tout aussi confiant faux que juste. Barrière-le comme n’importe quelle autre différence, plus une vérification que cette source a besoin.

Vérification Pourquoi Comment vérifier
Chaque fonction générée sort avec un test passant La confiance dans le ton n’a aucune corrélation avec la correction CI bloque la fusion sans test ; voir TDD assisté par l’IA
Le même linter/SAST s’exécute sur les diffs créés par l’IA Aucune exemption IA ne rend une différence plus sûre ; la vitesse de révision est le vrai risque Aucune exclusion de chemin pour les commits signalés IA en CI
Les nouveaux noms de dépendance sont vérifiés par rapport au registre réel Un modèle peut nommer un paquet qui n’existe pas — une dépendance hallucinez ou « slopsquatted » qu’un attaquant peut enregistrer npm view <package> ou pip index versions <package> avant d’installer
Les dépendances vérifiées sont versionnées, pas en plage Une plage non-versionnée peut résoudre une version ultérieure que personne n’a révisée Versionnez dans package.json/requirements.txt, committez le lockfile
Les blocs générés distinctifs obtiennent une vérification de licence Un snippet peut reproduire étroitement une source sous licence et porter sa licence Cherchez une correspondance proche avant de livrer un bloc long, stylistiquement spécifique

Contrôles d’hallucination

Une hallucination est un mauvais fait livré aussi confiant qu’un bon. Ces contrôles concernent où un humain ré-entre dans la boucle.

Vérification Pourquoi Comment vérifier
L’agent cite une source pour les affirmations d’API/flag/limit Réduit, n’élimine pas, les réponses confiant fausses sur les détails de version Demandez « quel doc page dit cela » avant d’agir sur cela
Un humain examine la différence réelle, pas un résumé Les résumés omettent le détail qui importe git diff sur le commit, pas la description de l’agent
L’auto-fusion/auto-apply est désactivé pour les modifications de l’agent Enlève le checkpoint le plus probable de attraper une hallucination La protection de branche nécessite une révision approuvée par humain
L’agent est dit de dire « inconnu », pas de deviner Un fait manquant déguisé en réponse confiante est le genre coûteux Invite : « Si un fait requis manque, listez-le sous Unknown. » Voir flux de travail d’agentic validation

Chaîne d’approvisionnement : serveurs MCP comme code tiers

Un serveur MCP est un programme que l’hôte lance et fait confiance avec l’accès outil. Le protocole ne le bac à sable pas — vous le faites.

Vérification Pourquoi Comment vérifier
Chaque serveur MCP est traité comme du code tiers Un serveur stdio partage le domaine de confiance de l’hôte ; les notes de sécurité du protocole disent qu’il n’y a pas de bac à sable Examinez la source/l’éditeur avant d’approuver ; voir MCP servers explained
Le serveur est versionnée à une version, pas latest Un serveur non-versionnée peut changer le comportement ou les permissions après approbation Versionnez command/args à une version taguée dans mcp.json
Les permissions et les outils accessibles sont examinés d’abord Un serveur négligent peut diriger comment l’agent utilise chaque autre outil dans la session /mcp dans Claude Code, ou Output → MCP Logs dans Cursor
Les secrets vivent dans le bloc env propre du serveur Un profil shell partagé est lisible par chaque processus que l’hôte lance Vérifiez l’entrée env du serveur, pas .bashrc/.zshrc
Les serveurs distants utilisent des tokens de courte durée sur HTTPS Un token de longue durée dans un fichier config est une fuite permanente, la même classe de risque que l’accès hôte trop large (voir docker-sock-permission-denied) La config référence ${env:NAME}, jamais un token brut

Réglementations à être conscient

Informatif uniquement, pas un conseil juridique — vérifiez avec le conseil avant de faire une affirmation de conformité à un client ou régulateur.

Vérification Pourquoi Comment vérifier
Vous savez si vous êtes un fournisseur de « modèle IA généraliste » en vertu de l’EU AI Act Le fine-tuning, l’hébergement ou la redistribution d’un modèle GPAI peut déclencher les devoirs de l’Article 53 — docs techniquement, une politique de copyright, un résumé public du contenu d’entraînement Page GPAI obligations de la stratégie numérique de l’UE ; FAQ du service d’assistance de l’AI Act sur l’Article 53
Le tier « risque systémique » est connu comme séparé et plus lourd Seuls les modèles classés systémique-risque par la Commission doivent l’évaluation, la signalisation d’incident et les devoirs de cybersécurité en vertu de l’Article 55 FAQ du service d’assistance de l’AI Act sur le risque systémique
Un champ d’invite qui peut identifier une personne est les données personnelles du RGPD L’Article 4(1) définit cela largement : un nom, un email, un ID de device ou une note d’identification se qualifient tous EUR-Lex Article 4(1)
La ligne « pas d’entraînement » d’un vendeur est lue comme une politique d’entraînement, pas une garantie de conformité Elle couvre le traitement du vendeur uniquement ; votre org est généralement toujours le contrôleur pour comment les données sont arrivées Vérifiez qui est nommé « contrôleur » dans le DPA du vendeur, pas seulement la page marketing

Modèle de politique d’équipe

Collez dans AI_POLICY.md ; ajustez les noms d’outil et les tiers de plan aux licences de votre org.

# Politique d'utilisation des outils IA

## Portée
Claude Code, Cursor, GitHub Copilot, ChatGPT — n'importe qui travaillant dans ce
dépôt ou sur des livrables client.

## Comptes approuvés
- Les comptes Commercial/Team/Enterprise uniquement pour le travail client ou production.
  Les comptes personnels sont pour l'apprentissage et l'open source uniquement.
- Confirmez le Privacy Mode / content exclusion / workspace type avant de
  toucher le code ou les données d'un nouveau client.

## Ne jamais coller
- Identifiants, clés API, tokens, kubeconfigs, clés privées.
- Client PII : noms, emails, IDs de compte, notes d'identification.
- Anything sous un chemin .gitignore ou Copilot content-exclusion.

## Code généré
- Sort avec un test, passe la barrière lint/SAST existante.
- Les nouvelles dépendances vérifiées sur le registre réel, puis versionnées.
- Un humain examine la différence avant la fusion. Pas d'auto-fusion.

## Serveurs MCP
- Examinés pour la source, les permissions et la version versionnée avant que n'importe quel
  membre de l'équipe les connecte.
- Les secrets vivent dans la config env propre du serveur, jamais un shell partagé.

## Incidents
- Un secret collé est une fuite d'identifiant : le relancer immédiatement.
- Signalez une dépendance hallucinez soupçonnée, ou une différence IA fusionnée
  qui a cassé quelque chose, à #eng-incidents le même jour.

## Révision
Révisé trimestriellement à mesure que les conditions du vendeur changent.

Modèles que vous réutiliserez

  • Scan de secret pré-commit : pre-commit install && pre-commit run gitleaks --all-files
  • Scanner l’historique git complet : gitleaks git -v --redact
  • Ignorer le hook à dessein : SKIP=gitleaks git commit -m "..."
  • Bloquer les lectures .env dans un hook Claude Code PreToolUse (matcher ^Read$) : jq -r '.tool_input.file_path' | grep -qE '\.env(\.|$)' && exit 2 || exit 0
  • Vérifier qu’un paquet existe avant d’installer : npm view <package> ou pip index versions <package>
  • Versionnez un serveur MCP au lieu de latest : utilisez une balise exacte dans command/args
  • Forcer « inconnu » sur une supposition : « Si un fait requis manque, listez-le sous Unknown. Ne le remplissez pas. »

FAQ

Le mode Privacy de Cursor empêche-t-il mon code d’être utilisé pour l’entraînement ?

Avec le mode Privacy activé, Cursor dit que votre code n’est pas utilisé pour l’entraînement par Cursor ou par les fournisseurs d’IA qu’il appelle, en vertu d’accords ZDR. Quelques modèles sortent de cet accord et ont besoin d’une approbation d’admin séparée. Le mode Privacy est désactivé par défaut pour les individus et activé par défaut pour les équipes Enterprise.

Copilot voit-il les fichiers que j’ai exclus, y compris en mode Agent ?

L’exclusion de contenu au niveau du dépôt et de l’organisation empêche les chemins exclus d’atteindre les suggestions inline et Copilot Chat dans l’IDE. Les docs de GitHub disent que Copilot CLI et le mode Agent dans Copilot Chat ne supportent pas l’exclusion de contenu, donc traitez les sessions d’agent et CLI comme non-protégées par ce contrôle.

Les données de ChatGPT Team ou Enterprise sont-elles utilisées pour entraîner les modèles d’OpenAI ?

Par défaut, OpenAI n’utilise pas les entrées ou sorties de ChatGPT Business, Enterprise, Edu, ou l’API pour entraîner les modèles. Une organisation peut opter pour. Sur les comptes personnels Free, Plus ou Pro, soumettre un retour thumbs-up ou thumbs-down peut toujours laisser OpenAI utiliser cette conversation même après une opt-out générale.

Comment la politique de données de Claude Code diffère-t-elle entre un plan personnel et un plan Team ou Enterprise ?

Sur un compte personnel Free, Pro ou Max, vous choisissez si les chats et sessions de codage améliorent les modèles futurs. Sur les comptes Team, Enterprise, API et Claude Gov, Anthropic ne s’entraîne pas sur votre code ou invites à moins que l’organisation ne fasse explicitement opt-in, par exemple via le Development Partner Program.

Comment j’attrape une dépendance générée par l’IA qui n’existe réellement pas ?

Regardez le paquet sur le vrai registre avant de l’installer. Pour npm, lancez npm view <package> ; pour pip, lancez pip index versions <package>. Une recherche échouée signifie ne pas installer — un nom inexistant est aussi un créneau qu’un attaquant peut enregistrer et livrer du malware sous.

Comment ce guide a été vérifié

Rédigé à la main à partir de la documentation officielle, chaque commande revérifiée, puis relu une seconde fois avant publication. Dernière relecture le .

Sources officielles consultées pour cet article

Share.

Les commentaires sont fermés.