Panduan Approval dan Sandbox Claude Code | Pengaturan aman untuk kerja harian
Cara membagi aksi Claude Code ke allow, ask, deny, dan sandbox dengan settings praktis, hooks, dan contoh workflow nyata.
Approval aktif tidak otomatis berarti Claude Code sudah aman. Kalau konfirmasi terlalu sering muncul, orang akan berhenti membaca. Kalau allow terlalu longgar, agent bisa melakukan tindakan yang seharusnya masih berhenti di tangan manusia.
Artikel ini menjawab pertanyaan yang biasanya muncul setelah mulai memakai Claude Code: apa yang boleh otomatis, apa yang harus ask, dan apa yang sebaiknya langsung deny? Untuk konteks yang lebih luas, lihat juga harness engineering, permissions guide, dan security failure cases.
Approval bukan hal yang sama dengan keamanan
Setup harian yang sehat biasanya punya tiga lapisan:
| Kontrol | Fungsi | Contoh |
|---|---|---|
| permission rules | Memisahkan allow / ask / deny | secrets, perintah destruktif, deploy |
| approval flow | Berhenti sebelum efek yang sulit dibalik | git push, publish, send |
| sandbox | Memperkecil jangkauan shell | build, verifikasi, skrip eksploratif |
Referensi resmi tetap permissions, settings, dan hooks. Inti yang paling berguna adalah: yang reversible harus cepat, yang tidak reversible harus sengaja dibuat lambat.
Pembagian praktis untuk kerja setiap hari
| Aksi | Aturan yang disarankan | Alasan |
|---|---|---|
| Membaca file, mencari, melihat diff | allow | Risiko rendah |
| build, test, lint, analytics | allow | Jangan memperlambat iterasi |
| Mengedit kode di branch | ask atau allow per sesi | Tergantung repo |
git push, deploy, publish, send | ask | Ada efek ke luar |
Membaca .env, rm -rf, git reset --hard | deny | Dampaknya terlalu besar |
| Menulis ke API eksternal | ask | Mengubah sistem nyata |
Baseline yang berguna untuk .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
}
}
Kalau environment-mu tidak punya sandbox yang memadai, pindahkan lebih banyak aksi dengan side effect ke ask.
Hooks membantu mengurangi kesalahan berulang
{
"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"
}]
}
]
}
}
Pola yang penting:
- blokir secrets sebelum commit
- paksa build sebelum deploy
- jalankan verifikasi deterministik setelah edit
Tiga workflow nyata
- Site konten: baca analytics, pilih topik, buat semua locale, build, deploy, buka URL publik, lalu cek mobile dengan Playwright.
- Repo aplikasi: baca kode, analisis diff, refactor di branch, dan test bisa cepat; push, migrasi, API produksi, dan infra harus tetap di
ask. - Outreach / backoffice: riset dan drafting boleh otomatis; mengirim dan mem-publish tidak.
Tiga kegagalan yang paling sering terjadi
- Menaruh semuanya di
asklalu menyetujui tanpa membaca. - Menjadikan
--dangerously-skip-permissionskebiasaan. - Mengira build sukses berarti release sukses.
Kegagalan ketiga sangat sering pada site multibahasa: build hijau, tapi URL publik masih lama atau ada locale yang belum live.
Apa yang kami ubah hari ini
Di ClaudeCodeLab, aturan daily automation sekarang lebih ketat:
- setiap run harus menerbitkan satu artikel baru
- satu tugas yang sudah ada juga harus maju
- Playwright wajib memeriksa mobile
- semua URL bahasa untuk slug yang sama dicek di production
Keamanan nyata datang dari aturan operasi yang jelas, bukan dari peringatan samar.
Langkah berikutnya
Mulailah dari cheatsheet gratis. Kalau kamu butuh settings, hooks, dan contoh setup yang siap pakai, buka English products page. Kalau kamu perlu bantuan untuk rollout, review flow, atau batas aman otomatisasi, gunakan consultation page.
PDF Gratis: Cheatsheet Claude Code dalam 5 Menit
Cukup masukkan emailmu dan kami akan langsung mengirim cheatsheet PDF A4 satu halaman.
Kami menjaga data pribadimu dengan aman dan tidak pernah mengirim spam.
Tentang Penulis
Masa
Engineer yang aktif menggunakan Claude Code. Mengelola claudecode-lab.com, media teknologi 10 bahasa dengan lebih dari 2.000 halaman.
Artikel Terkait
7 template CLAUDE.md untuk Claude Code yang bisa langsung dipakai di proyek nyata
Tujuh template CLAUDE.md praktis untuk app solo, situs konten, API, repo tim, dan codebase legacy, plus kegagalan yang perlu dihindari.
Panduan Lengkap Memulai Claude Code 2026 | 7 Langkah dari Nol hingga Siap Pakai di Dunia Kerja
Panduan pemula lengkap untuk pengguna baru Claude Code. Dari instalasi hingga mengintegrasikannya ke workflow pengembangan nyata — mencakup semua jebakan yang Masa hadapi di awal.
Membuat REST API dengan Claude Code | Panduan Praktis untuk Pemula
Pelajari dasar-dasar REST API bersama Claude Code. Panduan praktis mencakup desain endpoint, validasi, dan penanganan error — dengan kode siap copy-paste.