AIコーディングの道具の選び方 第3回
AI コーディングの道具を安全に使う(権限・秘密情報・学習の設定)

この記事でわかること
- 確認なしで任せる範囲(権限)の選び方
- API キーやパスワードを AI に読ませないための設定
- 入力した内容が学習に使われるかの確かめ方
確認した環境: Claude Code 2.1.296 / Codex CLI 0.162.1 / GitHub Copilot は公式ドキュメントで確認 / 2026年10月11日に確認
Claude Code・Codex・GitHub Copilot は、ファイルを書き換えたり、コマンドを実行したりできます。任せる範囲を決めずに使うと、思わぬ変更や、見せたくない情報の送信につながることがあります。この記事では、3 つの道具に共通する安全な使い方を、権限・秘密情報・学習の設定の順に、公式の情報と編集部の検証環境の画面で説明します。
1. 権限: 確認なしで任せる範囲を決める
3 つの道具は、どれも「ここまでは確認なしで進めてよい」という範囲を選べます。

Claude Code: 既定は auto モード
Claude Code は、何も設定しなければ auto モードで始まります(v2.1.283 以降)。auto モードでは、実行の前に別のモデル(分類器)が操作を確かめ、依頼の範囲を超える操作などをブロックします。今のモードは画面の下に表示され、Shift+Tab で切り替わります。

auto モードが既定でブロックする操作には、次のようなものがあります(公式のドキュメントから抜粋)。
curl | bashのように、ダウンロードしたものをそのまま実行する操作- 機密データを外部に送信する操作
- 本番環境へのデプロイや、データベースのマイグレーション(移行)
- force push(リモートの履歴を強制的に書き換えるプッシュ)や
git reset --hardなど、まだコミットしていない変更を破棄する操作 - 秘密情報を表示する操作
会話で「プッシュしないで」と伝えると、auto モードはそれを守ります。ただしルールとして保存されるわけではなく、会話を要約したときに消えることがあります。必ずブロックしたい操作は、設定ファイルの deny ルール(次の章)に書きます。
モードの切り替え方は、権限モードを使い分けるでくわしく説明しています。
Codex: 標準は Ask for approval
Codex CLI では、/permissions で 4 つの段階から選びます。Codex は、書き込める場所とネットワークを技術的に制限する仕組み(サンドボックス)の中でコマンドを動かします。標準の設定では、その外に出る必要があるときに許可を求めます。

- ① Ask for approval: 作業フォルダ(ワークスペース)の中のファイルの読み書きと、コマンドの実行は確認なしで行います。インターネットへの接続と、作業フォルダの外の編集は許可を求めます。コマンドのネットワークへの接続は、既定でオフです。
- Approve for me: 許可が要る操作を自動のレビューに回し、危なそうだと判断したものだけをたずねます。
- ② Full Access: 作業フォルダの外のファイルの編集も、インターネットへの接続も、許可なしで行います。画面の説明も「Use with caution」(注意して使う)で始まります。
- ③ Read Only: ファイルを読むだけです。編集とインターネットへの接続は許可を求めます。
Codex は起動したときに、フォルダが Git などで管理されているかを見て、管理されていれば Ask for approval、されていなければ Read Only を勧めます。フォルダを信頼するまでは、Read Only で始まることもあります。
サンドボックスと確認をどちらも無効にする --dangerously-bypass-approvals-and-sandbox(別名 --yolo)は、外側で隔離した環境の中だけで使うよう、公式のドキュメントに書かれています。
許可を求められたときは、続けられる最小の範囲で許可します。編集部が Read Only に切り替えてから「警告に、CSV の何行目の金額が空欄なのかも表示するようにしてください」と頼むと、Codex はファイルを書き換えるコマンドを実行してよいかを聞いてきました。

