Sécuriser Claude Code en entreprise repose sur quatre leviers : le mode restreint (--restricted), les runners self-hosted, un système de permissions à trois niveaux et un sandbox au niveau du système d’exploitation. Depuis août 2026, ces briques permettent de déployer l’agent en équipe sans que le code ne quitte votre réseau interne.

J’ai suivi la vague de fonctionnalités entreprise livrées par Anthropic en août 2026 et testé la configuration des permissions sur des dépôts de production. Ce guide couvre la gouvernance, la conformité et la data residency — trois sujets qui bloquaient jusqu’ici l’adoption de Claude Code dans les secteurs régulés. Il ne traite pas du scanner de vulnérabilités, que je détaille dans le guide dédié à Claude Code Security.

Schéma des quatre leviers de sécurité de Claude Code en entreprise : mode restreint, runners self-hosted, permissions deny/ask/allow et sandbox système Les quatre briques complémentaires pour déployer Claude Code en équipe, toutes disponibles depuis août 2026.

Pourquoi la sécurité de Claude Code est devenue un sujet d’entreprise

Un agent de code n’est pas un simple assistant : il lit vos fichiers, exécute des commandes shell et peut accéder au réseau. Ces capacités font sa puissance et son risque.

Le mot-clé « claude code » cumule environ 90 500 recherches par mois en 2026, avec une tendance annuelle de +83 %. À mesure que l’outil se diffuse dans les équipes, la question n’est plus « comment l’installer » mais « comment le déployer sans exposer notre propriété intellectuelle ni nos secrets ». Les frustrations remontées sur r/ClaudeAI portent souvent sur ce point : les responsables sécurité veulent des garanties, pas des promesses.

Anthropic a répondu par une série de fonctionnalités concentrées sur août 2026. Trois d’entre elles changent la donne pour la gouvernance : le mode restreint, les runners self-hosted et le durcissement des frontières de confiance (symlinks, plugins, settings). Je les détaille dans l’ordre où je les configure sur un déploiement réel.

Le mode restreint : un Claude Code qui ne peut physiquement rien exécuter

Le mode restreint transforme Claude Code d’un « assistant puissant avec garde-fous » en un « travailleur texte-et-fichiers qui ne peut physiquement pas exécuter de code ». Il a été livré dans la version v2.1.248 le 27 août 2026.

Vous l’activez de deux façons : le drapeau claude --restricted en ligne de commande, ou la variable d’environnement CLAUDE_CODE_RESTRICTED=1. Cette seconde méthode permet de l’imposer au niveau d’une image Docker ou d’un runner CI.

Illustration risograph d'une balance qui pèse des blocs géométriques d'un côté et des flèches et jetons de l'autre, évoquant l'équilibre entre capacités et garde-fous du mode restreint

Ce que le mode restreint désactive

Quatre choses changent simultanément lorsque vous démarrez une session restreinte :

  • L’exécution de commandes et de code disparaît. Les outils intégrés qui lancent un shell ou exécutent du code sont retirés de la session. Claude ne les voit plus.
  • WebFetch est désactivé, sauf si vous le nommez explicitement via le drapeau --tools.
  • Le mode bypassPermissions est refusé d’emblée. Impossible de contourner les permissions.
  • Les fichiers de configuration ne se chargent pas. Les settings utilisateur, projet et locaux sont ignorés.

Ce dernier point est le plus important pour la gouvernance. Un dépôt cloné ne peut pas glisser en douce des règles de permission, des hooks ou des accès outil qui élargiraient ce que la session peut faire. La lecture et l’écriture de fichiers restent possibles, mais uniquement à l’intérieur du répertoire de travail depuis lequel vous avez lancé la session.

Quand l’utiliser

Je recommande le mode restreint pour tout scénario où vous manipulez du code non fiable : revue d’une pull request externe, analyse d’un dépôt tiers, ou traitement automatisé de contributions open source. C’est le niveau de durcissement le plus élevé disponible nativement, sans conteneur ni VM dédiés.

Les runners self-hosted : garder le code sur votre réseau

Les runners self-hosted permettent aux organisations Team et Enterprise d’exécuter les sessions d’agent sur leur propre infrastructure, à l’intérieur de leur réseau interne. La fonctionnalité est arrivée avec Claude Code v2.1.224 le 7 août 2026, et elle est désactivée par défaut.

