Claude Code のセキュリティ設定とは、許す・止める・聞くの権限と、会話を学習に使わせるかを決める設定です。

知りたい事答え
勝手に動かれたくない操作はどう決める?settings.json の permissions に allow(許す)・ask(聞く)・deny(止める)を書く。決まりは deny → ask → allow の順に当てられ、止める決まりが常に勝つ(権限の 3 つの決まり)
会話を学習に使わせないには?Free・Pro・Max の契約は、claude.ai の設定の Privacy にある「Help improve our AI models」を切る。Team・Enterprise・API は、自分から申し込まない限り学習に使われない(学習に使わせない設定)
設定だけで秘密の値は守れる?守り切れない。会話の記録は手元にも残るので、当社は秘密の値を道具の返りに 1 文字も載せない作りにしている(当社の形)

出典: https://code.claude.com/docs/en/permissions・https://code.claude.com/docs/en/data-usage・https://privacy.claude.com/en/articles/12109829-how-do-i-change-my-model-improvement-privacy-settings(いずれも 2026-10-24 に見た)・社の実測 2026-10-24

権限の 3 つの決まり: 許す・聞く・止める

Claude Code は、ファイルを読むだけの操作は作業場所の中なら聞かずに進め、命令(Bash)の実行やファイルの書き換えは、ふつうは使う前に人へ聞きます。その聞き方を前もって決めておくのが権限の決まりです(公式の権限の説明・2026-10-24 に見た)。

決まり意味当てる順
deny(止める)その道具・その使い方をさせない1 番目
ask(聞く)使うたびに人の確認を取る2 番目
allow(許す)人の確認なしで使わせる3 番目

出典: https://code.claude.com/docs/en/permissions(2026-10-24 に見た・Allow/Ask/Deny の説明と、deny → ask → allow の順)

大事なのは、順が決まりの細かさで変わらないことです。Bash(aws *) を止めておけば、もっと細かい Bash(aws s3 ls) を許していても止まります。許す決まりで、止める決まりに穴を開けることはできません。ask と allow の間も同じで、聞く決まりに当たれば、細かい許す決まりが在っても聞かれます(公式の権限の説明・2026-10-24 に見た)。

もう 1 つ、権限の決まりは Claude Code の側が守らせる物で、AI が守る物ではありません。頼みの文や CLAUDE.md に「〇〇はしないで」と書いても、AI が試みる事が変わるだけで、Claude Code が許す範囲は変わりません。本当に止めたい事は権限の決まりに書きます(公式の権限の説明・2026-10-24 に見た)。

settings.json に書く

公式の例では、lint とテストの命令を聞かずに走らせ、.env を読ませない設定を、ホームの ~/.claude/settings.json に次のように書きます(公式の設定の説明・2026-10-24 に見た)。

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}

設定の紙は厳しい JSON なので、// の注記や末尾のカンマは誤りになります。保存したら Claude Code の中で /status を走らせ、読まれた紙を確かめます。今効いている決まりの一覧と、それぞれがどの紙から来たかは /permissions で見られ、そこから足し引きもできます(公式の設定の説明・公式の権限の説明・2026-10-24 に見た)。

どの紙に書くかで効く範囲が変わり、同じ鍵が何か所かに在るときは、組織の管理設定 → 起動時の --settings → 案件の .claude/settings.local.json → 案件の .claude/settings.json → ホームの ~/.claude/settings.json の順に上が勝ちます。ただし permissions.allow のような並びの鍵は、上書きではなく足し合わされます(公式の設定の説明・2026-10-24 に見た)。紙ごとの置き場所の表は Claude Code hooks の頁にも載せています。

.env と秘密のフォルダを読ませない

