allow
Ferramentas que você aprovou de antemão
Uma regra como Bash(git commit:*) deixa esse comando passar sem parar. A regra cobre o comando em si. O que o comando abre depois que roda fica fora dela.
Claude Code
O sistema de permissões decide quais ferramentas o Claude Code pode rodar. O que essas ferramentas alcançam é todo segredo na sua máquina. O Sallyport leva as chaves para um lugar onde o agente nunca vai lê-las.
O Claude Code pergunta antes de rodar uma ferramenta que você não permitiu. As regras ficam no settings.json como listas allow, ask e deny, e vale a pena configurá-las direito.
allow
Uma regra como Bash(git commit:*) deixa esse comando passar sem parar. A regra cobre o comando em si. O que o comando abre depois que roda fica fora dela.
ask
O caso padrão. O Claude Code mostra a chamada da ferramenta e espera. Você está revisando uma ação, na hora, com o contexto que tiver às duas da manhã.
deny
Uma regra deny mantém a ferramenta Read longe do ./.env. Ela não mantém um comando de shell permitido longe do mesmo arquivo, e não tem nada a dizer sobre os processos que suas dependências iniciam.
bypass
A flag --dangerously-skip-permissions elimina a pergunta por completo. Essa tem uma seção só dela mais abaixo.
Todas essas regras governam as ferramentas do agente. Nenhuma governa o arquivo que uma ferramenta lê. Seus tokens de API estão no .env, sua chave SSH em ~/.ssh, e os dois podem ser lidos por qualquer processo rodando como você, com ou sem confirmação.
As pessoas recorrem a isso por bons motivos: refatorações longas e execuções noturnas em que uma caixa de confirmação deixa o trabalho parado até de manhã. Vale saber exatamente o que você trocou por isso.
O Claude Code já conseguia ler seus arquivos, usar seu shell e sair para a rede. A flag remove a pausa em que você teria percebido.
A confirmação era uma chance de pegar o agente abrindo o .env. Nunca foi uma barreira em volta do arquivo. Qualquer processo rodando como você consegue lê-lo, inclusive a dependência que o npm instalou enquanto você lia a confirmação.
Uma injeção de prompt numa página baixada, um README envenenado numa dependência transitiva, e essas instruções caem dentro de uma sessão que tem suas credenciais e não tem mais nenhuma confirmação.
O modo YOLO custa a você a chance de perceber. As chaves já estavam ao alcance no modo padrão.
Revisão de segurança
O Claude Code lê um diff e aponta vulnerabilidades nele, e você deveria deixar. Esse trabalho é sobre o código que você está entregando. Ele não diz nada sobre o que o próprio agente alcança enquanto roda, que é o assunto desta página. São problemas separados, e resolver um não faz nada pelo outro.
O Sallyport guarda a credencial e faz a chamada. O Claude Code pede uma ação e recebe um resultado de volta. Nenhuma chave entra no ambiente dele, então não há nada que uma confirmação pulada, uma dependência envenenada ou uma instrução injetada consiga levar embora.
01
http.request para api.stripe.com, ou ssh.exec no prod-03. Chega por MCP, do mesmo jeito que o Claude Code chama qualquer outra ferramenta.
02
Um cofre trancado nega tudo. Uma chave marcada para aprovação por chamada mostra um cartão toda vez. Fora isso, um cartão por execução do agente, carregando a autoridade de assinatura de código de quem chamou.
03
A credencial é anexada dentro do app, durante a execução. Ela não entra no ambiente do agente, e um redirecionamento para outro host não a leva junto.
04
Criptografado e encadeado por hash enquanto a ação acontece. Você consegue descobrir o que rodou sem depender da versão que o agente conta.
Depois disso, rode o Claude Code do jeito que preferir, com confirmações ou sem. A decisão que importava saiu do agente.
O Sallyport fica na barra de menus e hospeda o cofre no próprio processo. Não tem daemon e não tem conta.
O onboarding cria o cofre e liga o portão de Touch ID dele.
brew install --cask olegsotnikov/tap/sallyportO Claude Code passa a ter http.request, ssh.exec e qualquer servidor MCP upstream que você encaminhar pelo Sallyport.
claude mcp add sallyport -- /Applications/Sallyport.app/Contents/MacOS/sp mcpGuarde a credencial no cofre, vincule ao host dela e tire do .env. Marque para aprovação por chamada as que te dão medo.
stripe → api.stripe.com · aprovação por chamadaCerca de dois minutos. Dali em diante as únicas confirmações que você vê são as do Sallyport, e todas elas são sobre infraestrutura real: esta chave, este host, esta chamada.
Download grátis. Apple Silicon, macOS 14 ou mais recente. Sem conta, nunca.
brew install --cask olegsotnikov/tap/sallyportmacOS 14+ · Apple Silicon