Le principe est simple : le logiciel runner s’installe sur vos machines ou conteneurs. Ceux-ci s’enregistrent auprès du backend Claude Code et écoutent les sessions qui leur sont assignées. Les sessions lancées depuis le web, le mobile, le desktop ou une routine planifiée peuvent toutes cibler cette infrastructure interne.

Illustration risograph d'un marteau et d'un tournevis croisés posés sur un établi en bois, évoquant l'outillage et l'infrastructure hébergée en interne

Data residency et isolation réseau

C’est le point qui débloque les secteurs régulés. Vos checkouts de dépôt, vos sorties de build, vos secrets et tout fichier créé ou modifié par une session restent sur des machines que votre organisation provisionne. Le code ne quitte pas le réseau interne.

Les équipes de la finance, de la santé ou de la défense — qui ne pouvaient pas adopter Claude Code pour des raisons de data residency ou d’isolation réseau — disposent désormais d’un chemin clair. L’exécution vit à côté de vos propres services, chaînes d’outils et contrôles de sécurité.

Mode fixe ou mode à la demande

Deux modes de runner existent, selon votre profil de charge :

CritèreMode fixeMode à la demande
FonctionnementNombre constant de runners, sessions réparties entre euxDémarre un runner à l’arrivée d’une session, l’arrête à la fin
Charge idéalePrévisible, régulièreVariable, en pics
CoûtCapacité réservée en permanenceCapacité alignée sur la demande
Intégration CI/CDPossibleOptimisé pour les pipelines existants

Une fonctionnalité compagne complète ce dispositif : le messaging cross-session, via les outils SendMessage et ListAgents, qui permet à plusieurs sessions de se coordonner d’une machine à l’autre. Utile pour orchestrer des workflows multi-agents, un sujet que j’aborde dans le guide sur les workflows dynamiques de Claude Code.

Le système de permissions : imposer une politique d’équipe

Les permissions de Claude Code reposent sur trois types de règles, évaluées dans un ordre strict : deny, puis ask, puis allow. La première correspondance dans cet ordre détermine le résultat, et la spécificité d’une règle ne change pas cet ordre.

  • Une règle allow laisse Claude utiliser l’outil sans approbation manuelle.
  • Une règle ask demande une confirmation à chaque tentative.
  • Une règle deny empêche l’usage de l’outil.

Point crucial : une règle deny large comme Bash(aws *) bloque tout appel correspondant, même s’il correspond aussi à une règle allow plus étroite comme Bash(aws s3 ls). Une règle deny ne peut donc pas porter d’exceptions en liste blanche. C’est ce qui rend la politique prévisible.

Schéma de l'ordre d'évaluation des permissions Claude Code : deny puis ask puis allow, la première correspondance décidant du résultat Une règle deny large l’emporte toujours sur un allow plus étroit : c’est ce qui rend la politique prévisible.

Un exemple de configuration d’équipe

Voici une configuration type qui autorise les scripts npm et les commits, mais refuse le push :

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git commit *)"
    ],
    "deny": [
      "Bash(git push *)",
      "Bash(curl *)",
      "Bash(wget *)"
    ]
  }
}

Bloquer curl et wget en deny, puis autoriser des domaines précis via WebFetch(domain:github.com), est une bonne pratique pour maîtriser l’accès réseau. Attention : autoriser WebFetch seul n’empêche pas l’accès réseau si Bash reste ouvert.

Managed settings : la clé de la gouvernance

Pour un contrôle centralisé, les administrateurs déploient des managed settings que les paramètres utilisateur et projet ne peuvent pas surcharger, à quelques clés de sécurité près. C’est là que vous verrouillez les modes dangereux : mettre permissions.disableBypassPermissionsMode ou permissions.disableAutoMode à "disable" empêche vos développeurs d’activer ces modes.

Les règles de permission sont appliquées par Claude Code, pas par le modèle. Les instructions dans un prompt ou un fichier CLAUDE.md orientent ce que Claude tente de faire, mais elles ne changent pas ce que Claude Code autorise. C’est une distinction essentielle : votre frontière de sécurité vit dans les settings, jamais dans le prompt.

Sandbox et durcissement au niveau système

