Guia de Approval e Sandbox para Claude Code | Configuracao segura para o trabalho diario
Como dividir as acoes do Claude Code entre allow, ask, deny e sandbox com settings praticos, hooks e exemplos reais.
Ter approval ligado nao significa, por si so, que Claude Code esta seguro. Quando aparecem confirmacoes demais, as pessoas param de ler. Quando o allow fica amplo demais, o agente pode executar acoes que deveriam continuar sob controle humano.
Depois do getting started, a pergunta real costuma ser esta: o que deve rodar automaticamente, o que deve pedir approval e o que deve ser bloqueado? Para o contexto maior, combine este artigo com harness engineering, permissions guide e security failure cases.
Approval nao e a mesma coisa que seguranca
Uma configuracao diaria confiavel normalmente precisa de tres camadas:
| Controle | Papel | Exemplos |
|---|---|---|
| permission rules | Separar allow / ask / deny | secrets, comandos destrutivos, deploy |
| approval flow | Parar antes de efeitos irreversiveis | git push, publish, send |
| sandbox | Reduzir o alcance da shell | build, verificacao, scripts exploratorios |
As referencias oficiais continuam sendo permissions, settings e hooks. A ideia central e: o que e reversivel deve ser rapido; o que nao e reversivel deve ser deliberadamente lento.
Divisao pratica para o uso diario
| Acao | Regra recomendada | Motivo |
|---|---|---|
| Ler arquivos, buscar, revisar diff | allow | Baixo risco |
| build, test, lint, analytics | allow | Nao devem travar a iteracao |
| Editar codigo em uma branch | ask ou allow por sessao | Depende do repo |
git push, deploy, publish, send | ask | Ha efeito externo |
Ler .env, rm -rf, git reset --hard | deny | Raio de dano alto |
| Escritas em APIs externas | ask | Afetam sistemas reais |
Base util para .claude/settings.json
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Read",
"Grep",
"Glob",
"Bash(npm run build)",
"Bash(npm run test)",
"Bash(node scripts/analytics-report.mjs *)"
],
"ask": [
"Edit",
"Write",
"Bash(git push *)",
"Bash(npx wrangler pages deploy *)",
"Bash(node scripts/outreach-send-mails.mjs --send)",
"WebFetch(domain:api.gumroad.com)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Bash(rm -rf *)",
"Bash(git reset --hard *)",
"Bash(curl * | sh)"
]
},
"sandbox": {
"enabled": true,
"failIfUnavailable": false
}
}
Se o seu ambiente nao suporta sandbox, compense movendo mais acoes com side effects para ask.
Hooks para reduzir erros repetidos
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash(git add*)",
"hooks": [{
"type": "command",
"command": "git diff --cached --name-only | grep -E '^\\.env' && echo 'Blocked: .env staged' && exit 1 || exit 0"
}]
},
{
"matcher": "Bash(npx wrangler pages deploy*)",
"hooks": [{
"type": "command",
"command": "npm run build"
}]
}
],
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "npm run test || true"
}]
}
]
}
}
O padrao importante e:
- bloquear secrets antes do commit
- forcar build antes do deploy
- rodar verificacao deterministica depois de editar
Tres fluxos reais
- Site de conteudo: analytics, tema, novos locais, build, deploy, URL publica e Playwright no mobile.
- Repo de app: leitura, diff, refactor e testes podem ser rapidos; push, migracoes e producao devem ficar em
ask. - Outreach / backoffice: pesquisar e rascunhar pode ser automatico; enviar e publicar nao.
Falhas comuns
- Colocar tudo em
aske aprovar sem ler. - Normalizar
--dangerously-skip-permissions. - Tratar build com sucesso como release com sucesso.
No terceiro caso, o build fica verde, mas a URL publica continua velha ou uma locale nao foi publicada.
O que mudamos hoje na pratica
No ClaudeCodeLab a regra diaria ficou mais dura:
- cada run precisa publicar um artigo novo
- tambem precisa avancar uma tarefa existente
- Playwright precisa verificar o mobile
- todas as URLs de idiomas do mesmo slug precisam ser checadas em producao
Seguranca real vem de regras operacionais claras, nao de avisos vagos.
Proximo passo
Comece pelo cheatsheet gratuito. Se quiser configuracoes, hooks e exemplos prontos para copiar, veja a English products page. Se precisar de ajuda com rollout, review flow ou limites seguros de automacao, use a consultation page.
PDF grátis: cheatsheet do Claude Code
Informe seu e-mail e baixe uma página com comandos, hábitos de revisão e workflows seguros.
Cuidamos dos seus dados e não enviamos spam.
Sobre o autor
Masa
Engenheiro focado em workflows práticos com Claude Code.
Artigos relacionados
Escada de segurança de permissões no Claude Code
Amplie de read-only para edições limitadas, comandos de prova e deploy checks sem perder controle.
Claude Code Small PR Proof Pack: pequenas mudanças fáceis de revisar
Um pacote de prova para PRs do Claude Code: diff, checks, URL pública, CTA e rollback.
Gate de revisão antes do commit com Claude Code
Revisão antes do commit com Claude Code: diff, build, URL pública, Gumroad, consultoria, testes e arquivos fora do escopo.