選択肢は「1. 今回だけ実行する」「2. このコマンドで始まるものは、今後たずねない」「3. 実行せず、別のやり方を伝える」です。編集部は 1 を選び、画面に「You approved codex to run … this time」(今回だけ実行を許可した)と出て、その 1 回だけ実行されました。公式のドキュメントも、許可の範囲を選べるときは、続けられる最小の範囲を選ぶよう勧めています。
GitHub Copilot: Allow all と Autopilot に注意
VS Code の Copilot のチャットでは、エージェント(Ask・Plan・Agent)と、権限(Permissions)を選びます。権限の既定は Manual permissions で、自動で承認していない操作の前に確認します。ただし公式のドキュメントの注意のとおり、Manual permissions でも、ファイルを編集するたびには確認しません。Allow all(確認なし)と Autopilot(すべてのツールを自動で承認し、終わるまで進める)は、破壊的な操作も確認なしで行います。
ターミナルで使う Copilot CLI では、ファイルを変更したりコマンドを実行したりするツールを初めて使うときに、確認が表示されます。「Yes, and approve TOOL for the rest of the running session」(このセッションの間は、そのツールを確認しない)を選ぶと、たとえば rm を許した場合、rm -rf ./* も確認なしで動くことがある、と公式のドキュメントは注意しています。起動したフォルダが読み書きの範囲になるため、ホームのフォルダで起動しないようにも案内しています。
どの道具でも: Git で戻せるようにしておく
- 任せる前に作業用のブランチを作り、
git statusで変更がない状態にしておく(Codex の公式のドキュメント) - こまめにコミットし、変更は差分で確かめる(同上)
- Claude Code の巻き戻しの機能(チェックポイント)は、Git の代わりにはなりません。コマンドで削除・移動したファイルは、巻き戻せません(Claude Code の公式のドキュメント)
2. 秘密情報: API キーやパスワードを読ませない
AI コーディングの道具は、作業フォルダのファイルを読みます。API キーやパスワードを書いたファイル(.env など)は、読ませない設定をしておきます。
Claude Code: deny ルールで読ませない
Claude Code では、設定ファイルの permissions.deny に書いたものは使えなくなります。公式のドキュメントにある、チームで共有する設定(.claude/settings.json)の例から、deny の部分を抜き出すと次のとおりです。
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
}
.claudeignoreというファイルは効きません。読ませたくないファイルは deny ルールに書きます。- CLAUDE.md に「.env を読まないで」と書いても、強制はされません。deny ルールは Claude Code が強制します。
- コマンド(Bash)のルールは、書かれたコマンドの文字に一致するかだけを見ます。書き方を変えたコマンドまで確実にブロックしたいときは、サンドボックス(
/sandbox)やフックを使います。
そのほかに気をつけること
- 依頼の文や画像に入れない: API キーやパスワードを、依頼の文や渡す画像に入れないでください。入力した内容は会話の記録に残り、プランや設定によっては学習に使われます(次の章)。
- リポジトリに書かない: API キーやトークンを、リポジトリのファイルに直接書かないでください。Claude Code を GitHub Actions で使うときは、GitHub の Secrets に登録するよう公式のドキュメントに書かれています。
- 外部の情報を読ませるときの危険: 読み込んだ内容に書かれた指示に AI が従ってしまうこと(プロンプトインジェクション)があります。Codex の公式のドキュメントは、ネットワークや Web の検索を有効にすると、この危険が増えると注意しています。Claude Code の公式のドキュメントも、外部のサービスとつなぐ MCP のサーバーは、信頼できるものだけを使うよう案内しています。
- 会社向けのプランのコンテンツ除外: Copilot の Business・Enterprise では、管理者が「コンテンツの除外」で、Copilot に使わせないファイルを指定できます(個人向けのプランでは使えません)。
手元の PC に残る記録
| 道具 | 手元に残るもの |
|---|---|
| Claude Code | 会話の記録が ~/.claude/projects/ に、暗号化されない文字のまま(平文)保存される。既定で 30 日(設定の cleanupPeriodDays で変えられる) |
| Codex | サインインの情報は ~/.codex/auth.json(平文)か、OS の資格情報の保管場所。会話の記録は ~/.codex/sessions と ~/.codex/history.jsonl |
| Copilot CLI | サインインの情報は OS のキーチェーン。使えないときは ~/.copilot/config.json に平文で保存するかを聞かれる |
Codex で履歴を残したくないときは、設定ファイル(~/.codex/config.toml)に次のように書きます。
[history]
persistence = "none"
3. 学習の設定: 入力した内容が学習に使われるか
入力したコードや依頼の文が、AI のモデルの学習に使われるかは、プランによって違います。

個人向けのプランでは、設定を自分で確かめます。
- Claude Code(Free・Pro・Max): 学習に使うかを自分で選べます。設定がオンなら、Claude Code で使ったデータも学習に使われます。データを保存する期間は、学習を許可すると 5 年、許可しないと 30 日です。設定は Claude のプライバシーの設定で変えられ、Pro・Max は Claude Code の中の
/privacy-settingsからも開けます。 - Codex(ChatGPT の個人向けのプラン): ChatGPT の「Settings」→「Data controls」で「Improve the model for everyone」をオフにします。Privacy Portal で「Do not train on my content」を選んでも同じで、どちらか一方で ChatGPT の会話と Codex の作業の両方に効きます。Codex のクラウドの環境を学習に含めるかは、Codex の設定の「Include environments」で別に決めます。
- GitHub Copilot(Free・Pro・Pro+・Max): 2026年4月24日から、使わないように設定しない限り、入力・出力・コードの断片などが学習に使われることがあります。github.com/settings/copilot の「Allow GitHub to use my data for AI model training」を Disabled にします。前に同じような設定をオフにしていた人は、その選択が引き継がれています。
会社向けのプランと API は、既定で学習に使われません(Claude の Team・Enterprise・API、ChatGPT の Business・Enterprise・Edu と OpenAI の API、Copilot の Business・Enterprise)。
使い始める前のチェックリスト
参考にした公式の情報
- Claude Code ドキュメント(権限モード)
- Claude Code ドキュメント(権限の設定)
- Claude Code ドキュメント(データの扱い)
- Codex ドキュメント「Agent approvals & security」
- OpenAI ヘルプセンター(ChatGPT のデータの設定)
- OpenAI ヘルプセンター(Codex in ChatGPT)
- Visual Studio Code ドキュメント(エージェントのハーネスと権限)
- GitHub Docs(Copilot CLI)
- GitHub Docs(Copilot のポリシーの管理)
- GitHub ブログ(Copilot の利用データの扱いの変更)
この記事は、ハック!でAI編集部が AI を使って執筆しました。画面の画像は、編集部の検証環境で実際に操作して撮影したものです(引用の画像は出典を記載しています)。内容の誤りはお問い合わせからお知らせください。
連載
AIコーディングの道具の選び方全 4 回の目次
- 1Claude Code・Codex・Copilot の違いと選び方
- 2AI に作業を頼むときのコツ(編集部が試した頼み方)
- 3AI コーディングの道具を安全に使う(権限・秘密情報・学習の設定)(この記事)
- 4Claude Code と Codex に同じ不具合を直してもらった