Les permissions gouvernent ce que Claude tente de faire ; le sandbox impose ce que les commandes Bash peuvent réellement atteindre au niveau du système d’exploitation. Les deux couches sont complémentaires.

Le sandbox s’appuie sur les mécanismes natifs de l’OS : Seatbelt sur macOS, seccomp et namespaces sur Linux. Il impose des frontières de lecture/écriture sur le système de fichiers et des règles d’accès réseau. Pour un durcissement maximal, la recommandation est de placer l’agent dans un runtime isolé — conteneur ou VM — puis d’appliquer les permissions outil à l’intérieur de ce runtime.

Illustration risograph d'une gomme bicolore effaçant une traînée sur du papier, métaphore du sandbox qui efface et confine ce que les commandes peuvent atteindre

Claude Code 2.1.251 (28 août 2026) a durci plusieurs frontières de confiance. Le correctif principal empêche qu’un symlink échangé dans le répertoire de travail après la vérification de permission ne permette de lire ou d’écrire hors de l’emplacement approuvé.

Trois autres correctifs accompagnent celui-ci :

  1. Les plugins ne peuvent plus lire de fichiers hors de leur propre répertoire via des chemins symlinkés déclarés (commandes, agents, skills, hooks).
  2. Grep et Glob appliquent désormais les règles Read(...) deny aux fichiers atteints via un chemin de recherche symlinké.
  3. Les commandes de plugin déclarées dans une entrée de marketplace ne peuvent plus pointer hors du répertoire du plugin ; ces chemins sont rejetés avec une erreur de path-traversal.

Ces correctifs traitent une classe de vulnérabilités où l’outil prend une décision de permission sur un chemin, puis opère sur une ressource effective différente. Pour toute équipe qui utilise des plugins tiers, c’est un argument fort pour maintenir Claude Code à jour.

Gouvernance des managed agents et suivi des coûts

Au-delà de l’outil en local, les Claude Managed Agents s’exécutent dans des sandboxes isolés avec des permissions scopées, puis se déploient via un pipeline gouverné : staging, revue de code, portes d’approbation, production. Leur architecture inclut un sandbox gVisor, des contrôles réseau à trois couches et un proxy de credentials type vault qui protège structurellement contre le vol de secrets. Je détaille cette architecture dans le guide dédié aux Claude Managed Agents.

La version v2.1.248 a également introduit la commande /usage-credits, destinée aux organisations Enterprise. Elle donne une visibilité sur la consommation, ce qui compte autant pour la gouvernance que pour la sécurité : un usage anormal peut signaler une session compromise ou un agent en boucle.

Enfin, les hooks PreModelSwitch et PostModelSwitch, ajoutés dans la version 2.1.251, permettent d’exécuter une action avant et après un changement de modèle en cours de session. Concrètement, vous pouvez journaliser chaque bascule de modèle à des fins d’audit, ou refuser un modèle non approuvé par votre politique interne. C’est un point de contrôle supplémentaire dans une chaîne de conformité.

Mon avis : par où commencer un déploiement sécurisé

Mon verdict après avoir configuré ces briques : la sécurité de Claude Code en entreprise n’est plus un frein technique, c’est un travail de gouvernance. L’outillage existe, il faut le paramétrer avec méthode.

Je recommande cet ordre de déploiement :

Schéma en cinq étapes de l'ordre de déploiement sécurisé de Claude Code : verrouiller les modes dangereux, définir les permissions, activer les runners self-hosted, imposer le mode restreint, maintenir à jour La séquence de déploiement recommandée : de la gouvernance des settings jusqu’au maintien à jour des correctifs.

  1. Verrouillez les modes dangereux via des managed settings (disableBypassPermissionsMode, disableAutoMode).
  2. Définissez une politique de permissions deny/ask/allow partagée dans le contrôle de version.
  3. Activez les runners self-hosted si vous avez des exigences de data residency.
  4. Imposez le mode restreint pour tout traitement de code non fiable.
  5. Maintenez la version à jour pour bénéficier des correctifs de symlinks et de frontières de confiance.

L’essentiel à retenir : votre frontière de sécurité vit dans les settings et l’infrastructure, jamais dans le prompt. Pour cadrer les niveaux d’accès de vos équipes selon leur plan, mon guide sur les abonnements Claude précise ce qui est réservé à Team et Enterprise.