Claude Code est l'agent de codage d'Anthropic. Il lit votre code, exécute des commandes et modifie des fichiers depuis le terminal, l'IDE ou l'application de bureau. Cette autonomie fait sa valeur. C'est aussi ce qui demande un cadre avant de le déployer dans une équipe.
Ce guide présente les sept leviers de sécurité à configurer : les modes de permission, les règles, les paramètres gérés par l'organisation, le sandbox, les serveurs MCP, les hooks et la gestion des données. Les noms de paramètres et les exemples viennent de la documentation officielle de Claude Code et de son journal des modifications, à jour de la version 2.1.319.
1. Choisir le bon mode de permission
Le mode de permission décide ce que Claude Code peut faire sans demander. Il se règle avec permissions.defaultMode ou l'option --permission-mode.
| Mode | Ce qui s'exécute sans demande | Usage recommandé |
|---|---|---|
default | Les lectures seulement | Poste de développeur |
acceptEdits | Lectures, modifications de fichiers et commandes de fichiers courantes | Développeur expérimenté sur un projet connu |
plan | Les lectures, pour préparer un plan sans rien modifier | Analyse et revue |
auto | Tout, avec des contrôles de sécurité en arrière-plan | Équipes qui ont validé ce mode |
dontAsk | Lectures et outils déjà autorisés, tout le reste est refusé | Intégration continue et scripts |
bypassPermissions | Tout | Conteneurs et machines virtuelles isolés uniquement |
Deux points à connaître :
- Un fichier de projet (
.claude/settings.json) ne peut pas activerautonibypassPermissions. Un dépôt cloné ne peut donc pas s'accorder ces droits. - L'administrateur peut interdire ces modes.
"permissions": {"disableBypassPermissionsMode": "disable"}bloquebypassPermissions, etdisableAutoModebloque le mode auto. Sur les offres Team et Enterprise, le mode auto est disponible par défaut.
2. Écrire des règles allow, ask et deny
Les règles précisent ce qui est autorisé (allow), soumis à confirmation (ask) ou refusé (deny). Exemple :
{
"permissions": {
"allow": ["Bash(npm run lint)", "Bash(npm run test *)"],
"ask": ["Bash(git push *)"],
"deny": ["Read(./.env)", "Read(./.env.*)"]
}
}
Claude Code évalue les règles dans cet ordre : deny, puis ask, puis allow. La première correspondance l'emporte. Une règle allow ne peut donc jamais lever un refus.
Les règles s'appliquent aussi aux domaines web (WebFetch(domain:example.com)) et aux outils MCP (mcp__serveur__outil).
Une limite est documentée : les règles qui filtrent les arguments d'une commande Bash sont fragiles. Une règle deny peut être contournée si le même programme est appelé autrement, par exemple via sh -c. Combinez-les avec le sandbox réseau décrit plus bas.
3. Centraliser la configuration avec les paramètres gérés
Claude Code lit ses paramètres à plusieurs niveaux. Du plus fort au plus faible : paramètres gérés par l'organisation, ligne de commande, projet local (.claude/settings.local.json), projet partagé (.claude/settings.json), puis utilisateur (~/.claude/settings.json).
Les paramètres gérés s'imposent à tous les postes. Trois façons de les déployer :
- Fichier
managed-settings.jsondans/Library/Application Support/ClaudeCode/(macOS),/etc/claude-code/(Linux et WSL) ouC:\Program Files\ClaudeCode\(Windows). - Outil de gestion des postes (MDM) : domaine
com.anthropic.claudecodesur macOS, cléHKLM\SOFTWARE\Policies\ClaudeCodesur Windows. - Console d'administration pour les offres Team et Enterprise : Organization settings > Claude Code > Managed settings, réservé aux rôles Owner et Primary Owner. Ces paramètres ne sont pas récupérés si Claude Code passe par une passerelle (
ANTHROPIC_BASE_URL) ou par un fournisseur cloud.
Exemple de base pour une équipe :
{
"permissions": {
"disableBypassPermissionsMode": "disable",
"deny": ["Read(./.env)", "Read(./.env.*)"]
},
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false
}
}
Le paramètre allowManagedPermissionRulesOnly fait des règles de l'organisation les seules valables. La version 2.1.319 ajoute permissions.denyInsteadOfPrompting : une action qui attendrait une confirmation est refusée et la session continue. C'est utile pour les sessions sans personne devant l'écran. Ce paramètre figure pour l'instant dans le journal des modifications, pas encore dans la documentation.
4. Activer le sandbox
Le sandbox isole les commandes Bash. Il est désactivé par défaut. Activez-le avec la commande /sandbox ou le paramètre "sandbox": {"enabled": true}. Il fonctionne sur macOS, Linux et WSL2, mais pas sous Windows natif.
- Fichiers : l'écriture est limitée au dossier de travail. Par défaut, la lecture couvre presque toute la machine, y compris les dossiers de clés comme
~/.ssh. Protégez-les avec les paramètressandbox.filesystemetsandbox.credentials. - Réseau : chaque connexion passe par un proxy qui filtre les noms de domaine. La liste
sandbox.network.allowedDomainsest vide au départ. Côté organisation,sandbox.network.allowManagedDomainsOnlybloque tout domaine non approuvé.
Le sandbox a des limites. Il ne s'applique pas aux outils intégrés comme la lecture de fichiers ou la récupération de pages web, qui suivent les règles de permission. Les commandes exclues (excludedCommands) et celles que le développeur lance lui-même avec ! s'exécutent aussi hors sandbox.
5. Contrôler les serveurs MCP
MCP (Model Context Protocol) est le standard qui connecte Claude à vos outils : base de données, ticketing, CRM. Chaque serveur MCP étend ce que Claude peut lire et faire.
- Serveurs de projet : les serveurs déclarés dans le fichier
.mcp.jsond'un dépôt demandent une approbation. Un dépôt cloné ne peut pas approuver ses propres serveurs. - Listes de l'organisation :
allowedMcpServersetdeniedMcpServersfiltrent les serveurs par URL, par commande ou par nom. La liste de refus l'emporte toujours.allowManagedMcpServersOnlyrend la liste de l'organisation seule valable. - Contrôle exclusif : un fichier
managed-mcp.jsonimpose la liste complète des serveurs autorisés.
Exemple de liste blanche :
{
"allowedMcpServers": [
{ "serverUrl": "https://*.interne.example.com/*" }
]
}
Nouveauté de la version 2.1.319 : quand un serveur MCP exécute un appel sous forme de tâche, Claude Code la passe en arrière-plan et reçoit le résultat plus tard. La variable CLAUDE_CODE_DISABLE_MCP_TASKS=1 désactive ce comportement.
6. Appliquer vos règles avec des hooks
Les hooks exécutent vos propres scripts à des moments précis. Le hook PreToolUse s'exécute avant chaque action et peut la bloquer, par exemple pour refuser une commande qui vise un environnement de production. Il ne peut pas contourner une règle deny.
Côté organisation, allowManagedHooksOnly limite l'exécution aux hooks définis par l'administrateur.
7. Maîtriser vos données
- Entraînement des modèles. Sous conditions commerciales (offres Team et Enterprise, API, plateformes cloud), Anthropic n'entraîne pas ses modèles sur le code ni les prompts envoyés à Claude Code, sauf si le client choisit de partager ses données. Pour les comptes personnels (Free, Pro, Max, Ultra), cela dépend d'un réglage du compte. Imposez donc des comptes professionnels.
- Conservation. La durée standard est de 30 jours pour les comptes commerciaux. Sur le poste, les transcriptions restent en clair dans
~/.claude/projects/pendant 30 jours, durée réglable aveccleanupPeriodDays. - Zéro conservation. La conservation nulle des données (en anglais « zero data retention ») est possible pour les organisations Enterprise éligibles, sur demande auprès d'Anthropic.
- Fournisseurs cloud et passerelles. Claude Code peut passer par Amazon Bedrock (
CLAUDE_CODE_USE_BEDROCK=1), Google Cloud (CLAUDE_CODE_USE_VERTEX=1) ou une passerelle LLM interne (ANTHROPIC_BASE_URL). Le paramètre géréallowedProviders: ["customEndpoint"]impose le passage par votre passerelle.
À noter pour les équipes derrière une passerelle LLM : depuis la version 2.1.319, en mode auto, les appels que le serveur ne peut pas vérifier sont soumis à confirmation ou refusés. La variable CLAUDE_CODE_AUTO_MODE_SERVER=0 rétablit le classifieur intégré.
8. Assurer la traçabilité
Claude Code exporte ses métriques et ses événements via OpenTelemetry (CLAUDE_CODE_ENABLE_TELEMETRY=1). Les prompts et le contenu des outils ne sont pas exportés par défaut. Sur les offres Team et Enterprise, un tableau de bord d'usage est disponible pour les administrateurs.
L'actualité : l'adresse e-mail dans les requêtes web
Début novembre 2026, un ticket GitHub a signalé qu'en version 2.1.318, Claude insérait parfois l'adresse e-mail du compte dans l'en-tête User-Agent des commandes qu'il écrivait, par exemple avec curl. Ce n'était pas un en-tête codé en dur : l'adresse figurait dans le contexte du modèle.
La version 2.1.317 avait déjà ajouté une confirmation avant qu'un appel web ou shell n'envoie l'adresse e-mail du compte. Selon le ticket, cette protection ne couvre pas encore tous les cas. En attendant un correctif complet, activez le sandbox réseau avec une liste de domaines autorisés, et maintenez Claude Code à jour. La version 2.1.319 corrige aussi plusieurs contournements des contrôles de permission.
Liste de contrôle avant le déploiement
- Comptes professionnels (Team, Enterprise ou API) pour tous les utilisateurs.
- Paramètres gérés déployés sur tous les postes, avec
bypassPermissionsdésactivé. - Règles
denysur les fichiers sensibles :.env, clés, certificats. - Sandbox activé avec une liste de domaines autorisés.
- Liste blanche des serveurs MCP.
- Hooks pour les actions critiques, comme les déploiements.
- Télémétrie OpenTelemetry vers votre outil de supervision.
- Mise à jour régulière vers la dernière version.
Questions fréquentes
Claude Code envoie-t-il notre code pour entraîner les modèles ?
Pas sous conditions commerciales (Team, Enterprise, API et plateformes cloud), sauf si vous choisissez de partager vos données. Sur les comptes personnels, cela dépend d'un réglage du compte.
Peut-on empêcher un développeur de désactiver les protections ?
Oui. Les paramètres gérés par l'organisation passent avant ceux de l'utilisateur et du projet. Ils peuvent interdire les modes bypassPermissions et auto, imposer le sandbox et limiter les serveurs MCP.
Le sandbox suffit-il ?
Non. Il isole les commandes Bash mais pas les outils intégrés. Combinez-le avec des règles de permission et une liste blanche de domaines.
Peut-on utiliser Claude Code sans passer par l'API d'Anthropic ?
Oui, via Amazon Bedrock, Google Cloud ou Microsoft Foundry, ou via une passerelle LLM interne. Les politiques de données du fournisseur choisi s'appliquent alors.
Parlons-en
ZetaBox a le statut Certified dans le Claude Partner Network. Nous aidons les équipes de développement à déployer Claude Code avec des paramètres, des serveurs MCP et des processus adaptés à leurs exigences de sécurité. Découvrez nos services d'implémentation de Claude ou contactez notre équipe.