Claude のファイルの道具に読ませたくないファイルは、Read(./.env) や Read(./secrets/**) のような Read の deny で止めます。.claudeignore というファイルを置いても効かないので、その中身は Read の deny に移します。Read の deny は、同じ住所への Edit と Write も止めます(公式の権限の説明・2026-10-24 に見た)。

ただし効く範囲には端があります。Read と Edit の deny は、Claude の組み込みのファイルの道具と、Claude Code が見分けられる cat・head・tail などの命令には効きますが、ファイルの名前を出さずに読む命令や、Python や Node の書き物が自分でファイルを開く場合には効きません。どの手段でも読ませたくないときは、OS の側で止めるサンドボックスを使うよう、公式も案内しています(公式の権限の説明・2026-10-24 に見た)。

権限のモード: 起動したときの聞き方

決まりとは別に、会話ごとの「聞き方の段」がモードです。起動したときのモードは設定の defaultMode で決めます(公式の権限の説明・2026-10-24 に見た)。

モード動き
default(Manual)道具をはじめて使うときに聞く
acceptEdits作業場所の中のファイルの書き換えと、mkdir・mv などのよくある操作を聞かずに通す
planファイルを読んで調べるだけで、元のファイルは書き換えない
autoいちいち聞かず、命令や通信の前に裏の判定役が頼みに沿うかを見る
dontAsk聞くはずの物をすべて断る。前もって許した物だけ動く
bypassPermissions確認をほぼすべて飛ばす

出典: https://code.claude.com/docs/en/permissions(2026-10-24 に見た・Permission modes の表)

bypassPermissions は、.git や .claude への書き込みの確認まで飛ばすので、壊れても困らないコンテナや仮の機械の中だけで使うよう公式は書いています。このモードや auto を使わせたくないときは、permissions.disableBypassPermissionsMode や permissions.disableAutoMode を "disable" にします。組織の管理設定に置けば、下の紙から覆せません(公式の権限の説明・2026-10-24 に見た)。

会話を学習に使わせない設定

Claude Code の会話が次のモデルの学習に使われるかは、契約の種類で変わります(公式のデータの扱いの説明・2026-10-24 に見た)。

契約学習に使われるかAnthropic 側で残る期間
Free・Pro・Max(学習を許した人)使われる5 年
Free・Pro・Max(学習を許さない人)使われない30 日
Team・Enterprise・API など商用の契約使われない(自分から学習用に渡すと申し込んだ場合を除く)標準で 30 日

出典: https://code.claude.com/docs/en/data-usage(2026-10-24 に見た・Data training policy と Data retention)

Free・Pro・Max で学習を切る手順

Free・Pro・Max の契約で Claude Code を使うときも、学習の設定は claude.ai の側の 1 か所で決まります(Anthropic のプライバシーの案内・2026-10-24 に見た)。

  1. claude.ai で自分の名前を押し、Settings を開く
  2. Privacy を開く(直接は claude.ai/settings/data-privacy-controls)
  3. 「Help improve our AI models」のボタンを切る

切った後に始めた会話とコーディングの会話は、この先の学習に使われません。ただし、切る前にもう始まっていた学習や、もう出来上がったモデルに入った分は戻りません。また、安全の判定に引っかかった会話は、安全の調べのために使われることがあります(Anthropic のプライバシーの案内・2026-10-24 に見た)。

学習の設定とは別に、外へ出ていく物

学習を切っても、自分で送る報告は別の道を通ります。/feedback(/bug・/share も同じ道)で送った会話の写しは 5 年残ります。報告の命令そのものを使えなくするには、環境変数 DISABLE_FEEDBACK_COMMAND を 1 にします。使い方の数値(中身の文やコードは含まない)は DISABLE_TELEMETRY=1 で、欠かせない通信以外をまとめて止めるには CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC で切れます(公式のデータの扱いの説明・2026-10-24 に見た)。

見落としやすいのは手元です。Claude Code は、会話を再開できるように、会話の記録を ~/.claude/projects/ の下に平文で、標準で 30 日置きます。期間は cleanupPeriodDays で変えられます(公式のデータの扱いの説明・2026-10-24 に見た)。道具が返した文字は、ここにそのまま残ります。

当社の形: 秘密の値を席の会話に載せない

権限の決まりは「何をさせるか」を絞れますが、道具が返した文字が会話に載るのは止められません。そして会話の記録は手元にも Anthropic 側にも残ります。そこで当社は、設定で塞ぐのに加えて、秘密の値がそもそも AI の席の会話に載らないように、道具の側を作っています。

金庫の道具は、在るかを確かめるときも値を返さない

当社の合言葉の金庫の道具は、値が在るかを確かめる口でも、値そのものを返しません。道具の返りは会話の記録に残るからです。返すのは、名前・値の長さ・更新日時などと、値を使う口の案内だけです。値が本当に要るときは、子のプログラムの環境変数にだけ値を入れて走らせる口を使います。値は子のプログラムの中で使われて終わり、会話には出てきません(社の実測 2026-10-24・金庫の道具の説明)。

本番への 1 発は、値を 1 文字も出さずに撃つ

本番へ認証つきで 1 回だけ問い合わせる当社の道具は、秘密の値を、命令の引数・画面の出力・会話の記録のどこにも 1 文字も出さずに撃ちます(社の実測 2026-10-24・その道具の説明)。

道具が返す物道具が返さない物
状態の番号秘密の値(引数にも出力にも出さない)
本文のバイト数返ってきた本文(捨てる)
件数―
資格情報の長さ―

出典: 社の実測 2026-10-24(本番へ 1 回だけ問い合わせる道具の説明)

さらにこの道具は、本番の 1 発の前に、わざと壊した資格情報で同じ問い合わせを先に撃ちます。それが 401 か 403 で弾かれなければ、認証が効いていないか、確かめ方が間違っているので、本番の 1 発は撃たずに止まります(社の実測 2026-10-24・その道具の説明)。「弾かれるはずの物が弾かれる」ことを先に見てから撃つので、通ったという結果に意味が出ます。

設定・道具・hook の 3 段で塞ぐ

当社の考え方を並べると、権限の決まりで「読ませない・させない」を絞り、道具の作りで「そもそも返さない」を決め、それでも出てしまった物は hook で伏せる、の 3 段です。道具の出力に混ざった資格情報を hook で伏せる形は Claude Code hooks の頁 に、道具を問わず「何を AI に通さないかを先に決める」考え方は 任せる前の門 の頁にまとめています。Claude Code を AI の席として毎日動かす全体の考え方は AIエージェント の頁にあります。

よくある質問

Claude Code で会話を学習に使わせない設定はどこですか?

Free・Pro・Max の契約なら、claude.ai の Settings → Privacy にある「Help improve our AI models」を切ります。切った後の新しい会話とコーディングの会話は、この先の学習に使われません(Anthropic のプライバシーの案内・2026-10-24 に見た)。

Team や Enterprise、API で使う場合も設定が要りますか?

要りません。商用の契約では、自分から学習用にデータを渡すと申し込んだ場合を除き、Claude Code に送ったコードや頼みは学習に使われません。残る期間は標準で 30 日です(公式のデータの扱いの説明・2026-10-24 に見た)。

allow と deny の両方に当たる操作はどうなりますか?

止まります。決まりは deny → ask → allow の順に当てられ、最初に当たった物で決まるので、許す決まりがどれだけ細かくても止める決まりが勝ちます(公式の権限の説明・2026-10-24 に見た)。

.env を Claude Code に読ませないにはどうしますか?

settings.json の permissions.deny に Read(./.env) と Read(./.env.*) を書きます。ただし書き物が自分でファイルを開く場合には効かないので、どの手段でも読ませたくないときはサンドボックスを併せて使います(公式の設定の説明・公式の権限の説明・2026-10-24 に見た)。

CLAUDE.md に「秘密を読むな」と書けば足りますか?

足りません。CLAUDE.md や頼みの文は AI が試みる事を変えるだけで、Claude Code が許す範囲は変えません。止めたい事は権限の決まりに書きます(公式の権限の説明・2026-10-24 に見た)。当社はさらに、秘密の値を道具の返りに載せない作りにしています(社の実測 2026-10-24)。

出典

  • Claude Code 公式の権限の説明 https://code.claude.com/docs/en/permissions(2026-10-24 に見た・allow/ask/deny の意味と当てる順・Read の deny と効かない範囲・.claudeignore・権限のモード・disableBypassPermissionsMode・/permissions)
  • Claude Code 公式の設定の説明 https://code.claude.com/docs/en/settings(2026-10-24 に見た・settings.json の例・紙の置き場所と勝つ順・並びの鍵の足し合わせ・/status)
  • Claude Code 公式のデータの扱いの説明 https://code.claude.com/docs/en/data-usage(2026-10-24 に見た・契約ごとの学習の扱いと残る期間・/feedback・環境変数・手元の会話の記録)
  • Anthropic のプライバシーの案内(学習の設定の変え方) https://privacy.claude.com/en/articles/12109829-how-do-i-change-my-model-improvement-privacy-settings(2026-10-24 に見た・切る手順・切った後の扱い・Claude Code も対象)
  • 社の実測 2026-10-24(金庫の道具の説明・値を返さない口と、子のプログラムの環境変数にだけ値を入れる口)
  • 社の実測 2026-10-24(本番へ 1 回だけ問い合わせる道具の説明・返す物と捨てる物・壊した資格情報で先に撃つ確かめ)