allow
Les outils que vous avez approuvés d'avance
Une règle comme Bash(git commit:*) laisse passer cette commande sans s'arrêter. La règle porte sur la commande, pas sur ce que la commande ouvre une fois lancée.
Claude Code
Le système de permissions décide quels outils Claude Code peut lancer. Il ne dit rien de ce que ces outils peuvent atteindre, et ce qu'ils peuvent atteindre, c'est chaque secret de votre machine. Sallyport déplace les clés là où l'agent ne peut pas les lire.
Claude Code demande avant de lancer un outil que vous n'avez pas autorisé. Les règles vivent dans settings.json sous forme de listes allow, ask et deny, et elles méritent d'être configurées correctement.
allow
Une règle comme Bash(git commit:*) laisse passer cette commande sans s'arrêter. La règle porte sur la commande, pas sur ce que la commande ouvre une fois lancée.
ask
Le cas par défaut. Claude Code vous montre l'appel d'outil et attend. Vous examinez une action, sur le moment, avec le contexte dont vous disposez à deux heures du matin.
deny
Une règle deny tient l'outil Read à l'écart de ./.env. Elle ne tient pas à l'écart du même fichier une commande shell autorisée, et elle n'a rien à dire sur les processus que vos dépendances démarrent.
bypass
L'option --dangerously-skip-permissions supprime la question entièrement. Elle a sa propre section plus bas.
Chacune de ces règles porte sur les outils de l'agent. Aucune ne porte sur le fichier qu'un outil lit. Vos jetons d'API sont dans .env, votre clé SSH dans ~/.ssh, et les deux sont lisibles par n'importe quel processus tournant sous votre compte, demande ou pas.
On y vient pour de bonnes raisons : longs refactorings et exécutions nocturnes où une boîte de confirmation laisse le travail à l'arrêt jusqu'au matin. Autant savoir exactement ce que vous avez échangé.
Claude Code pouvait déjà lire vos fichiers, utiliser votre shell et sortir sur le réseau. L'option retire la pause où vous l'auriez remarqué.
La demande était une occasion d'attraper l'agent en train d'ouvrir .env. Elle n'a jamais été une barrière autour du fichier. Tout processus tournant sous votre compte peut le lire, y compris la dépendance que npm a installée pendant que vous lisiez la demande.
Une injection de prompt dans une page récupérée, un README empoisonné dans une dépendance transitive, et ces instructions atterrissent dans une session qui détient vos identifiants et n'a plus aucune demande.
Le mode YOLO vous coûte la chance de vous en apercevoir. Ce n'est pas lui qui a mis les clés à portée ; elles y étaient aussi en mode normal.
Revue de sécurité
Claude Code lit un diff et y signale des vulnérabilités, et vous avez tout intérêt à le laisser faire. Ce travail porte sur le code que vous livrez. Il ne dit rien de ce que l'agent lui-même peut atteindre pendant qu'il tourne, qui est le sujet de cette page. Ce sont deux problèmes distincts, et régler l'un ne fait rien pour l'autre.
Sallyport détient l'identifiant et passe l'appel. Claude Code demande une action et reçoit un résultat. Aucune clé n'entre dans son environnement, donc il n'y a rien qu'une demande sautée, une dépendance empoisonnée ou une instruction injectée puisse emporter.
01
http.request vers api.stripe.com, ou ssh.exec sur prod-03. Cela arrive par MCP, comme Claude Code appelle n'importe quel autre outil.
02
Un coffre verrouillé refuse tout. Une clé marquée pour approbation à chaque appel affiche une carte à chaque fois. Sinon, une carte par exécution de l'agent, portant l'autorité de signature de code de l'appelant.
03
L'identifiant est attaché dans l'application, pendant l'exécution. Il n'entre pas dans l'environnement de l'agent, et une redirection vers un autre hôte ne l'emporte pas.
04
Chiffré et chaîné par hachage au moment où l'action se produit. Vous pouvez savoir ce qui a tourné sans dépendre du récit qu'en fait l'agent.
Ensuite, lancez Claude Code comme il vous plaît, demandes activées ou non. La décision qui comptait a quitté l'agent.
Sallyport vit dans la barre de menus et héberge le coffre dans son propre processus. Pas de démon, pas de compte.
L'onboarding crée le coffre et active sa porte Touch ID.
brew install --cask olegsotnikov/tap/sallyportClaude Code récupère http.request, ssh.exec et tout serveur MCP en amont que vous faites passer par Sallyport.
claude mcp add sallyport -- /Applications/Sallyport.app/Contents/MacOS/sp mcpRangez l'identifiant dans le coffre, liez-le à son hôte, et retirez-le du .env. Marquez pour approbation à chaque appel ceux qui vous inquiètent.
stripe → api.stripe.com · approbation par appelEnviron deux minutes. Les demandes qui restent sont celles de Sallyport, et elles portent sur des actions contre de l'infrastructure réelle plutôt que sur l'outil autorisé à s'exécuter.
Téléchargement gratuit. Apple Silicon, macOS 14 ou plus récent. Aucun compte, jamais.
brew install --cask olegsotnikov/tap/sallyportmacOS 14+ · Apple Silicon