3行でいうと

  • つまみは2つあります。何ができるかを決める sandbox_mode(read-only、workspace-write、danger-full-access)と、いつ人に聞くかを決める approval_policy(on-request、never)です。公式は、サンドボックスが技術的な限界を決め、承認がその限界を越えるときの止まり方を決める、と説明しています。
  • ローカルでは、ネットワークの接続は既定でオフと書かれています。オンにする方法と、行き先を絞る仕組みも公式にありますが、どちらも注意書きが多い所です。全部を飛ばす --dangerously-bypass-approvals-and-sandbox(別名 --yolo)は、公式が「推奨しない」と書く設定です。
  • 「Approve for me」(Auto-review)は、人の代わりに別のエージェントが承認の可否を見る仕組みです。公式は、囲いを広げるものではなく、完全な安全の保証でもない、と書いています。

この記事は、公式ドキュメントを2026年10月22日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。運営者はCodexを入れていますが、使い心地はこの記事には書いていません。設定名、値、コマンドは公式の表記を写したもので、動作確認はしていません。セキュリティに関わる所は、公式が書いている注意を、そのまま伝えることを優先しました。助言ではありません。

先に結論

前提:用語をそろえる

2つのつまみ:サンドボックスと承認

サンドボックス(sandbox_mode、CLIでは --sandbox か -s)

値 公式の説明 確かさ
read-only ファイルを見られる。承認なしには、編集もコマンド実行もできない 文書に書かれている
workspace-write ワークスペースの中で、編集と通常のコマンド実行ができる。ワークスペースの外への書き込みと、ネットワークは承認が要る 文書に書かれている
danger-full-access サンドボックスなし。ファイルとネットワークの囲いがなくなる 文書に書かれている

workspace-write は、ローカルの作業での「低い手間の既定のモード」と、Sandboxingのページにあります。

承認(approval_policy、CLIでは --ask-for-approval か -a)

値 公式の説明 確かさ
on-request サンドボックスの中で作業し、外に出るとき(囲いの外のネットワークなど)に聞く 文書に書かれている
never 承認の確認は出ない。サンドボックスの限界の中で、できる範囲を試す 文書に書かれている
untrusted 廃止(retired)。選べない。残っていると、クライアントが起動できなくなりうるので、設定、プロファイル、スクリプト、管理用の既定から消すよう書かれている 文書に書かれている
granular approval_policy = { granular = { ... } } の形。キーは sandbox_approval、rules、mcp_elicitations、request_permissions、skill_approval。選んだ種類だけ確認を出し、他は自動で断る 文書に書かれている

CLIの --ask-for-approval の値は、コマンド一覧の表では on-request と never だけが挙がっています。かつての untrusted のような、厳しめの動きがほしいときは、approval_policy を書かず、[projects."/path"] に trust_level = "untrusted" を置く、と公式は案内しています。これはプロジェクトのローカル設定も無効にする、と書かれています。

danger-full-access と never の組み合わせは、完全なフルアクセスです。公式は、エージェントに全権で動かせたいときだけ使うよう書いています。

アプリ・IDE拡張の「権限モード」

公式のPermission modesのページは、モード選択に4つの選択肢があると書いています。

名前 公式の説明 確かさ
Ask for approval 外部のファイルの編集とインターネットの利用は、毎回聞く。ワークスペースの中では進める 文書に書かれている
Approve for me 危険かもしれない行動だけ聞く。サンドボックスは同じ workspace-write。対象の依頼は自動レビュー(auto_review)に回る 文書に書かれている
Full access インターネットとパソコン上のすべてのファイルに、制限なしでアクセスできる 文書に書かれている
Custom (config.toml) config.toml に書いた権限を使う 文書に書かれている

プリセットとフラグ(CLI)

「Agent approvals & security」が挙げる組み合わせです。

名前 中身(公式の表記)
Auto(「フラグ不要」と書かれたプリセット) --sandbox workspace-write --ask-for-approval on-request
安全な読み取り専用 --sandbox read-only --ask-for-approval on-request
CI向けの読み取り専用(非対話) --sandbox read-only --ask-for-approval never
Auto-review --sandbox workspace-write --ask-for-approval on-request -c approvals_reviewer=auto_review
フルアクセス --dangerously-bypass-approvals-and-sandbox(別名 --yolo)。サンドボックスも承認もなし
`--approve-for-me` というフラグ(要約で読めた範囲)

コマンド一覧の要約に、--approve-for-me(別名 --not-so-yolo)という項目がありました。on-request の承認と workspace-write を組み合わせたもの、--sandbox と --yolo とは同時に使えない、対話のCLIは --ask-for-approval と一緒だと受け付けない、と書かれていました。ページが長くて、詳しい節は読めていません。使う前に、公式のコマンド一覧で確かめてください。

既定と、フォルダによる違い

守られる場所:書き込める範囲の中でも、触れない所

公式のAgent approvals & securityによると、書き込み可能な範囲の中でも、次の場所は読み取り専用(再帰的)に保たれます。

Permissionsのページは、:workspace を元にしたプロファイルでも、この4つの保護は保たれる、と書いています。一方、Sandboxingのページには、これらの記載が見つかりませんでした。

ネットワークの扱い

ローカルのCodex

ネットワーク プロキシ 結果(公式の説明)
オフ オン オフのまま
オン オフ 制限なしの直接接続
オン オン ドメインのルールに従う

Web検索

Web検索の設定 web_search の値は、"cached"(既定)、"live"、"disabled"、"indexed" です。cached はOpenAIが保っている索引を使い、公式は、リスクを下げるがなくしはしない、と書いています。フルアクセス(--yolo など)のときの既定は live です。公式は、Web検索の結果は信頼できない入力として扱うよう書いています。

Codex Cloud

クラウドの環境には、別の設定があります。クラウドの案内ページの例の画面には、プリセットが「Package managers」、追加ドメインが「No additional domains」と出ていますが、既定だとは書かれていません。環境の設定ページには、「Allow Codex to access internet」のスイッチ、プリセット(Package managers、Custom domains only、All (unrestricted))、追加ドメインが書かれています。既定がどうなっているかは、どちらのページにも書かれていませんでした。実際の画面で確かめてください。

Auto-review(Approve for me)

公式のAuto-reviewのページの要点です。

プロファイルとルール:どちらも「変わることがある」と書かれている

OSごとの仕組み

OS 公式の説明
macOS 組み込みのSeatbelt。そのまま動く
Linux・WSL2 bubblewrap(bwrap)と seccomp。bwrap が見つからないか、必要なユーザー名前空間が作れないと、起動時に警告が出る
Windows(PowerShell) ネイティブのWindowsサンドボックス。windows.sandbox の値は mxc(互換のある環境で推奨)、elevated、unelevated(古い代替)

公式が書いている注意(まとめ)

「Agent approvals & security」などで、公式が書いていた注意を、そのまま並べます。

僕らの見立て:最初の設定の例

ここからは僕らの見立てです。公式の記載から組み立てたもので、公式の推奨そのものではありません。

  1. 練習の間は、Gitで管理している小さなフォルダで、「Ask for approval」(CLIならAuto)のまま使う。
  2. 初めて見るリポジトリでは、read-only で中身を読ませるところから始める。
  3. ネットワークは、必要になるまでオフのままにする。必要になったら、* ではなく、行き先を絞る。
  4. 承認の画面は、中身を読んでから通す。
  5. --yolo と danger-full-access は、使う理由を言葉にできるまで使わない。

気をつけること

出典