SpyBara
Go Premium

Documentation 2026-08-14 22:00 UTC to 2026-08-15 01:01 UTC

13 files changed +1,160 −382. View all changes and history on the product overview
2026
Sat 15 01:01 Fri 14 22:00 Thu 13 22:59 Wed 12 19:59 Tue 11 22:59 Mon 10 22:00 Sat 8 03:02 Fri 7 18:59 Thu 6 23:58 Wed 5 19:00 Tue 4 22:00 Mon 3 23:00 Sun 2 21:00
Details

28 href: "/codex/enterprise/admin-setup",28 href: "/codex/enterprise/admin-setup",

29 icon: "users",29 icon: "users",

30 },30 },

31 {

32 title: "ChatGPT Work Overview",

33 description:

34 "Understand hosted execution, network controls, data boundaries, and audit visibility.",

35 href: "/codex/enterprise/chatgpt-work-overview",

36 icon: "shieldCheck",

37 },

31 {38 {

32 title: "ChatGPT Work admin FAQ",39 title: "ChatGPT Work admin FAQ",

33 description:40 description:

Details

48Network access is controlled through destination rules that apply to scripts,48Network access is controlled through destination rules that apply to scripts,

49programs, and subprocesses spawned by commands. When command network access is49programs, and subprocesses spawned by commands. When command network access is

50already enabled, turn on the `network_proxy` feature to constrain that traffic50already enabled, turn on the `network_proxy` feature to constrain that traffic

51to the network policy you configure.51to the network policy you configure. Adding domain rules does not enable the

52proxy by itself.

52 53 

53```toml54```toml

54[features.network_proxy]55[features.network_proxy]


80- Network on + `network_proxy` on: network stays on, and outbound traffic is81- Network on + `network_proxy` on: network stays on, and outbound traffic is

81 constrained by the configured network policy.82 constrained by the configured network policy.

82 83 

84The proxy feature also applies to [permission profiles](https://learn.chatgpt.com/docs/permissions#network-permissions).

85A profile's `network.enabled = true` grants command network access, while

86`features.network_proxy = true` activates enforcement of that profile's domain

87rules:

88 

89```toml

90default_permissions = "project-edit"

91 

92[features]

93network_proxy = true

94 

95[permissions.project-edit]

96extends = ":workspace"

97 

98[permissions.project-edit.network]

99enabled = true

100 

101[permissions.project-edit.network.domains]

102"api.openai.com" = "allow"

103```

104 

105If you omit the proxy feature in this example, commands have direct network

106access and the `api.openai.com` allow rule does not restrict their destinations.

107 

83Admin-managed `experimental_network` requirements are separate from the user108Admin-managed `experimental_network` requirements are separate from the user

84feature toggle. They can configure and start sandboxed networking without109feature toggle. They can configure and start sandboxed networking without

85`features.network_proxy`, but they do not turn on network access when the active110`features.network_proxy`, but they do not turn on network access when the active


150| `dangerously_allow_non_loopback_proxy` | `false` | Keeps listener endpoints on loopback unless you deliberately expose them beyond localhost. |175| `dangerously_allow_non_loopback_proxy` | `false` | Keeps listener endpoints on loopback unless you deliberately expose them beyond localhost. |

151| `dangerously_allow_all_unix_sockets` | `false` | Keeps Unix socket access allowlist-based unless you deliberately bypass that protection. |176| `dangerously_allow_all_unix_sockets` | `false` | Keeps Unix socket access allowlist-based unless you deliberately bypass that protection. |

152 177 

178### Traffic outside the command network proxy

179 

180The network proxy filters scripts, programs, and child processes that run

181inside the local command sandbox. It does not filter web search, app or

182connector tool calls, MCP server connections, browser or Computer Use activity,

183Codex cloud tasks, or the client's model and authentication requests. These

184surfaces use separate service connections, feature settings, workspace

185policies, or environment controls.

186 

187For managed users, combine command network policy with controls such as

188`allowed_web_search_modes`, approved `mcp_servers`, and feature requirements

189for apps, plugins, browsers, or Computer Use. See

190[Managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration).

191 

153You can also control the [web search tool](https://platform.openai.com/docs/guides/tools-web-search) without granting full network access to spawned commands. Codex defaults to using a web search cache to access results. The cache is an OpenAI-maintained index of web results, so cached mode returns pre-indexed results instead of fetching live pages. This reduces exposure to prompt injection from arbitrary live content, but you should still treat web results as untrusted. If you are using `--yolo` or another [full access sandbox setting](#common-sandbox-and-approval-combinations), web search defaults to live results. Use `--search` or set `web_search = "live"` to allow live browsing, or set it to `"disabled"` to turn the tool off:192You can also control the [web search tool](https://platform.openai.com/docs/guides/tools-web-search) without granting full network access to spawned commands. Codex defaults to using a web search cache to access results. The cache is an OpenAI-maintained index of web results, so cached mode returns pre-indexed results instead of fetching live pages. This reduces exposure to prompt injection from arbitrary live content, but you should still treat web results as untrusted. If you are using `--yolo` or another [full access sandbox setting](#common-sandbox-and-approval-combinations), web search defaults to live results. Use `--search` or set `web_search = "live"` to allow live browsing, or set it to `"disabled"` to turn the tool off:

154 193 

155```toml194```toml

codex-manual.md +572 −187

Details

8698Network access is controlled through destination rules that apply to scripts,8698Network access is controlled through destination rules that apply to scripts,

8699programs, and subprocesses spawned by commands. When command network access is8699programs, and subprocesses spawned by commands. When command network access is

8700already enabled, turn on the `network_proxy` feature to constrain that traffic8700already enabled, turn on the `network_proxy` feature to constrain that traffic

8701to the network policy you configure.8701to the network policy you configure. Adding domain rules does not enable the

8702proxy by itself.

8702 8703 

8703```toml8704```toml

8704[features.network_proxy]8705[features.network_proxy]


8730- Network on + `network_proxy` on: network stays on, and outbound traffic is8731- Network on + `network_proxy` on: network stays on, and outbound traffic is

8731 constrained by the configured network policy.8732 constrained by the configured network policy.

8732 8733 

8734The proxy feature also applies to [permission profiles](https://learn.chatgpt.com/docs/permissions#network-permissions).

8735A profile's `network.enabled = true` grants command network access, while

8736`features.network_proxy = true` activates enforcement of that profile's domain

8737rules:

8738 

8739```toml

8740default_permissions = "project-edit"

8741 

8742[features]

8743network_proxy = true

8744 

8745[permissions.project-edit]

8746extends = ":workspace"

8747 

8748[permissions.project-edit.network]

8749enabled = true

8750 

8751[permissions.project-edit.network.domains]

8752"api.openai.com" = "allow"

8753```

8754 

8755If you omit the proxy feature in this example, commands have direct network

8756access and the `api.openai.com` allow rule does not restrict their destinations.

8757 

8733Admin-managed `experimental_network` requirements are separate from the user8758Admin-managed `experimental_network` requirements are separate from the user

8734feature toggle. They can configure and start sandboxed networking without8759feature toggle. They can configure and start sandboxed networking without

8735`features.network_proxy`, but they do not turn on network access when the active8760`features.network_proxy`, but they do not turn on network access when the active


8800| `dangerously_allow_non_loopback_proxy` | `false` | Keeps listener endpoints on loopback unless you deliberately expose them beyond localhost. |8825| `dangerously_allow_non_loopback_proxy` | `false` | Keeps listener endpoints on loopback unless you deliberately expose them beyond localhost. |

8801| `dangerously_allow_all_unix_sockets` | `false` | Keeps Unix socket access allowlist-based unless you deliberately bypass that protection. |8826| `dangerously_allow_all_unix_sockets` | `false` | Keeps Unix socket access allowlist-based unless you deliberately bypass that protection. |

8802 8827 

8828#### Traffic outside the command network proxy

8829 

8830The network proxy filters scripts, programs, and child processes that run

8831inside the local command sandbox. It does not filter web search, app or

8832connector tool calls, MCP server connections, browser or Computer Use activity,

8833Codex cloud tasks, or the client's model and authentication requests. These

8834surfaces use separate service connections, feature settings, workspace

8835policies, or environment controls.

8836 

8837For managed users, combine command network policy with controls such as

8838`allowed_web_search_modes`, approved `mcp_servers`, and feature requirements

8839for apps, plugins, browsers, or Computer Use. See

8840[Managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration).

8841 

8803You can also control the [web search tool](https://platform.openai.com/docs/guides/tools-web-search) without granting full network access to spawned commands. Codex defaults to using a web search cache to access results. The cache is an OpenAI-maintained index of web results, so cached mode returns pre-indexed results instead of fetching live pages. This reduces exposure to prompt injection from arbitrary live content, but you should still treat web results as untrusted. If you are using `--yolo` or another [full access sandbox setting](#common-sandbox-and-approval-combinations), web search defaults to live results. Use `--search` or set `web_search = "live"` to allow live browsing, or set it to `"disabled"` to turn the tool off:8842You can also control the [web search tool](https://platform.openai.com/docs/guides/tools-web-search) without granting full network access to spawned commands. Codex defaults to using a web search cache to access results. The cache is an OpenAI-maintained index of web results, so cached mode returns pre-indexed results instead of fetching live pages. This reduces exposure to prompt injection from arbitrary live content, but you should still treat web results as untrusted. If you are using `--yolo` or another [full access sandbox setting](#common-sandbox-and-approval-combinations), web search defaults to live results. Use `--search` or set `web_search = "live"` to allow live browsing, or set it to `"disabled"` to turn the tool off:

8804 8843 

8805```toml8844```toml


9528rules, which define what commands can read or write, with network rules, which9567rules, which define what commands can read or write, with network rules, which

9529define which destinations commands can reach.9568define which destinations commands can reach.

9530 9569 

9570A profile's `network.enabled = true` permits command network access, but it

9571does not start the network proxy. To enforce profile domain rules, also set

9572`features.network_proxy = true` in `config.toml`, or use enabled,

9573administrator-managed `[experimental_network]` requirements. Without an active

9574proxy, profile domain rules do not restrict direct network access.

9575 

9531Use profiles to give Codex enough access for the current chat without granting9576Use profiles to give Codex enough access for the current chat without granting

9532broad access to your machine or network. For example, a read-only profile can9577broad access to your machine or network. For example, a read-only profile can

9533let Codex inspect a project without editing it, while a write-capable profile9578let Codex inspect a project without editing it, while a write-capable profile


9593```toml9638```toml

9594default_permissions = "project-edit"9639default_permissions = "project-edit"

9595 9640 

9641[features]

9642network_proxy = true

9643 

9596[permissions.project-edit.workspace_roots]9644[permissions.project-edit.workspace_roots]

9597"~/code/app" = true9645"~/code/app" = true

9598"~/code/shared-lib" = true9646"~/code/shared-lib" = true


9641```toml9689```toml

9642default_permissions = "project-edit"9690default_permissions = "project-edit"

9643 9691 

9692[features]

9693network_proxy = true

9694 

9644[permissions.project-edit]9695[permissions.project-edit]

9645description = "Project editing with OpenAI API access."9696description = "Project editing with OpenAI API access."

9646extends = ":workspace"9697extends = ":workspace"


9675| `permissions..filesystem.glob_scan_max_depth` | Number | None | Limits deny-read glob expansion on Linux, WSL, and native Windows when Codex snapshots matches before sandbox startup. Larger values can increase startup scanning work. Use a value of at least `1` when an unbounded `**` pattern needs bounded pre-expansion. |9726| `permissions..filesystem.glob_scan_max_depth` | Number | None | Limits deny-read glob expansion on Linux, WSL, and native Windows when Codex snapshots matches before sandbox startup. Larger values can increase startup scanning work. Use a value of at least `1` when an unbounded `**` pattern needs bounded pre-expansion. |

9676| `[permissions..filesystem].""` | `read`, `write`, or `deny` | None | Grants direct access for a supported path. `deny` denies access and wins over equally specific `write` or `read` entries. Codex rejects direct write rules that the active runtime cannot enforce. |9727| `[permissions..filesystem].""` | `read`, `write`, or `deny` | None | Grants direct access for a supported path. `deny` denies access and wins over equally specific `write` or `read` entries. Codex rejects direct write rules that the active runtime cannot enforce. |

9677| `[permissions..filesystem.""].""` | `read`, `write`, or `deny` | None | Grants access to a descendant of ``. Use `.`for the base path. Other subpaths must be relative descendants and cannot contain`.`or`..` components. |9728| `[permissions..filesystem.""].""` | `read`, `write`, or `deny` | None | Grants access to a descendant of ``. Use `.`for the base path. Other subpaths must be relative descendants and cannot contain`.`or`..` components. |

9678| `[permissions..network]` | Table | None | Configures the network sandbox proxy and the sandbox network policy for the profile. |9729| `[permissions..network]` | Table | None | Configures command network access and the policy that an active network proxy enforces. Enable `features.network_proxy` unless administrator-managed network requirements start the proxy. |

9679| `permissions..network.enabled` | Boolean | `false` | Enables network access for sandboxed commands in the profile. This changes the sandbox network policy; it does not start the network proxy by itself. |9730| `permissions..network.enabled` | Boolean | `false` | Enables network access for commands in the profile. It does not start the network proxy; without an active proxy, commands can connect directly without domain restrictions. |

9680| `[permissions..network.domains]` | Table | None | Maps host patterns to `allow` or `deny`. If there are no `allow` entries, domain requests are blocked. Deny entries override allow entries. |9731| `[permissions..network.domains]` | Table | None | Maps host patterns to `allow` or `deny`. Rules apply only when the network proxy is active. The active proxy blocks domain requests if there are no `allow` entries, and deny entries override allow entries. |

9681| `permissions..network.domains.""` | `allow` or `deny` | None | Supports exact hosts, `*.example.com` for subdomains, `**.example.com` for apex plus subdomains, and `*` as an allow-only global wildcard. Host patterns are normalized by trimming, lowercasing, stripping a trailing dot, and stripping simple ports or brackets. |9732| `permissions..network.domains.""` | `allow` or `deny` | None | Supports exact hosts, `*.example.com` for subdomains, `**.example.com` for apex plus subdomains, and `*` as an allow-only global wildcard. Host patterns are normalized by trimming, lowercasing, stripping a trailing dot, and stripping simple ports or brackets. |

9682| `[permissions..network.unix_sockets]` | Table | None | Maps Unix socket allowlist overrides. Use only for local integrations such as Docker. |9733| `[permissions..network.unix_sockets]` | Table | None | Maps Unix socket allowlist overrides. Use only for local integrations such as Docker. |

9683| `permissions..network.unix_sockets.""` | `allow` or `deny` | None | Adds an absolute Unix socket path to the effective allowlist with `allow`, or rejects it with `deny`. Denied entries are omitted from the effective allowlist. |9734| `permissions..network.unix_sockets.""` | `allow` or `deny` | None | Adds an absolute Unix socket path to the effective allowlist with `allow`, or rejects it with `deny`. Denied entries are omitted from the effective allowlist. |


9823 9874 

9824#### Network permissions9875#### Network permissions

9825 9876 

9826Set `enabled = true` to allow network access for the selected profile:9877Network access and network filtering are separate settings. Set

9878`permissions..network.enabled = true` to let commands access the network,

9879and enable `features.network_proxy` to enforce the profile's domain rules:

9827 9880 

9828```toml9881```toml

9882[features]

9883network_proxy = true

9884 

9829[permissions.project-edit.network]9885[permissions.project-edit.network]

9830enabled = true9886enabled = true

9831```

9832 

9833When network access is enabled, Codex uses full network behavior by default.

9834Most profiles should also define domain rules:

9835 9887 

9836```toml

9837[permissions.project-edit.network.domains]9888[permissions.project-edit.network.domains]

9838"example.com" = "allow" # exact host9889"example.com" = "allow" # exact host

9839"*.example.com" = "allow" # subdomains only9890"*.example.com" = "allow" # subdomains only


9841"ads.example.com" = "deny" # deny wins over allow9892"ads.example.com" = "deny" # deny wins over allow

9842```9893```

9843 9894 

9844The network sandbox proxy binds to local listeners by default:9895The resulting behavior depends on both settings:

9896 

9897- Network off: Commands cannot access the network, regardless of the proxy

9898 feature.

9899- Network on, proxy off: Commands have direct, unrestricted network

9900 access. Domain rules in the permission profile are not enforced.

9901- Network on, proxy on: Commands use the proxy, which enforces the profile's

9902 domain rules. If the active proxy has no allowed domains, it blocks external

9903 destinations.

9904 

9905Adding `[permissions..network.domains]` or setting

9906`permissions..network.enabled = true` does not enable

9907`features.network_proxy`. As an alternative, administrators can enable the

9908proxy with `[experimental_network]` in `requirements.toml`. See

9909[Managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration#configure-network-access-requirements).

9910 

9911When active, the network sandbox proxy binds to local listeners by default:

9845 9912 

9846```toml9913```toml

9847[permissions.project-edit.network]9914[permissions.project-edit.network]


9858 9925 

9859#### Local and private networks9926#### Local and private networks

9860 9927 

9861Codex applies a local/private-network guard by default as a defense against DNS9928When the network proxy is active, Codex applies a local/private-network guard by

9862rebinding and accidental access to local services. To intentionally allow a9929default as a defense against DNS rebinding and accidental access to local

9863literal local target, allowlist the exact host or IP literal:9930services. To intentionally allow a literal local target, allowlist the exact

9931host or IP literal:

9864 9932 

9865```toml9933```toml

9866[permissions.project-edit.network.domains]9934[permissions.project-edit.network.domains]


9922 9990 

9923Permission profiles define the boundaries for local sandboxed command9991Permission profiles define the boundaries for local sandboxed command

9924execution. Use them together with approval policies and the separate controls9992execution. Use them together with approval policies and the separate controls

9925for connectors, MCP servers, the built-in browser, Computer Use, and Codex cloud.9993for web search, connectors, MCP servers, the built-in browser, Computer Use,

9994and Codex cloud.

9926 9995 

9927#### What profiles control9996#### What profiles control

9928 9997 


9935 files, and shared directories as sensitive because later tools or users can10004 files, and shared directories as sensitive because later tools or users can

9936 execute those files outside the original sandbox context.10005 execute those files outside the original sandbox context.

9937- **Outbound destinations:** Network domain rules constrain where sandboxed10006- **Outbound destinations:** Network domain rules constrain where sandboxed

9938 command traffic can go through the network proxy. They do not determine10007 command traffic can go only while the network proxy is active. They do not

9939 whether an allowed destination is trustworthy, and wildcard allow rules stay10008 determine whether an allowed destination is trustworthy, and wildcard allow

9940 broad.10009 rules stay broad.

9941- **Local services:** Local and private network targets are blocked by default.10010- **Local services:** An active network proxy blocks local and private network

9942 Allowlisting `localhost`, private IPs, Unix sockets, or setting10011 targets by default. Allowlisting `localhost`, private IPs, Unix sockets, or setting

9943 `allow_local_binding = true` explicitly opens access to local services.10012 `allow_local_binding = true` explicitly opens access to local services.

9944 10013 

10014#### What the network proxy does not control

10015 

10016The network proxy only filters traffic from local commands that run inside the

10017sandbox. It does not apply the profile's domain allowlist to:

10018 

10019- **Web search:** The hosted search tool uses its own access settings. Use

10020 `web_search` and, for managed clients, `allowed_web_search_modes` to control

10021 it. `tools.web_search.allowed_domains` filters search results, not command

10022 network access.

10023- **Apps and connectors:** Connector-backed tools use their own service-side

10024 connections, workspace permissions, and app or tool settings.

10025- **MCP servers:** Local and remote MCP servers use their own process or

10026 transport. Control them with `mcp_servers` configuration and managed server

10027 allowlists.

10028- **Browser and Computer Use:** Browser navigation and computer-use actions

10029 use their own feature and approval controls.

10030- **Codex service traffic:** Model, authentication, and other client service

10031 requests use the client's separate HTTP and system-proxy settings.

10032- **Codex cloud:** These tasks use their environment's own

10033 [internet access settings](https://learn.chatgpt.com/docs/cloud/internet-access).

10034 

10035To limit these surfaces, configure each capability directly. A command network

10036allowlist is not a global network policy for every action Codex can perform.

10037 

9945#### How enforcement works10038#### How enforcement works

9946 10039 

9947- On macOS, Codex uses Seatbelt sandbox profiles. If the selected policy cannot10040- On macOS, Codex uses Seatbelt sandbox profiles. If the selected policy cannot


9973```toml10066```toml

9974default_permissions = "readonly-net"10067default_permissions = "readonly-net"

9975 10068 

10069[features]

10070network_proxy = true

10071 

9976[permissions.readonly-net.filesystem]10072[permissions.readonly-net.filesystem]

9977":minimal" = "read"10073":minimal" = "read"

9978 10074 


10034```toml10130```toml

10035default_permissions = "workspace-net"10131default_permissions = "workspace-net"

10036 10132 

10133[features]

10134network_proxy = true

10135 

10037[permissions.workspace-net.filesystem]10136[permissions.workspace-net.filesystem]

10038":minimal" = "read"10137":minimal" = "read"

10039 10138 


10096approvals_reviewer = "auto_review"10195approvals_reviewer = "auto_review"

10097default_permissions = "cyber-lab"10196default_permissions = "cyber-lab"

10098 10197 

10198[features]

10199network_proxy = true

10200 

10099[permissions.cyber-lab]10201[permissions.cyber-lab]

10100description = "Limit security testing to the approved lab and workspace."10202description = "Limit security testing to the approved lab and workspace."

10101extends = ":workspace"10203extends = ":workspace"


10116"lab.example.com" = "allow"10218"lab.example.com" = "allow"

10117```10219```

10118 10220 

10221The `network_proxy` feature enforces the approved domain. Without it,

10222`network.enabled = true` permits direct network access and the lab allowlist

10223does not restrict destinations. Web search, apps, connectors, MCP servers,

10224browser activity, and Codex cloud use separate controls; restrict or turn off

10225each surface that your approved workflow does not require.

10226 

10119Replace `lab.example.com` with an approved target. The bounded filesystem scan is designed to avoid searching the entire workspace on Linux, WSL, and Windows; increase the depth or use exact deny paths if sensitive files appear deeper. Don't combine permission profiles with legacy `sandbox_mode` settings; follow the [permission-profile configuration guidance](https://learn.chatgpt.com/docs/permissions#define-and-select-a-profile).10227Replace `lab.example.com` with an approved target. The bounded filesystem scan is designed to avoid searching the entire workspace on Linux, WSL, and Windows; increase the depth or use exact deny paths if sensitive files appear deeper. Don't combine permission profiles with legacy `sandbox_mode` settings; follow the [permission-profile configuration guidance](https://learn.chatgpt.com/docs/permissions#define-and-select-a-profile).

10120 10228 

10121If the approved lab host resolves to a private address, Codex blocks it by default even when the host is on the allowlist. Set `allow_local_binding = true` only for explicitly approved private-network work, keep the destination allowlist narrow, and review the [local and private network guidance](https://learn.chatgpt.com/docs/permissions#local-and-private-networks). You can also allowlist the exact approved private IP address.10229If the approved lab host resolves to a private address, Codex blocks it by default even when the host is on the allowlist. Set `allow_local_binding = true` only for explicitly approved private-network work, keep the destination allowlist narrow, and review the [local and private network guidance](https://learn.chatgpt.com/docs/permissions#local-and-private-networks). You can also allowlist the exact approved private IP address.


10711| `disable_paste_burst` | `boolean` | | Disable burst-paste detection in the TUI. |10819| `disable_paste_burst` | `boolean` | | Disable burst-paste detection in the TUI. |

10712| `experimental_compact_prompt_file` | `string (path)` | | Load the compaction prompt override from a file (experimental). |10820| `experimental_compact_prompt_file` | `string (path)` | | Load the compaction prompt override from a file (experimental). |

10713| `experimental_use_unified_exec_tool` | `boolean` | | Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`. |10821| `experimental_use_unified_exec_tool` | `boolean` | | Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`. |

10714| `features.apps` | `boolean` | | Enable app (connector) integrations (stable; on by default). |10822| `features.apps` | `boolean` | | Enable app (connector) integrations (stable; on by default). App and connector traffic is not controlled by the sandboxed-command network proxy or its domain allowlist. |

10715| `features.code_mode.direct_only_tool_namespaces` | `array` | | Tool namespaces code mode can use only through direct tool calls. |10823| `features.code_mode.direct_only_tool_namespaces` | `array` | | Tool namespaces code mode can use only through direct tool calls. |

10716| `features.code_mode.enabled` | `boolean` | | Enable code mode feature configuration. This feature is under development and off by default. |10824| `features.code_mode.enabled` | `boolean` | | Enable code mode feature configuration. This feature is under development and off by default. |

10717| `features.code_mode.excluded_tool_namespaces` | `array` | | Tool namespaces code mode excludes from nested code-mode tool guidance and executor exposure. |10825| `features.code_mode.excluded_tool_namespaces` | `array` | | Tool namespaces code mode excludes from nested code-mode tool guidance and executor exposure. |


10721| `features.hooks` | `boolean` | | Enable lifecycle hooks loaded from `hooks.json` or inline `[hooks]` config. `features.codex_hooks` is a deprecated alias. |10829| `features.hooks` | `boolean` | | Enable lifecycle hooks loaded from `hooks.json` or inline `[hooks]` config. `features.codex_hooks` is a deprecated alias. |

10722| `features.memories` | `boolean` | | Enable [Memories](https://learn.chatgpt.com/docs/customization/memories) (off by default). |10830| `features.memories` | `boolean` | | Enable [Memories](https://learn.chatgpt.com/docs/customization/memories) (off by default). |

10723| `features.multi_agent` | `boolean` | | Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait_agent`, and `close_agent`) (stable; on by default). |10831| `features.multi_agent` | `boolean` | | Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait_agent`, and `close_agent`) (stable; on by default). |

10724| `features.network_proxy` | `boolean \| table` | | Enable sandboxed networking. Use a table form when setting network policy options such as `domains` (experimental; off by default). |10832| `features.network_proxy` | `boolean \| table` | | Start the network proxy for sandboxed commands (experimental; off by default). Required to enforce permission-profile domain rules unless enabled administrator-managed `experimental_network` requirements start the proxy. Use a table when setting feature-level policy options such as `domains`. Does not filter web search, apps, MCP, or other hosted tools. |

10725| `features.network_proxy.allow_local_binding` | `boolean` | | Allow broader local/private-network access. Defaults to `false`; exact local IP literal or `localhost` allow rules can still permit specific local targets. |10833| `features.network_proxy.allow_local_binding` | `boolean` | | Allow broader local/private-network access. Defaults to `false`; exact local IP literal or `localhost` allow rules can still permit specific local targets. |

10726| `features.network_proxy.allow_upstream_proxy` | `boolean` | | Allow chaining through an upstream proxy from the environment. Defaults to `true`. |10834| `features.network_proxy.allow_upstream_proxy` | `boolean` | | Allow chaining through an upstream proxy from the environment. Defaults to `true`. |

10727| `features.network_proxy.dangerously_allow_all_unix_sockets` | `boolean` | | Permit arbitrary Unix socket destinations instead of allowlist-only access. Defaults to `false`; use only in tightly controlled environments. |10835| `features.network_proxy.dangerously_allow_all_unix_sockets` | `boolean` | | Permit arbitrary Unix socket destinations instead of allowlist-only access. Defaults to `false`; use only in tightly controlled environments. |


10729| `features.network_proxy.domains` | `map` | | Domain policy for sandboxed networking. Unset by default, which means no external destinations are allowed until you add `allow` rules. Supports exact hosts, `*.example.com` for subdomains only, `**.example.com` for apex plus subdomains, and global `*` allow rules; prefer scoped rules because `*` broadly opens public outbound access. Add `deny` rules for blocked destinations; `deny` wins on conflicts. |10837| `features.network_proxy.domains` | `map` | | Domain policy for sandboxed networking. Unset by default, which means no external destinations are allowed until you add `allow` rules. Supports exact hosts, `*.example.com` for subdomains only, `**.example.com` for apex plus subdomains, and global `*` allow rules; prefer scoped rules because `*` broadly opens public outbound access. Add `deny` rules for blocked destinations; `deny` wins on conflicts. |

10730| `features.network_proxy.enable_socks5` | `boolean` | | Expose SOCKS5 support. Defaults to `true`. |10838| `features.network_proxy.enable_socks5` | `boolean` | | Expose SOCKS5 support. Defaults to `true`. |

10731| `features.network_proxy.enable_socks5_udp` | `boolean` | | Allow UDP over SOCKS5. Defaults to `true`. |10839| `features.network_proxy.enable_socks5_udp` | `boolean` | | Allow UDP over SOCKS5. Defaults to `true`. |

10732| `features.network_proxy.enabled` | `boolean` | | Enable sandboxed networking. Defaults to `false`. |10840| `features.network_proxy.enabled` | `boolean` | | Start the sandboxed-command network proxy when command network access is enabled. Defaults to `false`; permission-profile domain rules are not enforced while the proxy is off. |

10733| `features.network_proxy.proxy_url` | `string` | | HTTP listener URL for sandboxed networking. Defaults to `"http://127.0.0.1:3128"`. |10841| `features.network_proxy.proxy_url` | `string` | | HTTP listener URL for sandboxed networking. Defaults to `"http://127.0.0.1:3128"`. |

10734| `features.network_proxy.socks_url` | `string` | | SOCKS5 listener URL. Defaults to `"http://127.0.0.1:8081"`. |10842| `features.network_proxy.socks_url` | `string` | | SOCKS5 listener URL. Defaults to `"http://127.0.0.1:8081"`. |

10735| `features.network_proxy.unix_sockets` | `map` | | Unix socket policy for sandboxed networking. Unset by default; add `allow` entries for permitted sockets. |10843| `features.network_proxy.unix_sockets` | `map` | | Unix socket policy for sandboxed networking. Unset by default; add `allow` entries for permitted sockets. |


10870| `permissions..network.allow_upstream_proxy` | `boolean` | | Allow sandboxed networking to chain through another upstream proxy. |10978| `permissions..network.allow_upstream_proxy` | `boolean` | | Allow sandboxed networking to chain through another upstream proxy. |

10871| `permissions..network.dangerously_allow_all_unix_sockets` | `boolean` | | Allow arbitrary Unix socket destinations instead of the default restricted set. Use only in tightly controlled environments. |10979| `permissions..network.dangerously_allow_all_unix_sockets` | `boolean` | | Allow arbitrary Unix socket destinations instead of the default restricted set. Use only in tightly controlled environments. |

10872| `permissions..network.dangerously_allow_non_loopback_proxy` | `boolean` | | Permit non-loopback bind addresses for sandboxed networking listeners. Enabling it can expose listeners beyond localhost. |10980| `permissions..network.dangerously_allow_non_loopback_proxy` | `boolean` | | Permit non-loopback bind addresses for sandboxed networking listeners. Enabling it can expose listeners beyond localhost. |

10873| `permissions..network.domains` | `table` | | Domain rules for sandboxed networking. Supports exact hosts, `*.example.com` for subdomains only, `**.example.com` for apex plus subdomains, and global `*` allow rules. `deny` wins on conflicts. |10981| `permissions..network.domains` | `table` | | Domain rules for sandboxed commands. Enforced only when `features.network_proxy` or enabled administrator-managed networking requirements activate the proxy. Supports exact hosts, `*.example.com`, `**.example.com`, and global `*` allow rules; `deny` wins. Does not restrict web search, apps, or MCP servers. |

10874| `permissions..network.domains.` | `allow \| deny` | | Allow or deny an exact host or scoped wildcard pattern such as `*.example.com` or `**.example.com`. |10982| `permissions..network.domains.` | `allow \| deny` | | Allow or deny an exact host or scoped wildcard pattern such as `*.example.com` or `**.example.com`. |

10875| `permissions..network.enable_socks5` | `boolean` | | Expose SOCKS5 support when this permissions profile enables sandboxed networking. |10983| `permissions..network.enable_socks5` | `boolean` | | Expose SOCKS5 support when this permissions profile enables sandboxed networking. |

10876| `permissions..network.enable_socks5_udp` | `boolean` | | Allow UDP over the SOCKS5 listener when enabled. |10984| `permissions..network.enable_socks5_udp` | `boolean` | | Allow UDP over the SOCKS5 listener when enabled. |

10877| `permissions..network.enabled` | `boolean` | | Enable network access for this named permissions profile. This changes the sandbox network policy; it does not start the network proxy by itself. |10985| `permissions..network.enabled` | `boolean` | | Enable network access for commands in this permission profile. This does not start the network proxy. Without `features.network_proxy` or enabled administrator-managed networking requirements, command network access is direct and profile domain rules are not enforced. |

10878| `permissions..network.mode` | `limited \| full` | | Network proxy mode used for subprocess traffic. |10986| `permissions..network.mode` | `limited \| full` | | Network proxy mode used for subprocess traffic. |

10879| `permissions..network.proxy_url` | `string` | | HTTP listener URL used when this permissions profile enables sandboxed networking. |10987| `permissions..network.proxy_url` | `string` | | HTTP listener URL used when this permissions profile enables sandboxed networking. |

10880| `permissions..network.socks_url` | `string` | | SOCKS5 proxy endpoint used by this permissions profile. |10988| `permissions..network.socks_url` | `string` | | SOCKS5 proxy endpoint used by this permissions profile. |


10917| `tool_suggest.disabled_tools` | `array` | | Disable suggestions for specific discoverable connectors or plugins. Each entry uses `type = "connector"` or `"plugin"` and an `id`. |11025| `tool_suggest.disabled_tools` | `array` | | Disable suggestions for specific discoverable connectors or plugins. Each entry uses `type = "connector"` or `"plugin"` and an `id`. |

10918| `tool_suggest.discoverables` | `array` | | Allow tool suggestions for additional discoverable connectors or plugins. Each entry uses `type = "connector"` or `"plugin"` and an `id`. |11026| `tool_suggest.discoverables` | `array` | | Allow tool suggestions for additional discoverable connectors or plugins. Each entry uses `type = "connector"` or `"plugin"` and an `id`. |

10919| `tools.view_image` | `boolean` | | Enable the local-image attachment tool `view_image`. |11027| `tools.view_image` | `boolean` | | Enable the local-image attachment tool `view_image`. |

10920| `tools.web_search` | `boolean \| { context_size = "low\|medium\|high", allowed_domains = [string], location = { country, region, city, timezone } }` | | Optional web search tool configuration. The legacy boolean form is still accepted, but the object form lets you set search context size, allowed domains, and approximate user location. |11028| `tools.web_search` | `boolean \| { context_size = "low\|medium\|high", allowed_domains = [string], location = { country, region, city, timezone } }` | | Optional web search tool configuration. The object form can set search context size, allowed search domains, and approximate user location. These search-domain filters are separate from sandboxed-command network domain rules and do not restrict connectors or MCP servers. |

10921| `tui` | `table` | | TUI-specific options such as enabling inline desktop notifications. |11029| `tui` | `table` | | TUI-specific options such as enabling inline desktop notifications. |

10922| `tui.alternate_screen` | `auto \| always \| never` | | Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback). |11030| `tui.alternate_screen` | `auto \| always \| never` | | Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback). |

10923| `tui.animations` | `boolean` | | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |11031| `tui.animations` | `boolean` | | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |


10998| `computer_use.allow_locked_computer_use` | `boolean` | | Set to `false` to prevent Computer Use from operating after a managed macOS device locks. If omitted, locked use remains unconstrained by requirements. |11106| `computer_use.allow_locked_computer_use` | `boolean` | | Set to `false` to prevent Computer Use from operating after a managed macOS device locks. If omitted, locked use remains unconstrained by requirements. |

10999| `default_permissions` | `string` | | Managed default permission profile. The profile must be allowed by `allowed_permission_profiles`. Set this explicitly for predictable behavior; if omitted, Codex defaults to `:workspace` only when both `:workspace` and `:read-only` are explicitly allowed. |11107| `default_permissions` | `string` | | Managed default permission profile. The profile must be allowed by `allowed_permission_profiles`. Set this explicitly for predictable behavior; if omitted, Codex defaults to `:workspace` only when both `:workspace` and `:read-only` are explicitly allowed. |

11000| `enforce_residency` | `string` | | Require Codex service traffic to use a supported data residency. Currently accepts `us`. |11108| `enforce_residency` | `string` | | Require Codex service traffic to use a supported data residency. Currently accepts `us`. |

11001| `experimental_network` | `table` | | Network access requirements enforced from `requirements.toml`. These constraints are separate from `features.network_proxy` and can configure sandboxed networking without the user feature flag. |11109| `experimental_network` | `table` | | Administrator-managed network requirements for sandboxed local commands, enforced from `requirements.toml`. When enabled, these requirements can start the command network proxy without `features.network_proxy`. They do not control web search, apps, MCP servers, browsers, or Codex cloud networking. |

11002| `experimental_network.allow_local_binding` | `boolean` | | Permit broader local/private-network access for sandboxed networking. Exact local IP literal or `localhost` allow rules can still permit specific local targets when this stays `false`. |11110| `experimental_network.allow_local_binding` | `boolean` | | Permit broader local/private-network access for sandboxed networking. Exact local IP literal or `localhost` allow rules can still permit specific local targets when this stays `false`. |

11003| `experimental_network.allow_upstream_proxy` | `boolean` | | Allow sandboxed networking to chain through an upstream proxy from the environment. |11111| `experimental_network.allow_upstream_proxy` | `boolean` | | Allow sandboxed networking to chain through an upstream proxy from the environment. |

11004| `experimental_network.allowed_domains` | `array` | | List-shaped administrator allow rules for sandboxed networking. Do not combine this with `experimental_network.domains`. |11112| `experimental_network.allowed_domains` | `array` | | Administrator allow rules for sandboxed-command networking while the managed network proxy is enabled. These rules do not apply to web search, apps, or MCP servers. Do not combine this with `experimental_network.domains`. |

11005| `experimental_network.dangerously_allow_all_unix_sockets` | `boolean` | | Permit arbitrary Unix socket destinations instead of allowlist-only access. Use only in tightly controlled environments. |11113| `experimental_network.dangerously_allow_all_unix_sockets` | `boolean` | | Permit arbitrary Unix socket destinations instead of allowlist-only access. Use only in tightly controlled environments. |

11006| `experimental_network.dangerously_allow_non_loopback_proxy` | `boolean` | | Permit non-loopback listener addresses for `[experimental_network]` requirements. Enabling it can expose listeners beyond localhost. |11114| `experimental_network.dangerously_allow_non_loopback_proxy` | `boolean` | | Permit non-loopback listener addresses for `[experimental_network]` requirements. Enabling it can expose listeners beyond localhost. |

11007| `experimental_network.denied_domains` | `array` | | List-shaped administrator deny rules for sandboxed networking. Do not combine this with `experimental_network.domains`. |11115| `experimental_network.denied_domains` | `array` | | List-shaped administrator deny rules for sandboxed networking. Do not combine this with `experimental_network.domains`. |


13152 13260 

13153# Enable the feature before configuring sandboxed networking rules.13261# Enable the feature before configuring sandboxed networking rules.

13154 13262 

13263# A profile's network.enabled allows direct network access; its domain rules

13264 

13265# apply only when the network proxy feature is enabled.

13266 

13267# Web search, apps, connectors, and MCP servers use separate controls.

13268 

13155# [features.network_proxy]13269# [features.network_proxy]

13156 13270 

13157# enabled = true13271# enabled = true


13400 13514 

13401# personality = true13515# personality = true

13402 13516 

13403# network_proxy = false13517# network_proxy = true # required to enforce permission-profile domain rules

13404 13518 

13405# fast_mode = true13519# fast_mode = true

13406 13520 


18825an OpenAI-maintained index instead of fetching arbitrary pages live, which18939an OpenAI-maintained index instead of fetching arbitrary pages live, which

18826lowers—but doesn't remove—prompt injection risk.18940lowers—but doesn't remove—prompt injection risk.

18827 18941 

18942Web search is a hosted tool, separate from sandboxed local command networking.

18943It does not use the permission profile's network proxy or domain allowlist, and

18944it can remain available when command network access is disabled. Configure

18945search with `web_search`, `tools.web_search.allowed_domains`, and managed

18946`allowed_web_search_modes` as appropriate. Search-domain filters do not restrict

18947local command traffic, apps, connectors, or MCP servers.

18948 

18828Use live search when your task depends on the latest information. Set18949Use live search when your task depends on the latest information. Set

18829`web_search = "live"` in `config.toml`. Set `web_search = "disabled"` to turn18950`web_search = "live"` in `config.toml`. Set `web_search = "disabled"` to turn

18830the tool off. The `"indexed"` mode permits external web access only when the18951the tool off. The `"indexed"` mode permits external web access only when the


32727information from connected sources, reason across steps, create documents,32848information from connected sources, reason across steps, create documents,

32728presentations, or analyses, and return results for review.32849presentations, or analyses, and return results for review.

32729 32850 

32730ChatGPT Work launched July 9, 2026. For Enterprise and Edu, web and mobile access is32851ChatGPT Work is available on supported web, mobile, and desktop surfaces for

32731off by default during a two-week preview. Admins can enable billable usage, and32852eligible plans and workspaces. Where supported, workspace owners or authorized

32732explicit opt-outs persist when the default changes. Desktop access remains32853admins can manage Work Cloud, Work Local, and Codex Local through distinct

32733governed separately through Codex Local permissions and managed configuration.32854permissions. For eligible Enterprise and Edu workspaces, the default workspace

32855role includes Work unless an authorized administrator turns it off. Browser and

32856network controls further restrict Work Cloud, and availability depends on role,

32857plan, workspace, and region. See

32858[ChatGPT Work and Codex](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex).

32734 32859 

32735This FAQ explains how admins manage ChatGPT Work: access and data controls,32860This FAQ explains how admins manage ChatGPT Work: access and data controls,

32736compliance and visibility, usage and spend, incident response, and rollout32861compliance and visibility, usage and spend, incident response, and rollout

32737practices.32862practices. For the hosted execution model and security boundaries, see

32863[ChatGPT Work Overview](https://learn.chatgpt.com/docs/enterprise/chatgpt-work-overview).

32738 32864 

32739#### Core administrative controls32865#### Core administrative controls

32740 32866 

32741Administrators govern ChatGPT Work through several control layers:32867Administrators govern ChatGPT Work through these control layers:

32742 32868 

32743- **Access to the enterprise workspace:** Identity and access controls manage32869- **Access to the enterprise workspace:** Identity and access controls manage

32744 authentication and access to the workspace. Depending on the plan and32870 authentication and access to the workspace. Depending on the plan and

32745 configuration, administrator-controlled identity features can include SSO,32871 configuration, administrator-controlled identity features can include SSO,

32746 domain verification, SCIM provisioning, user lifecycle management, and32872 domain verification, SCIM provisioning, user lifecycle management, and

32747 identity-group synchronization. Users can enable account-level OpenAI MFA;32873 identity-group synchronization. SCIM and synchronized identity groups aren't

32748 enforce workspace-wide MFA through your identity provider. Manage SSO and32874 included with ChatGPT Business. Users can enable account-level OpenAI MFA.

32749 related identity settings in the32875 ChatGPT doesn't provide workspace-wide MFA enforcement; organizations that

32876 require it should enforce SSO and MFA through their identity provider. Manage

32877 SSO and related identity settings in the

32750 [Global Admin Console](https://help.openai.com/en/articles/12289294-admin-portal).32878 [Global Admin Console](https://help.openai.com/en/articles/12289294-admin-portal).

32751- **Access to ChatGPT Work within the workspace:** On web and mobile, admins use the32879 See [Multi-factor authentication](https://help.openai.com/en/articles/7967234-enabling-or-disabling-multi-factor-authentication-mfa).

32752 ChatGPT Work access control and role-based access control (RBAC) to decide who can32880- **Access to ChatGPT Work within the workspace:** Where available, Work Cloud

32753 use it. Enterprise and Edu access is off during the two-week preview;32881 governs hosted Work across supported web, mobile, and desktop surfaces. Work

32754 admins can enable it, and explicit opt-outs persist when the default changes.32882 Local governs local desktop Work, while Codex Local controls supported local

32755 Desktop access follows separate Codex Local permissions and32883 Codex access in desktop, CLI, and IDE clients. Cloud browser and network

32756 [managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration). Controls32884 settings further restrict Work Cloud. Custom role-based access control (RBAC)

32757 vary by plan and surface.32885 and available permissions depend on the plan and workspace.

32758- **Group membership:** Groups can be synchronized through SCIM and an identity32886- **Group membership:** On plans that support SCIM, synchronize groups through

32759 provider so access updates automatically as employees join the organization,32887 an identity provider so access updates as employees join the organization,

32760 change roles, or leave. See32888 change roles, or leave. See

32761 [Groups and provisioning](https://learn.chatgpt.com/docs/enterprise/groups-and-provisioning).32889 [Groups and provisioning](https://learn.chatgpt.com/docs/enterprise/groups-and-provisioning).

32762- **Workspace and member roles:** Built-in Owner, Admin, and Member roles32890- **Workspace and member roles:** Built-in Enterprise roles include Owner,

32763 determine who can administer the workspace. Custom roles and member RBAC32891 Admin, Member, and Analytics Viewer. On supported plans, custom roles and

32764 separately control end-user access to ChatGPT Work, plugins, and other capabilities.32892 member RBAC control access to ChatGPT Work, plugins, and other capabilities.

32765 See32893 Where seat types apply, members also need a seat that includes ChatGPT; a

32894 Codex-only seat doesn't grant access to Work. See

32766 [Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).32895 [Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).

32767- **Plugins and connectors:** Plugin policy governs plugin availability and32896- **Plugins and apps:** Plugin policy governs plugin availability and

32768 installation. Connector access, action controls, and approval behavior are32897 installation. App access, action controls, and approval behavior are

32769 configured separately, and Workspace Agents have additional per-agent32898 configured separately. Workspace Agents have their own controls where

32770 controls. See [Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors),32899 available. See [Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors),

32771 [Plugins](https://learn.chatgpt.com/docs/plugins), and the32900 [Plugins](https://learn.chatgpt.com/docs/plugins), and the

32772 [App security white paper](https://cdn.openai.com/business-guides-and-resources/app-security-whitepaper.pdf).32901 [App security white paper](https://cdn.openai.com/business-guides-and-resources/app-security-whitepaper.pdf).

32773- **Source-system permissions:** A user can access only the content and actions32902- **Source-system permissions:** A user can access only the content and actions

32774 allowed by the account or shared connection in the native application. See32903 allowed by the account or shared connection in the native application. See

32775 [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business).32904 [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business).

32776- **Approval and action restrictions:** For connectors that support Action control,32905- **Approval and action restrictions:** For apps that support Action control,

32777 admins can allow all actions, read-only actions, or a custom set and decide32906 admins can allow all actions, read-only actions, or a custom set and decide

32778 how newly added actions are handled. App permissions separately determine32907 how newly added actions are handled. App permissions separately determine

32779 when ChatGPT asks before using a connector.32908 when ChatGPT asks before using an app.

32780- **Credits:** ChatGPT Work and Codex share pricing, credits, and usage limits.32909- **Credits:** ChatGPT Work and Codex share pricing, credits, and usage limits.

32781 Eligible Enterprise and Edu admins can set monthly per-user limits through a32910 Eligible Enterprise and Edu admins can set monthly per-user limits through a

32782 workspace default, group defaults, and individual overrides. Users can32911 workspace default, group defaults, and individual overrides. Users can


32796 32925 

32797ChatGPT Work is governed by the identity, access, and permission controls already32926ChatGPT Work is governed by the identity, access, and permission controls already

32798established in your ChatGPT workspace. Administrators use identity management,32927established in your ChatGPT workspace. Administrators use identity management,

32799[RBAC](https://help.openai.com/en/articles/11750701-rbac), and workspace roles32928workspace roles, and, on eligible plans,

32800to determine who can use ChatGPT Work.32929[RBAC](https://help.openai.com/en/articles/11750701-rbac) to determine who can

32930use ChatGPT Work.

32801 32931 

32802Where supported, access can be synchronized with your identity provider through32932Where supported, access can be synchronized with your identity provider through

32803[SCIM](https://help.openai.com/en/articles/10011769-openai-platform-scim-integration-faq)32933[SCIM](https://help.openai.com/en/articles/10011769-openai-platform-scim-integration-faq)

32804and group synchronization. This lets you manage access and permissions centrally32934and group synchronization. This lets you manage access and permissions centrally

32805as employees join the organization, change roles, or leave.32935as employees join the organization, change roles, or leave.

32806 32936 

32807Underlying source systems continue to enforce access to enterprise data. ChatGPT Work32937Underlying source systems enforce the permissions of the account or approved

32808respects the permissions defined in connected applications, so users and agents32938shared connection used for the operation. An individual connection uses that

32809can access only files, repositories, channels, records, and actions they are32939person's source-system access. An agent-owned or shared connection can give

32810authorized to use. ChatGPT Work doesn't bypass existing access controls or grant new32940authorized agent users access through the connected account, including data or

32811permissions in connected systems.32941actions their own account couldn't access. Restrict the connection's scopes,

32942available actions, and agent audience to the intended business need. See

32943[Workspace Agent connections and permissions](https://help.openai.com/en/articles/20001143-chatgpt-workspace-agents-for-enterprise-and-business).

32812 32944 

32813#### How does ChatGPT Work access data and context?32945#### How does ChatGPT Work access data and context?

32814 32946 

32815ChatGPT Work can use the current chat, uploaded files, workspace resources, and32947ChatGPT Work can use the current chat, uploaded files, workspace resources, and

32816connected systems through plugins. Depending on enabled capabilities and32948connected systems through approved apps and, when applicable, plugins.

32817permissions, this can include documents, repositories, tickets, channels,32949Depending on enabled capabilities and permissions, this can include documents,

32818email, and calendars. Files from earlier chats or memory can be available32950repositories, tickets, channels, email, and calendars. Earlier files can be

32819when included in the current chat or project, or when applicable32951available through the current chat, supported projects, authorized Library

32820workspace and user memory controls are enabled.32952access, or enabled automatic Library references. Saved memories follow their

32953own workspace and user controls.

32821 32954 

32822Each context source keeps its own controls: users supply chat context,32955Each context source keeps its own controls: users supply chat context,

32823admins manage workspace resources, and connected systems enforce authentication32956admins manage workspace resources, and connected systems enforce authentication


32845 documents, tickets, repositories, or project-management tools.32978 documents, tickets, repositories, or project-management tools.

32846- **Share:** Send, publish, or otherwise make information available to more32979- **Share:** Send, publish, or otherwise make information available to more

32847 people, systems, or external destinations.32980 people, systems, or external destinations.

32848- **Scheduled:** Start a task at a future time or on a recurring schedule32981- **Schedule:** Start a task at a future time or on a recurring schedule

32849 without requiring a user to initiate each run.32982 without requiring a user to start each run.

32850- **Execute:** Run code, shell commands, browser automation, or other32983- **Execute:** Run code, shell commands, browser automation, or other

32851 tool-driven tasks that interact directly with external environments.32984 tool-driven tasks that interact directly with external environments.

32852 32985 


32865encryption in transit and at rest, workspace-level access controls, and32998encryption in transit and at rest, workspace-level access controls, and

32866supported audit logging.32999supported audit logging.

32867 33000 

32868Coverage for data residency, inference residency, FedRAMP, HIPAA, or a Business33001Coverage for data residency, inference residency, HIPAA, or a Business Associate

32869Associate Agreement isn't universal. Confirm current33002Agreement isn't universal. Confirm current

32870[data and inference residency guidance](https://help.openai.com/en/articles/9903489-data-residency-and-inference-residency-for-chatgpt)33003[data and inference residency guidance](https://help.openai.com/en/articles/9903489-data-residency-and-inference-residency-for-chatgpt)

32871and the customer's agreement for the features and regions in use.33004and the customer's agreement for the features and regions in use.

32872 33005 


32884 33017 

32885Data retention and deletion for ChatGPT Work are governed by the ChatGPT workspace33018Data retention and deletion for ChatGPT Work are governed by the ChatGPT workspace

32886plan, administrative settings, and the capabilities in use. Retention can vary33019plan, administrative settings, and the capabilities in use. Retention can vary

32887across the information ChatGPT Work accesses. Data stored by ChatGPT follows the33020across the information ChatGPT Work accesses. Conversations and eligible Library

32888configured workspace retention policies, while connected applications continue33021files follow their applicable workspace settings. Project files, transient

32889to manage their own data and lifecycle policies. See33022uploads, saved memories, compliance events, synchronized app data, and

33023third-party records can have separate retention and deletion rules. See

32890[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt).33024[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt).

32891 33025 

32892ChatGPT Work can create chat content, uploaded or generated files, artifacts,33026ChatGPT Work can create chat content, uploaded or generated files, artifacts,


32904#### What usage data is available to admins or owners?33038#### What usage data is available to admins or owners?

32905 33039 

32906Admins and owners can use product analytics and compliance logs for different33040Admins and owners can use product analytics and compliance logs for different

32907kinds of visibility. The Global Admin Console shows adoption and credit use by33041kinds of visibility. The Global Admin Console provides supported ChatGPT and

32908user, product, and model, including the ability to drill down across Chat, Work,33042Codex adoption and credit-usage views; available user, product, agent, and model

32909and Codex usage. The Compliance API covers all user messages and responses33043breakdowns depend on the analytics surface and workspace. For eligible

32910across Chat, Work, and Codex. See33044workspaces, the Compliance API provides covered ChatGPT conversation records,

33045including supported cloud Work activity. Coverage depends on the product,

33046surface, permissions, available endpoint, and documented event schema. See

32911[Workspace analytics](https://learn.chatgpt.com/docs/enterprise/workspace-analytics) and the33047[Workspace analytics](https://learn.chatgpt.com/docs/enterprise/workspace-analytics) and the

32912[Compliance API](https://learn.chatgpt.com/docs/enterprise/compliance-api).33048[Compliance API](https://learn.chatgpt.com/docs/enterprise/compliance-api).

32913 33049 

32914#### Are prompts, outputs, files, actions, or tool calls logged?33050#### Are prompts, outputs, files, actions, or tool calls logged?

32915 33051 

32916The Compliance Logs Platform provides user prompts and agent responses. It33052For eligible Enterprise and Edu workspaces, the Compliance Logs Platform

32917doesn't track files, actions, or tool calls.33053provides Work user prompts and agent responses.

33054[Connected app calls are separately logged](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business),

33055and eligible workspaces can access active Library files through supported

33056[Library-specific Compliance API endpoints](https://help.openai.com/en/articles/20001052-library-for-chatgpt).

33057These records don't establish a complete audit trail for every hosted file

33058operation, shell command, browser interaction, tool invocation, or approval.

33059Confirm the current event and product coverage in the authenticated Compliance

33060API documentation.

32918 33061 

32919The Compliance Logs Platform retains data for 30 days. Export records33062The Compliance Logs Platform retains data for 30 days. Export records

32920continuously to an approved electronic discovery, data loss prevention, SIEM,33063continuously to an approved electronic discovery, data loss prevention, SIEM,


32925 33068 

32926Workspace analytics, compliance logs, and connected monitoring tools help33069Workspace analytics, compliance logs, and connected monitoring tools help

32927admins review usage and investigate supported ChatGPT, Work, and Codex33070admins review usage and investigate supported ChatGPT, Work, and Codex

32928activity. Signals can include active users, messages, tool activity, agent33071activity. Depending on the selected reporting surface, signals can include

32929activity, authentication and administrative events, and credit consumption.33072active users, supported messages, app activity, agent usage, authentication or

32930Exported logs can support electronic discovery, data loss prevention, SIEM,33073administrative events, and credit consumption. Exported logs can support

32931auditing, and investigations. Detection quality depends on plan, event33074electronic discovery, data loss prevention, SIEM, auditing, and investigations.

32932coverage, attribution, freshness, and configured rules.33075Detection quality depends on plan, event coverage, attribution, freshness, and

33076configured rules.

32933 33077 

32934Signals that can warrant review include unexpected increases in usage or credit33078Signals that can warrant review include unexpected increases in usage or credit

32935consumption, unusual user or agent activity, recurring operational errors, and33079consumption, unusual user or agent activity, recurring operational errors, and


32943redacted unless `otel.log_user_prompt = true` is enabled as a separate explicit33087redacted unless `otel.log_user_prompt = true` is enabled as a separate explicit

32944opt-in. See33088opt-in. See

32945[Monitoring and telemetry](https://learn.chatgpt.com/docs/agent-approvals-security#monitoring-and-telemetry).33089[Monitoring and telemetry](https://learn.chatgpt.com/docs/agent-approvals-security#monitoring-and-telemetry).

33090This local Codex telemetry doesn't provide an OpenTelemetry export for ChatGPT

33091Work on the web.

32946 33092 

32947#### Governance33093#### Governance

32948 33094 


32953- **ChatGPT Work access controls** determine who can use ChatGPT Work on33099- **ChatGPT Work access controls** determine who can use ChatGPT Work on

32954 each surface.33100 each surface.

32955- **Workspace Agent controls** determine who can build, publish, share,33101- **Workspace Agent controls** determine who can build, publish, share,

32956 schedule, or configure reusable agents and shared connections.33102 schedule, or configure reusable agents and shared connections, where

32957- **Codex managed configuration** governs covered local runtime behavior,33103 Workspace Agents are available.

32958 including permissions, approvals, filesystem and network access, MCP servers,33104- **Codex managed configuration** governs covered local Codex runtime behavior

32959 hooks, and command rules.33105 and doesn't configure hosted ChatGPT Work.

32960 33106 

32961Managed configuration constrains supported runtime behavior. It doesn't grant33107Managed configuration constrains supported runtime behavior. It doesn't grant

32962workspace access, replace RBAC, or revoke a user's workspace access. These33108workspace access, replace RBAC, or revoke a user's workspace access. These


32964provide additional visibility within their documented product and event33110provide additional visibility within their documented product and event

32965scopes.33111scopes.

32966 33112 

32967Enterprise administrators can use33113For supported local Codex clients, enterprise administrators can apply

32968[managed requirements](https://learn.chatgpt.com/docs/enterprise/managed-configuration) to enforce33114[managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration) and

32969supported settings that users can't override while the requirements are33115[permission profiles](https://learn.chatgpt.com/docs/permissions). Those local-client controls don't

32970active. Supported policies cover approval behavior, permission profiles, web33116grant access to, or replace the workspace permissions for, hosted ChatGPT Work.

32971search, hooks, MCP servers, feature flags, command rules, and filesystem

32972access. Network requirements are experimental and should be tested on the

32973client versions and operating systems in your deployment before broad use. For

32974current Codex clients, managed

32975[permission profiles](https://learn.chatgpt.com/docs/permissions) are the preferred way to define

32976filesystem, network, and runtime access.

32977 33117 

32978#### Can access be scoped by group, role, workspace, or capability?33118#### Can access be scoped by group, role, workspace, or capability?

32979 33119 

32980Yes. ChatGPT Work capabilities can be scoped with workspace roles, identity groups,33120Yes. On eligible Enterprise and Edu plans that support custom member RBAC,

32981and administrator-defined permissions. Assign capabilities to groups based on33121ChatGPT Work capabilities can be scoped with workspace roles, identity groups,

32982business need and organizational policy instead of giving every user identical33122and administrator-defined permissions. ChatGPT Business uses applicable

32983access. See the33123workspace-level controls but doesn't include custom member RBAC or SCIM group

33124synchronization. Assign supported capabilities based on business need and

33125organizational policy. See the

32984[RBAC guide](https://help.openai.com/en/articles/11750701-rbac) and this33126[RBAC guide](https://help.openai.com/en/articles/11750701-rbac) and this

32985[RBAC walkthrough](https://vimeo.com/1207482321/d1286e4467?share=copy&fl=sv&fe=ci).33127[RBAC walkthrough](https://vimeo.com/1207482321/d1286e4467?share=copy&fl=sv&fe=ci).

32986 33128 

32987Organizations can use RBAC to determine which users can access ChatGPT Work, manage33129Where custom RBAC is available, organizations can use it to determine which

32988workspace settings, configure approved plugins, or build and publish Workspace33130users can access ChatGPT Work, manage workspace settings, configure approved

32989Agents. For eligible Enterprise and Edu workspaces, monthly usage limits can33131plugins, or use supported Workspace Agent features. For eligible Enterprise and

32990support a phased rollout through a workspace default, group defaults, and user33132Edu workspaces, monthly usage limits can support a phased rollout through a

32991overrides.33133workspace default, group defaults, and user overrides.

32992 33134 

32993Access to connected systems remains independently governed. Scope plugins, shared33135Access to connected systems remains independently governed. Scope plugins, shared

32994credentials, repositories, and write-capable actions to the minimum required33136credentials, repositories, and write-capable actions to the minimum required

32995audience using workspace permissions, plugin settings, and the source system's33137audience using workspace permissions, plugin settings, and the source system's

32996controls. For higher-trust environments, use managed policies to restrict33138controls. For supported local Codex clients, managed configuration can further

32997runtime capabilities further.33139restrict local runtime capabilities. Hosted Work follows its own workspace and

33140product-specific controls.

32998 33141 

32999#### How are runtime and network boundaries governed?33142#### How are runtime and network boundaries governed?

33000 33143 


33002connected workflow, a scheduled task, and a Codex chat can run in different33145connected workflow, a scheduled task, and a Codex chat can run in different

33003environments with different permissions, tools, and network access.33146environments with different permissions, tools, and network access.

33004 33147 

33005Govern each execution environment through its applicable controls. ChatGPT Work33148Govern each execution environment through its applicable controls. Work Cloud

33006permissions on web and mobile govern access to ChatGPT Work and supported browser or33149governs hosted Work across supported web, mobile, and desktop surfaces. Work

33007network capabilities. Search, plugins, Workspace Agents, and33150Local governs local desktop Work, and Codex Local controls supported local

33008source-system permissions remain separate controls. Desktop and Codex chats33151Codex access in desktop, CLI, and IDE clients. Browser and shell network

33009follow Codex permissions, managed configuration, MCP policy, sandboxing, and33152permissions further restrict Work Cloud. Search, apps, plugins, available

33010approval controls. These controls aren't interchangeable.33153Workspace Agents, and source-system permissions remain separate controls.

33154Applicable managed configuration and local runtime policies govern only their

33155supported local experiences. These controls aren't interchangeable.

33011 33156 

33012For Codex activity, local runs in the ChatGPT desktop app, CLI, and IDE execute33157For Codex activity, local runs in the ChatGPT desktop app, CLI, and IDE execute

33013on the user's machine with operating-system sandboxing and approval policies.33158on the user's machine with operating-system sandboxing and approval policies.

33014Codex cloud runs chats in isolated OpenAI-managed environments. Enterprise33159Codex cloud runs chats in isolated OpenAI-managed environments. For supported

33015administrators can use managed requirements to constrain permission profiles,33160local clients, enterprise administrators can use managed requirements to

33016approvals, filesystem and network access, MCP servers, hooks, command rules,33161constrain permission profiles, approvals, filesystem and network access, MCP

33017and other supported runtime behavior.33162servers, hooks, command rules, and other supported runtime behavior.

33018 33163 

33019#### Usage and cost33164#### Usage and cost

33020 33165 


33025tool use, and output size. Standard Chat usage is separate.33170tool use, and output size. Standard Chat usage is separate.

33026 33171 

33027The highest-variance patterns are often workflows that run frequently,33172The highest-variance patterns are often workflows that run frequently,

33028retrieve or process large amounts of information, call multiple tools or connectors,33173retrieve or process large amounts of information, call multiple tools or apps,

33029retry after failures, or produce large artifacts. Cost-sensitive examples33174retry after failures, or produce large artifacts. Cost-sensitive examples

33030include scheduled or recurring work, high-volume triggers, large files, broad33175include scheduled or recurring work, large files, broad

33031retrieval across enterprise sources, repeated connector calls, and Codex chats that33176retrieval across enterprise sources, repeated app calls, and Codex chats that

33032process repositories, run commands, or use cloud environments.33177process repositories, run commands, or use cloud environments. Workspace Agent

33178API triggers can also add usage where available.

33033 33179 

33034Use spend controls, usage analytics, and reporting to monitor these patterns33180Use spend controls, usage analytics, and reporting to monitor these patterns

33035over time. Review usage by the dimensions supported in the current analytics33181over time. Review usage by the dimensions supported in the current analytics


33074 33220 

33075#### How can admins stop access or activity?33221#### How can admins stop access or activity?

33076 33222 

33077Admins can need to stop users, plugins, shared credentials, workflows, schedules,33223During user removal or incident review, admins might need to stop access,

33078or Codex credentials during user removal or incident review.33224disable apps, revoke shared credentials, pause scheduled tasks, or revoke Codex

33225credentials.

33079 33226 

33080Revocation paths include:33227Revocation paths include:

33081 33228 

33082- Remove a user's workspace or group access. For SCIM-managed users, remove33229- Remove a user's workspace or group access. For SCIM-managed users, remove

33083 access at the identity provider; otherwise, a later synchronization can33230 access at the identity provider; otherwise, a later synchronization can

33084 provision the user again.33231 provision the user again.

33085- Disable or restrict the relevant plugin or connector.33232- Disable or restrict the relevant plugin or app.

33086- Revoke a shared connection, bot, or service account through its owning33233- Revoke a shared connection, bot, or service account through its owning

33087 surface. Workspace owners and admins can separately revoke Codex workspace33234 surface. Workspace owners and admins can separately revoke Codex workspace

33088 access tokens.33235 access tokens.

33089- Remove a Workspace Agent from publication or delete it through its agent owner33236- Remove a Workspace Agent from publication or delete it through its agent owner

33090 or workspace administrator.33237 or workspace administrator.

33091- Disable the relevant schedule or trigger.33238- Disable the relevant scheduled task or, where available, Workspace Agent API

33239 trigger.

33092- For Codex access, separately revoke the relevant access token, repository33240- For Codex access, separately revoke the relevant access token, repository

33093 connection, and cloud-environment access. Managed configuration isn't an33241 connection, and cloud-environment access. Managed configuration isn't an

33094 access-revocation mechanism.33242 access-revocation mechanism.


33096#### Additional resources for your teams33244#### Additional resources for your teams

33097 33245 

33098| Topic | Use this when explaining | Learn ChatGPT page |33246| Topic | Use this when explaining | Learn ChatGPT page |

33099| ------------------------ | -------------------------------------------------------------------------- | ---------------------------------------------------------------- |33247| ------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------- |

33248| Work overview | How cloud execution, browser access, network policy, and data boundaries work | [ChatGPT Work Overview](https://learn.chatgpt.com/docs/enterprise/chatgpt-work-overview) |

33100| Workspace setup and RBAC | Who can use and administer Codex | [Admin rollout guide](https://learn.chatgpt.com/docs/enterprise/admin-setup) |33249| Workspace setup and RBAC | Who can use and administer Codex | [Admin rollout guide](https://learn.chatgpt.com/docs/enterprise/admin-setup) |

33101| Authentication | How ChatGPT sign-in, API key sign-in, and workspace policy differ | [Authentication](https://learn.chatgpt.com/docs/auth) |33250| Authentication | How ChatGPT sign-in, API key sign-in, and workspace policy differ | [Authentication](https://learn.chatgpt.com/docs/auth) |

33102| Approvals and sandboxing | How Codex controls file, command, network, and side-effecting tool actions | [Agent approvals and security](https://learn.chatgpt.com/docs/agent-approvals-security) |33251| Approvals and sandboxing | How Codex controls file, command, network, and side-effecting tool actions | [Agent approvals and security](https://learn.chatgpt.com/docs/agent-approvals-security) |


33117 and governance expectations.33266 and governance expectations.

33118- **Review plugins and data sources.** ChatGPT Work is most useful with approved33267- **Review plugins and data sources.** ChatGPT Work is most useful with approved

33119 business context such as files, email, calendars, Slack, or CRM. Review33268 business context such as files, email, calendars, Slack, or CRM. Review

33120 enabled plugins, their audiences, and whether connector policies still match how users33269 enabled plugins, their audiences, and whether app policies still match how users

33121 should delegate work.33270 should delegate work.

33122- **Set expectations for appropriate use cases.** Position ChatGPT Work for multi-step,33271- **Set expectations for appropriate use cases.** Position ChatGPT Work for multi-step,

33123 higher-value tasks such as research, synthesis, analysis, file creation,33272 higher-value tasks such as research, synthesis, analysis, file creation,


33140 and delegated work after rollout. Use the findings to adjust access,33289 and delegated work after rollout. Use the findings to adjust access,

33141 guidance, training, and expansion.33290 guidance, training, and expansion.

33142 33291 

33292### ChatGPT Work Overview

33293 

33294Source: [ChatGPT Work Overview](https://learn.chatgpt.com/docs/enterprise/chatgpt-work-overview.md)

33295 

33296ChatGPT Work and Codex share core execution, isolation, and permission

33297mechanisms, and fall within the same security boundaries that are part of your

33298ChatGPT Business or Enterprise agreement. The capabilities and controls

33299available to each experience depend on whether a task runs locally or in the

33300cloud, its available tools, and applicable workspace policies.

33301 

33302ChatGPT Work can complete multi-step tasks using the information, files,

33303applications, and tools available to an authorized workspace member. On the web,

33304those tasks run in the cloud, not on the member's device.

33305 

33306This overview explains the execution boundary, network and application controls,

33307data handling, and how tasks are executed securely using ChatGPT Work on the

33308web. Availability and administrative controls depend on your plan and workspace

33309configuration.

33310 

33311#### Execution isolation, files, and device access

33312 

33313The files and tools available to ChatGPT Work depend on where Work is running,

33314user permissions and admin configuration.

33315 

33316**Local Work** runs tasks through the ChatGPT desktop app on the user's device.

33317It can access local files, applications, and other resources made available to

33318it, subject to the user's permissions, applicable workspace controls, and device

33319security policies. Unlike Work on the Web, local Work can operate on resources

33320that remain on your computer without requiring you to upload files to a cloud

33321conversation.

33322 

33323**Cloud Work**, accessed via the web or mobile, runs the Codex harness in an

33324isolated environment on OpenAI-managed infrastructure. Cloud conversations can

33325be available across supported web, mobile, and desktop surfaces, and supported

33326tasks can continue while the user is away from the conversation.

33327 

33328Work on the web can't directly access files, applications, or open browser tabs

33329on the user's computer. A user can provide files by uploading them, adding them

33330to a supported project, or using an authorized connected app. The desktop

33331experience controls local file and application access through its own

33332permissions.

33333 

33334When

33335[Library](https://help.openai.com/en/articles/20001052-file-storage-and-library-in-chatgpt)

33336is available, eligible uploaded or generated files can be saved there.

33337Administrators can control whether ChatGPT automatically references saved

33338Library files. Disabling automatic references does not prevent users from

33339explicitly accessing or attaching files they are authorized to use.

33340 

33341See [Code and shell sandboxing](https://learn.chatgpt.com/docs/sandboxing?surface=web),

33342[Creating and editing documents, spreadsheets, and presentations](https://help.openai.com/en/articles/20001278-creating-and-editing-documents-spreadsheets-and-presentations-with-chatgpt-work),

33343and

33344[File storage and Library in ChatGPT](https://help.openai.com/en/articles/20001052-library-for-chatgpt).

33345 

33346#### Network access and external destinations

33347 

33348Work uses tools like code/shell execution and the cloud browser to complete

33349tasks. Each of these tools has configurable permissions.

33350 

33351- **Code and shell commands**: Public internet access depends on the applicable

33352 workspace policy and individual Work network setting. When public internet

33353 access isn't allowed, commands can still reach required destinations on a

33354 managed allowlist.

33355- **Web search**: Search has controls separate from the Work code and shell

33356 network setting.

33357 

33358When available, the individual code and shell setting appears under

33359**Settings** > **Data controls** > **Work network access**. Turning on **Allow

33360public internet access** doesn't override an applicable administrator

33361restriction. Turning it off limits code and shell commands to required

33362destinations on the managed allowlist; it doesn't disable connected apps, web

33363search, or the cloud browser.

33364 

33365Changes to the code and shell network setting take effect after the current run

33366finishes and Work refreshes its execution environment. See

33367[Code and shell sandboxing](https://learn.chatgpt.com/docs/sandboxing?surface=web) and

33368[Work access controls](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex).

33369 

33370Outgoing interaction controls are separate from

33371[workspace IP access restrictions](https://help.openai.com/en/articles/12111596-ip-allowlisting-for-chatgpt),

33372which limit incoming access to the ChatGPT workspace or Compliance API.

33373 

33374#### Cloud browser and website access

33375 

33376The

33377[Cloud Browser](https://help.openai.com/en/articles/20001280-using-cloud-browser-in-chatgpt)

33378is one of the tools ChatGPT Work can use and is distinct from the

33379[In-app Browser](https://help.openai.com/en/articles/20001277-using-the-built-in-browser-in-the-chatgpt-desktop-app).

33380It operates remotely and uses a browser session separate from the user's local

33381browser. It can't access local tabs, extensions, browsing history, saved

33382passwords, or authenticated local sessions.

33383 

33384The cloud browser supports public, signed-out websites. It can navigate pages,

33385enter information into supported public forms, and combine relevant information

33386from an approved app with a website task. It can't accept credentials, use a

33387password manager or saved form entries, sign in to a website, or complete

33388payments. If a task requires one of those unsupported steps, it stops. Browser

33389availability depends on your plan, region, rollout, and workspace permissions.

33390For Enterprise workspaces, an administrator must enable cloud browser access in

33391addition to Work access.

33392 

33393Website access and actions have separate controls:

33394 

33395- By default, ChatGPT asks before visiting a new website. Where available, users

33396 can select **Always ask**, **Auto approve**, or **Always allow**, and allow or

33397 block individual websites. **Auto approve** applies automated risk checks.

33398 **Always allow** removes the interactive website-access review. Administrators

33399 have the same ability to limit approval settings for users (for example,

33400 disable **Always allow** workspace-wide).

33401- Allowing a website doesn't approve every action on that site. ChatGPT can

33402 request a separate confirmation before actions that could create a financial,

33403 legal, account, or other consequential commitment.

33404 

33405Users can inspect available page screenshots and browser replay in a Work

33406conversation. These user-visible records don't establish Compliance API export

33407or a complete administrator-visible execution history.

33408 

33409See

33410[Using cloud browser in ChatGPT](https://help.openai.com/en/articles/20001280-using-cloud-browser-in-chatgpt)

33411and [Browser](https://learn.chatgpt.com/docs/browser?surface=web).

33412 

33413#### Connected applications, credentials, and permissions

33414 

33415A connected app or Plugin gives Work access only through the integration your

33416workspace allows and the permissions granted for that connection. Admins can

33417control Plugin and app availability, workspace role access, external

33418authorization, action settings, and source-system permissions within the admin

33419dashboard.

33420 

33421For Enterprise and Edu workspaces, plugins and their underlying apps are off by

33422default. For Business workspaces, plugins and apps are on by default. Making a

33423plugin available doesn't automatically enable its required app or grant access

33424to a user's account. The user must enable the plugin and authenticate before

33425ChatGPT Work can access it.

33426 

33427Where supported, administrators can restrict an app to read-only actions or an

33428approved set of actions. App permission settings can also determine whether

33429ChatGPT asks before using an app, making changes, or performing important

33430actions. Not every app supports the same action controls, and not every action

33431requires an individual human confirmation.

33432 

33433For synced apps, changes to source content or permissions can take time to

33434appear. Disconnecting an app doesn't automatically remove information already

33435saved in a conversation, generated file, or record with its own retention

33436policy.

33437 

33438See

33439[Admin controls, security, and compliance for plugins and apps](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business),

33440[Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors),

33441[Google Workspace administrator-managed setup](https://help.openai.com/en/articles/10929079-google-workspace-admin-managed-setup),

33442[ChatGPT apps with sync](https://help.openai.com/en/articles/10847137-chatgpt-apps-with-sync).

33443 

33444#### Privacy and data handling

33445 

33446ChatGPT Work follows the privacy, security, and data-handling policies

33447applicable to your ChatGPT workspace. Conversations, uploaded files, generated

33448files, connected applications, and browser data can have different retention and

33449deletion rules.

33450 

33451For details, see [Enterprise privacy](https://openai.com/enterprise-privacy/),

33452[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt),

33453[Data residency and inference residency](https://help.openai.com/en/articles/9903489-data-residency-and-inference-residency-for-chatgpt),

33454and the [ChatGPT Work Admin FAQ](https://learn.chatgpt.com/docs/enterprise/work-admin-faq).

33455 

33456#### Retention depends on the data type

33457 

33458- **Work conversations**—Follow the applicable ChatGPT workspace conversation

33459 retention and deletion settings.

33460- **Files saved to Library**—Follow the applicable file and workspace

33461 retention rules. Deleting a conversation doesn't delete files stored in

33462 Library.

33463- **Project files**—Remain with the project until its deletion, subject to the

33464 applicable deletion rules and exceptions.

33465- **Transient uploads outside Library**—For Enterprise, transient uploads can

33466 expire after 48 hours unless a different retention setting applies.

33467- **Saved memories, when enabled**—Follow separate memory controls.

33468- **Cloud browser cookies**—Remain separate from local browser data. Users can

33469 clear them from the Cloud browser settings.

33470- **Compliance Logs Platform records**—Remain available in the platform for 30

33471 days. Exported copies follow the receiving system's retention policy.

33472- **Connected application data**—Source records follow the connected

33473 application's policies. Copies saved in a chat, file, or synced index also

33474 follow the applicable OpenAI storage and retention rules.

33475 

33476Deleting a conversation, ending a Work task, clearing browser cookies, and

33477retaining compliance records are different operations. Deleting a chat removes

33478it from view and schedules permanent deletion within 30 days, subject to the

33479published security, legal, and de-identification exceptions.

33480 

33481See

33482[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt),

33483[Memory in ChatGPT](https://help.openai.com/en/articles/8590148-memory-in-chatgpt-faq),

33484and the

33485[OpenAI Compliance Platform](https://help.openai.com/en/articles/9261474-compliance-api-for-chatgpt-enterprise-edu-and-chatgpt-for-teachers).

33486 

33143### Compliance API and audit events33487### Compliance API and audit events

33144 33488 

33145Source: [Compliance API and audit events](https://learn.chatgpt.com/docs/enterprise/compliance-api.md)33489Source: [Compliance API and audit events](https://learn.chatgpt.com/docs/enterprise/compliance-api.md)


33936define network access requirements centrally. These requirements are separate34280define network access requirements centrally. These requirements are separate

33937from the user `features.network_proxy` toggle: they can configure sandbox34281from the user `features.network_proxy` toggle: they can configure sandbox

33938networking without that feature flag, but they don't grant command network34282networking without that feature flag, but they don't grant command network

33939access when the active sandbox keeps networking off.34283access when the active sandbox keeps networking off. Set

34284`experimental_network.enabled = true` to activate the managed proxy; an

34285allowlist alone does not make the proxy active.

33940 34286 

33941```toml34287```toml

33942experimental_network.enabled = true34288experimental_network.enabled = true


33959and DNS rebinding limitations are the same as the sandbox networking behavior34305and DNS rebinding limitations are the same as the sandbox networking behavior

33960described in [Agent approvals & security](https://learn.chatgpt.com/docs/agent-approvals-security#network-isolation).34306described in [Agent approvals & security](https://learn.chatgpt.com/docs/agent-approvals-security#network-isolation).

33961 34307 

34308These requirements apply only to local commands that run inside the sandbox.

34309They do not route or filter web search, apps and connectors, MCP servers,

34310browser or Computer Use activity, Codex service requests, or Codex cloud

34311traffic. Use the controls for each surface:

34312 

34313- Use `allowed_web_search_modes` to restrict web search.

34314- Use `features.apps = false` to disable app and connector integrations, and

34315 `features.plugins = false` to disable plugins where supported.

34316- Use the managed `mcp_servers` approved list to restrict MCP servers.

34317- Use feature requirements such as `browser_use`, `in_app_browser`, and

34318 `computer_use` to restrict browser and computer-use capabilities.

34319- Configure Codex cloud network access in its cloud environment settings.

34320 

34321A command domain allowlist does not replace these capability-specific

34322controls.

34323 

33962#### Pin feature flags34324#### Pin feature flags

33963 34325 

33964You can also pin [feature flags](https://learn.chatgpt.com/docs/config-file/config-basic#feature-flags) for users34326You can also pin [feature flags](https://learn.chatgpt.com/docs/config-file/config-basic#feature-flags) for users


34306 34668 

34307Source: [Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors.md)34669Source: [Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors.md)

34308 34670 

34309A plugin extends ChatGPT and Codex by packaging skills and optional connectors34671Plugins package reusable workflows and can include skills and apps that connect

34310so teams can distribute workflows and knowledge. The products share one34672to other tools. ChatGPT and Codex use the same public plugin directory on

34311universal plugin directory, while admins control availability and installation34673supported surfaces, while admins decide which plugins are available in their workspace.

34312for their workspace. Learn more about [plugins](https://learn.chatgpt.com/docs/plugins),34674Learn more about [plugins](https://learn.chatgpt.com/docs/plugins),

34313[skills](https://learn.chatgpt.com/docs/skills-and-plugins), and34675[skills](https://learn.chatgpt.com/docs/skills-and-plugins), and

34314[apps and connectors](https://help.openai.com/en/articles/11487775).34676[apps and connectors](https://help.openai.com/en/articles/11487775).

34315 34677 

34316When a plugin includes a connector, workspace admins must make the plugin34678A member can use a connector-backed capability only when the plugin and app are

34317available through plugin controls and configure connector access before members34679available to their role and they have access to the connected service.

34318can use the connector-backed capability.

34319 34680 

34320Plugins work in Chat and Work across ChatGPT on the web, desktop, and mobile,34681Plugins work in Chat and Work across ChatGPT on the web, desktop, and mobile,

34321in Codex in the ChatGPT desktop app, and through the Codex CLI plugin browser.34682in Codex in the ChatGPT desktop app, and through the Codex CLI plugin browser.

34322They aren't available in the IDE extension.34683They aren't available in the IDE extension.

34323 34684 

34324For the complete administration model, see34685To see how these controls fit with workspace roles and permissions, see

34325[Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).34686[Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).

34326 34687 

34327#### Understand the capability chain34688#### Understand the capability chain

34328 34689 

34329Each layer has a separate scope and control surface:34690A plugin can span these control layers:

34330 34691 

34331| Layer | What it determines | Where to manage it |34692| Layer | What it determines | Where to manage it |

34332| ------------------------------------ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |34693| ----------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |

34333| Plugin availability and installation | Whether the plugin bundle is available to the user | [Workspace settings](https://chatgpt.com/admin/settings) for supported web and desktop surfaces; the CLI plugin browser for CLI |34694| Availability | Whether the plugin bundle is available to the user | [Workspace settings](https://chatgpt.com/admin/settings) for supported web and desktop surfaces; the CLI plugin browser for CLI |

34334| Bundled skills | Which reusable instructions the installed plugin contributes | The plugin package and [Skill controls](https://learn.chatgpt.com/docs/enterprise/skills) |34695| Included skills | Which reusable instructions the installed plugin contributes | The plugin package and [Skill controls](https://learn.chatgpt.com/docs/enterprise/skills) |

34335| Connector access | Whether users can use a connector-backed capability | [Workspace apps](https://chatgpt.com/admin/ca) and [Permissions & roles](https://chatgpt.com/admin/settings) |34696| App access | Whether users can use a connector-backed capability | [Workspace apps](https://chatgpt.com/admin/ca) and [Permissions & roles](https://chatgpt.com/admin/settings) |

34336| Connector actions and permissions | Which actions users can run and when ChatGPT asks before using the connector | The connector's Action control and App permissions in [Workspace apps](https://chatgpt.com/admin/ca) |34697| Actions and permissions | Which actions users can run and when ChatGPT asks before using the connector | The connector's Action control and App permissions in [Workspace apps](https://chatgpt.com/admin/ca) |

34337| Source-system authorization | Which external data and actions the authenticated identity can access | The connected service and its identity provider |34698| Service authorization | Which external data and actions the authenticated identity can access | The connected service and its identity provider |

34338| Runtime permissions | What an agent can do after it receives data or a tool | The runtime, sandbox, and approval controls for the active surface |34699| Runtime permissions | What an agent can do after it receives data or a tool | The runtime, sandbox, and approval controls for the active surface |

34339 34700 

34340Depending on the workflow, admins can govern plugin availability, connector34701Use these layers as a two-step rollout: first make the right plugins available,

34341access, connector actions and permissions, provider authorization, and runtime34702then configure the capabilities and permissions each workflow needs.

34342policy independently.

34343 34703 

34344#### Plugin availability controls34704#### Step 1: Enable plugin availability

34345 34705 

34346Workspace plugin controls determine whether a plugin is available or installed34706For supported web and desktop surfaces, workspace plugin controls determine

34347for supported workspace roles. The Codex CLI plugin browser controls CLI34707which roles can use or install a plugin. The Codex CLI uses its own plugin

34348installation through its own path. See [Build plugins](https://developers.openai.com/plugins/build/plugins) for34708browser for installation. See

34709[Build plugins](https://developers.openai.com/plugins/build/plugins) for

34349packaging and distribution.34710packaging and distribution.

34350 34711 

34351#### Connector-backed capability controls34712#### Step 2: Manage capabilities

34713 

34714Making an app or plugin available in ChatGPT doesn't grant access to files,

34715records, or actions in the connected service. Before troubleshooting or

34716expanding access, check the member's workspace role and approved action

34717settings. Then confirm the authenticated account or shared connection has the

34718expected permissions in the connected service.

34352 34719 

34353Plugins in ChatGPT and Codex can include connectors that search, retrieve, sync,34720Plugins in ChatGPT and Codex can include connectors that search, retrieve, sync,

34354or act on external systems. Workspace admins configure plugin availability34721or act on external systems. Plugin availability and the access and actions

34355separately from the access and actions granted to each connector.34722granted to each connector are separate controls.

34356 34723 

34357Manage connector-backed capabilities from34724Manage connector-backed capabilities from

34358[Workspace apps](https://chatgpt.com/admin/ca) and34725[Workspace apps](https://chatgpt.com/admin/ca) and

34359[Permissions & roles](https://chatgpt.com/admin/settings). Available controls34726[Permissions & roles](https://chatgpt.com/admin/settings). Available controls

34360let admins:34727let admins:

34361 34728 

34362- Enable reviewed connectors and assign access by workspace role.34729- Enable apps or connectors and assign access by workspace role.

34363- For connectors that support Action control, allow read-only actions or an34730- For connectors that support Action control, allow read-only actions or an

34364 approved custom set, including how the workspace handles newly added actions.34731 approved custom set, including how the workspace handles newly added actions.

34365- Set App permissions that determine when ChatGPT asks before using a connector.34732- Set App permissions that determine when ChatGPT asks before using an app.

34366- Keep access within the scopes and permissions granted by each connected34733- Keep access within the scopes and permissions granted by each connected

34367 service and authenticated user.34734 service and authenticated user.

34368 34735 

34369For current availability and procedures, see34736For current availability and procedures, see

34370[Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118).34737[Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118).

34371 34738 

34372#### Choose a starting set of plugins34739#### Choose a focused initial set

34740 

34741Start with plugins that support a clear business need. Decide whether to make

34742each plugin available to everyone, limit it to a role or pilot group, or require

34743further review.

34744 

34745For each connected service, record the business owner, permitted data, approved

34746read or write actions, authentication method, and a support or removal contact.

34373 34747 

34374For a broad initial rollout, consider plugin categories teams use every day:34748Before enabling write actions or publishing a new connected capability, verify

34375email, calendar, and file or document systems such as Google Drive or Notion.34749its role scope and test with an account that has only the intended permissions

34376Use the [Plugins Directory](https://chatgpt.com/apps) to confirm current34750in the connected service.

34377availability and capabilities across supported ChatGPT and Codex surfaces.

34378 34751 

34379Start with read actions. Enable write actions only after reviewing the plugin's34752For a broad rollout, begin with categories teams use every day, such as email,

34380owner, each connector's requested scopes, data access, external effects, and34753calendar, and file or document systems. Use the

34381recovery path.34754[Plugins Directory](https://chatgpt.com/apps) to confirm current availability

34755and capabilities across supported ChatGPT and Codex surfaces.

34756 

34757Whatever the initial set, start with read actions. Before enabling write

34758actions, identify the plugin owner, review connector scopes and service

34759permissions, confirm data access, and document external effects and a recovery

34760path.

34382 34761 

34383#### Understand data flow and security34762#### Understand data flow and security

34384 34763 

34385When ChatGPT uses a connector-backed plugin, the connector sends a request to34764When ChatGPT uses an app or connector included with a plugin, it sends a request

34386the connected service and returns data or action results allowed by the34765to the connected service and returns data or action results allowed by the

34387authenticated user's provider permissions. Custom MCP servers expose these34766authenticated user's permissions in that service.

34388operations as tools through Model Context Protocol (MCP).34767 

34768ChatGPT handles connected app data in two ways:

34769 

34770- **Non-synced:** ChatGPT processes data from Chat and deep research transiently

34771 and doesn't index it.

34772- **Synced:** ChatGPT indexes selected connected content in advance. You can see

34773 whether an app supports sync on its plugin page.

34389 34774 

34390For non-synced connector use, ChatGPT processes data from Chat and deep34775The mode changes how ChatGPT indexes connected content; it doesn't replace

34391research transiently and doesn't index it. Connectors with sync index selected34776normal chat-retention controls. ChatGPT conversations that use apps remain

34392connected content in advance. This indexing distinction doesn't replace normal34777available through the Compliance API.

34393chat-retention controls; chats that use plugins remain available through the

34394Compliance API.

34395 34778 

34396OpenAI's current connector guidance also documents encryption in transit and at34779OpenAI's app guidance documents encryption in transit and at rest, per-user

34397rest, per-user authorization, role and action controls, restricted network34780authorization, role and action controls, restricted network access for

34398access for chats that use plugins, and no model training on information accessed34781conversations that use apps, and no model training on information accessed

34399through plugins for Business, Enterprise, and Edu customers. Review the34782through apps for Business, Enterprise, and Edu customers. When a request reaches

34400connected service's scopes, retention, and data-residency policies because those34783a connected service, that service's scopes, retention, data residency, and other

34401policies apply when a request reaches that service.34784policies also apply.

34402 34785 

34403See [app security and compliance](https://help.openai.com/en/articles/11509118)34786See [app security and compliance](https://help.openai.com/en/articles/11509118)

34404and [apps with sync](https://help.openai.com/en/articles/10847137) for the34787and [apps with sync](https://help.openai.com/en/articles/10847137) for current

34405current data-handling details. For locally configured MCP servers in the34788data-handling details. For locally configured MCP servers in the ChatGPT desktop

34406ChatGPT desktop app, Codex CLI, or IDE extension, see34789app, Codex CLI, or IDE extension, see

34407[Codex MCP configuration](https://learn.chatgpt.com/docs/extend/mcp).34790[Codex MCP configuration](https://learn.chatgpt.com/docs/extend/mcp).

34408 34791 

34409#### Use current procedures34792#### Use current procedures and references

34410 34793 

34411- [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118)34794- [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118)

34412- [Apps in ChatGPT](https://help.openai.com/en/articles/11487775)34795- [Apps in ChatGPT](https://help.openai.com/en/articles/11487775)


34972 35355 

34973- [Admin rollout guide](https://learn.chatgpt.com/docs/enterprise/admin-setup): Plan access, assign owners, configure controls, and verify the rollout.35356- [Admin rollout guide](https://learn.chatgpt.com/docs/enterprise/admin-setup): Plan access, assign owners, configure controls, and verify the rollout.

34974 35357 

35358- [ChatGPT Work Overview](https://learn.chatgpt.com/docs/enterprise/chatgpt-work-overview): Understand hosted execution, network controls, data boundaries, and audit visibility.

35359 

34975- [ChatGPT Work admin FAQ](https://learn.chatgpt.com/docs/enterprise/work-admin-faq): Review access, data, governance, usage, and incident controls for ChatGPT Work.35360- [ChatGPT Work admin FAQ](https://learn.chatgpt.com/docs/enterprise/work-admin-faq): Review access, data, governance, usage, and incident controls for ChatGPT Work.

34976 35361 

34977#### Identity and authentication35362#### Identity and authentication

Details

361 key: "features.apps",361 key: "features.apps",

362 type: "boolean",362 type: "boolean",

363 description:363 description:

364 "Enable app (connector) integrations (stable; on by default).",364 "Enable app (connector) integrations (stable; on by default). App and connector traffic is not controlled by the sandboxed-command network proxy or its domain allowlist.",

365 },365 },

366 {366 {

367 key: "features.hooks",367 key: "features.hooks",


738 key: "features.network_proxy",738 key: "features.network_proxy",

739 type: "boolean | table",739 type: "boolean | table",

740 description:740 description:

741 "Enable sandboxed networking. Use a table form when setting network policy options such as `domains` (experimental; off by default).",741 "Start the network proxy for sandboxed commands (experimental; off by default). Required to enforce permission-profile domain rules unless enabled administrator-managed `experimental_network` requirements start the proxy. Use a table when setting feature-level policy options such as `domains`. Does not filter web search, apps, MCP, or other hosted tools.",

742 },742 },

743 {743 {

744 key: "features.network_proxy.enabled",744 key: "features.network_proxy.enabled",

745 type: "boolean",745 type: "boolean",

746 description: "Enable sandboxed networking. Defaults to `false`.",746 description:

747 "Start the sandboxed-command network proxy when command network access is enabled. Defaults to `false`; permission-profile domain rules are not enforced while the proxy is off.",

747 },748 },

748 {749 {

749 key: "features.network_proxy.domains",750 key: "features.network_proxy.domains",


1424 key: "tools.web_search",1425 key: "tools.web_search",

1425 type: 'boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }',1426 type: 'boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }',

1426 description:1427 description:

1427 "Optional web search tool configuration. The legacy boolean form is still accepted, but the object form lets you set search context size, allowed domains, and approximate user location.",1428 "Optional web search tool configuration. The object form can set search context size, allowed search domains, and approximate user location. These search-domain filters are separate from sandboxed-command network domain rules and do not restrict connectors or MCP servers.",

1428 },1429 },

1429 {1430 {

1430 key: "tools.view_image",1431 key: "tools.view_image",


1495 key: "permissions.<name>.network.enabled",1496 key: "permissions.<name>.network.enabled",

1496 type: "boolean",1497 type: "boolean",

1497 description:1498 description:

1498 "Enable network access for this named permissions profile. This changes the sandbox network policy; it does not start the network proxy by itself.",1499 "Enable network access for commands in this permission profile. This does not start the network proxy. Without `features.network_proxy` or enabled administrator-managed networking requirements, command network access is direct and profile domain rules are not enforced.",

1499 },1500 },

1500 {1501 {

1501 key: "permissions.<name>.network.proxy_url",1502 key: "permissions.<name>.network.proxy_url",


1546 key: "permissions.<name>.network.domains",1547 key: "permissions.<name>.network.domains",

1547 type: "table",1548 type: "table",

1548 description:1549 description:

1549 "Domain rules for sandboxed networking. Supports exact hosts, `*.example.com` for subdomains only, `**.example.com` for apex plus subdomains, and global `*` allow rules. `deny` wins on conflicts.",1550 "Domain rules for sandboxed commands. Enforced only when `features.network_proxy` or enabled administrator-managed networking requirements activate the proxy. Supports exact hosts, `*.example.com`, `**.example.com`, and global `*` allow rules; `deny` wins. Does not restrict web search, apps, or MCP servers.",

1550 },1551 },

1551 {1552 {

1552 key: "permissions.<name>.network.domains.<pattern>",1553 key: "permissions.<name>.network.domains.<pattern>",


1965 key: "experimental_network",1966 key: "experimental_network",

1966 type: "table",1967 type: "table",

1967 description:1968 description:

1968 "Network access requirements enforced from `requirements.toml`. These constraints are separate from `features.network_proxy` and can configure sandboxed networking without the user feature flag.",1969 "Administrator-managed network requirements for sandboxed local commands, enforced from `requirements.toml`. When enabled, these requirements can start the command network proxy without `features.network_proxy`. They do not control web search, apps, MCP servers, browsers, or Codex cloud networking.",

1969 },1970 },

1970 {1971 {

1971 key: "experimental_network.enabled",1972 key: "experimental_network.enabled",


2013 key: "experimental_network.allowed_domains",2014 key: "experimental_network.allowed_domains",

2014 type: "array<string>",2015 type: "array<string>",

2015 description:2016 description:

2016 "List-shaped administrator allow rules for sandboxed networking. Do not combine this with `experimental_network.domains`.",2017 "Administrator allow rules for sandboxed-command networking while the managed network proxy is enabled. These rules do not apply to web search, apps, or MCP servers. Do not combine this with `experimental_network.domains`.",

2017 },2018 },

2018 {2019 {

2019 key: "experimental_network.denied_domains",2020 key: "experimental_network.denied_domains",

Details

361 key: "features.apps",361 key: "features.apps",

362 type: "boolean",362 type: "boolean",

363 description:363 description:

364 "Enable app (connector) integrations (stable; on by default).",364 "Enable app (connector) integrations (stable; on by default). App and connector traffic is not controlled by the sandboxed-command network proxy or its domain allowlist.",

365 },365 },

366 {366 {

367 key: "features.hooks",367 key: "features.hooks",


738 key: "features.network_proxy",738 key: "features.network_proxy",

739 type: "boolean | table",739 type: "boolean | table",

740 description:740 description:

741 "Enable sandboxed networking. Use a table form when setting network policy options such as `domains` (experimental; off by default).",741 "Start the network proxy for sandboxed commands (experimental; off by default). Required to enforce permission-profile domain rules unless enabled administrator-managed `experimental_network` requirements start the proxy. Use a table when setting feature-level policy options such as `domains`. Does not filter web search, apps, MCP, or other hosted tools.",

742 },742 },

743 {743 {

744 key: "features.network_proxy.enabled",744 key: "features.network_proxy.enabled",

745 type: "boolean",745 type: "boolean",

746 description: "Enable sandboxed networking. Defaults to `false`.",746 description:

747 "Start the sandboxed-command network proxy when command network access is enabled. Defaults to `false`; permission-profile domain rules are not enforced while the proxy is off.",

747 },748 },

748 {749 {

749 key: "features.network_proxy.domains",750 key: "features.network_proxy.domains",


1424 key: "tools.web_search",1425 key: "tools.web_search",

1425 type: 'boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }',1426 type: 'boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }',

1426 description:1427 description:

1427 "Optional web search tool configuration. The legacy boolean form is still accepted, but the object form lets you set search context size, allowed domains, and approximate user location.",1428 "Optional web search tool configuration. The object form can set search context size, allowed search domains, and approximate user location. These search-domain filters are separate from sandboxed-command network domain rules and do not restrict connectors or MCP servers.",

1428 },1429 },

1429 {1430 {

1430 key: "tools.view_image",1431 key: "tools.view_image",


1495 key: "permissions.<name>.network.enabled",1496 key: "permissions.<name>.network.enabled",

1496 type: "boolean",1497 type: "boolean",

1497 description:1498 description:

1498 "Enable network access for this named permissions profile. This changes the sandbox network policy; it does not start the network proxy by itself.",1499 "Enable network access for commands in this permission profile. This does not start the network proxy. Without `features.network_proxy` or enabled administrator-managed networking requirements, command network access is direct and profile domain rules are not enforced.",

1499 },1500 },

1500 {1501 {

1501 key: "permissions.<name>.network.proxy_url",1502 key: "permissions.<name>.network.proxy_url",


1546 key: "permissions.<name>.network.domains",1547 key: "permissions.<name>.network.domains",

1547 type: "table",1548 type: "table",

1548 description:1549 description:

1549 "Domain rules for sandboxed networking. Supports exact hosts, `*.example.com` for subdomains only, `**.example.com` for apex plus subdomains, and global `*` allow rules. `deny` wins on conflicts.",1550 "Domain rules for sandboxed commands. Enforced only when `features.network_proxy` or enabled administrator-managed networking requirements activate the proxy. Supports exact hosts, `*.example.com`, `**.example.com`, and global `*` allow rules; `deny` wins. Does not restrict web search, apps, or MCP servers.",

1550 },1551 },

1551 {1552 {

1552 key: "permissions.<name>.network.domains.<pattern>",1553 key: "permissions.<name>.network.domains.<pattern>",


1965 key: "experimental_network",1966 key: "experimental_network",

1966 type: "table",1967 type: "table",

1967 description:1968 description:

1968 "Network access requirements enforced from `requirements.toml`. These constraints are separate from `features.network_proxy` and can configure sandboxed networking without the user feature flag.",1969 "Administrator-managed network requirements for sandboxed local commands, enforced from `requirements.toml`. When enabled, these requirements can start the command network proxy without `features.network_proxy`. They do not control web search, apps, MCP servers, browsers, or Codex cloud networking.",

1969 },1970 },

1970 {1971 {

1971 key: "experimental_network.enabled",1972 key: "experimental_network.enabled",


2013 key: "experimental_network.allowed_domains",2014 key: "experimental_network.allowed_domains",

2014 type: "array<string>",2015 type: "array<string>",

2015 description:2016 description:

2016 "List-shaped administrator allow rules for sandboxed networking. Do not combine this with `experimental_network.domains`.",2017 "Administrator allow rules for sandboxed-command networking while the managed network proxy is enabled. These rules do not apply to web search, apps, or MCP servers. Do not combine this with `experimental_network.domains`.",

2017 },2018 },

2018 {2019 {

2019 key: "experimental_network.denied_domains",2020 key: "experimental_network.denied_domains",

Details

441 441 

442# Enable the feature before configuring sandboxed networking rules.442# Enable the feature before configuring sandboxed networking rules.

443 443 

444# A profile's network.enabled allows direct network access; its domain rules

445 

446# apply only when the network proxy feature is enabled.

447 

448# Web search, apps, connectors, and MCP servers use separate controls.

449 

444# [features.network_proxy]450# [features.network_proxy]

445 451 

446# enabled = true452# enabled = true


689 695 

690# personality = true696# personality = true

691 697 

692# network_proxy = false698# network_proxy = true # required to enforce permission-profile domain rules

693 699 

694# fast_mode = true700# fast_mode = true

695 701 

Details

2 2 

3> For the complete documentation index, see [llms.txt](https://learn.chatgpt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.3> For the complete documentation index, see [llms.txt](https://learn.chatgpt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

4 4 

5A plugin extends ChatGPT and Codex by packaging skills and optional connectors5Plugins package reusable workflows and can include skills and apps that connect

6so teams can distribute workflows and knowledge. The products share one6to other tools. ChatGPT and Codex use the same public plugin directory on

7universal plugin directory, while admins control availability and installation7supported surfaces, while admins decide which plugins are available in their workspace.

8for their workspace. Learn more about [plugins](https://learn.chatgpt.com/docs/plugins),8Learn more about [plugins](https://learn.chatgpt.com/docs/plugins),

9[skills](https://learn.chatgpt.com/docs/skills-and-plugins), and9[skills](https://learn.chatgpt.com/docs/skills-and-plugins), and

10[apps and connectors](https://help.openai.com/en/articles/11487775).10[apps and connectors](https://help.openai.com/en/articles/11487775).

11 11 

12When a plugin includes a connector, workspace admins must make the plugin12A member can use a connector-backed capability only when the plugin and app are

13available through plugin controls and configure connector access before members13available to their role and they have access to the connected service.

14can use the connector-backed capability.

15 14 

16Plugins work in Chat and Work across ChatGPT on the web, desktop, and mobile,15Plugins work in Chat and Work across ChatGPT on the web, desktop, and mobile,

17in Codex in the ChatGPT desktop app, and through the Codex CLI plugin browser.16in Codex in the ChatGPT desktop app, and through the Codex CLI plugin browser.

18They aren't available in the IDE extension.17They aren't available in the IDE extension.

19 18 

20For the complete administration model, see19To see how these controls fit with workspace roles and permissions, see

21[Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).20[Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).

22 21 

23## Understand the capability chain22## Understand the capability chain

24 23 

25Each layer has a separate scope and control surface:24A plugin can span these control layers:

26 25 

27| Layer | What it determines | Where to manage it |26| Layer | What it determines | Where to manage it |

28| ------------------------------------ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |27| ----------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |

29| Plugin availability and installation | Whether the plugin bundle is available to the user | [Workspace settings](https://chatgpt.com/admin/settings) for supported web and desktop surfaces; the CLI plugin browser for CLI |28| Availability | Whether the plugin bundle is available to the user | [Workspace settings](https://chatgpt.com/admin/settings) for supported web and desktop surfaces; the CLI plugin browser for CLI |

30| Bundled skills | Which reusable instructions the installed plugin contributes | The plugin package and [Skill controls](https://learn.chatgpt.com/docs/enterprise/skills) |29| Included skills | Which reusable instructions the installed plugin contributes | The plugin package and [Skill controls](https://learn.chatgpt.com/docs/enterprise/skills) |

31| Connector access | Whether users can use a connector-backed capability | [Workspace apps](https://chatgpt.com/admin/ca) and [Permissions & roles](https://chatgpt.com/admin/settings) |30| App access | Whether users can use a connector-backed capability | [Workspace apps](https://chatgpt.com/admin/ca) and [Permissions & roles](https://chatgpt.com/admin/settings) |

32| Connector actions and permissions | Which actions users can run and when ChatGPT asks before using the connector | The connector's Action control and App permissions in [Workspace apps](https://chatgpt.com/admin/ca) |31| Actions and permissions | Which actions users can run and when ChatGPT asks before using the connector | The connector's Action control and App permissions in [Workspace apps](https://chatgpt.com/admin/ca) |

33| Source-system authorization | Which external data and actions the authenticated identity can access | The connected service and its identity provider |32| Service authorization | Which external data and actions the authenticated identity can access | The connected service and its identity provider |

34| Runtime permissions | What an agent can do after it receives data or a tool | The runtime, sandbox, and approval controls for the active surface |33| Runtime permissions | What an agent can do after it receives data or a tool | The runtime, sandbox, and approval controls for the active surface |

35 34 

36Depending on the workflow, admins can govern plugin availability, connector35Use these layers as a two-step rollout: first make the right plugins available,

37access, connector actions and permissions, provider authorization, and runtime36then configure the capabilities and permissions each workflow needs.

38policy independently.

39 37 

40## Plugin availability controls38## Step 1: Enable plugin availability

41 39 

42Workspace plugin controls determine whether a plugin is available or installed40For supported web and desktop surfaces, workspace plugin controls determine

43for supported workspace roles. The Codex CLI plugin browser controls CLI41which roles can use or install a plugin. The Codex CLI uses its own plugin

44installation through its own path. See [Build plugins](https://developers.openai.com/plugins/build/plugins) for42browser for installation. See

43[Build plugins](https://developers.openai.com/plugins/build/plugins) for

45packaging and distribution.44packaging and distribution.

46 45 

47## Connector-backed capability controls46## Step 2: Manage capabilities

47 

48<WarningTip>

49 Making an app or plugin available in ChatGPT doesn't grant access to files,

50 records, or actions in the connected service. Before troubleshooting or

51 expanding access, check the member's workspace role and approved action

52 settings. Then confirm the authenticated account or shared connection has the

53 expected permissions in the connected service.

54</WarningTip>

48 55 

49Plugins in ChatGPT and Codex can include connectors that search, retrieve, sync,56Plugins in ChatGPT and Codex can include connectors that search, retrieve, sync,

50or act on external systems. Workspace admins configure plugin availability57or act on external systems. Plugin availability and the access and actions

51separately from the access and actions granted to each connector.58granted to each connector are separate controls.

52 59 

53Manage connector-backed capabilities from60Manage connector-backed capabilities from

54[Workspace apps](https://chatgpt.com/admin/ca) and61[Workspace apps](https://chatgpt.com/admin/ca) and

55[Permissions & roles](https://chatgpt.com/admin/settings). Available controls62[Permissions & roles](https://chatgpt.com/admin/settings). Available controls

56let admins:63let admins:

57 64 

58- Enable reviewed connectors and assign access by workspace role.65- Enable apps or connectors and assign access by workspace role.

59- For connectors that support Action control, allow read-only actions or an66- For connectors that support Action control, allow read-only actions or an

60 approved custom set, including how the workspace handles newly added actions.67 approved custom set, including how the workspace handles newly added actions.

61- Set App permissions that determine when ChatGPT asks before using a connector.68- Set App permissions that determine when ChatGPT asks before using an app.

62- Keep access within the scopes and permissions granted by each connected69- Keep access within the scopes and permissions granted by each connected

63 service and authenticated user.70 service and authenticated user.

64 71 


67 74 

68<a id="choose-a-starting-set-of-apps"></a>75<a id="choose-a-starting-set-of-apps"></a>

69 76 

70## Choose a starting set of plugins77## Choose a focused initial set

78 

79Start with plugins that support a clear business need. Decide whether to make

80each plugin available to everyone, limit it to a role or pilot group, or require

81further review.

82 

83For each connected service, record the business owner, permitted data, approved

84read or write actions, authentication method, and a support or removal contact.

71 85 

72For a broad initial rollout, consider plugin categories teams use every day:86Before enabling write actions or publishing a new connected capability, verify

73email, calendar, and file or document systems such as Google Drive or Notion.87its role scope and test with an account that has only the intended permissions

74Use the [Plugins Directory](https://chatgpt.com/apps) to confirm current88in the connected service.

75availability and capabilities across supported ChatGPT and Codex surfaces.

76 89 

77Start with read actions. Enable write actions only after reviewing the plugin's90For a broad rollout, begin with categories teams use every day, such as email,

78owner, each connector's requested scopes, data access, external effects, and91calendar, and file or document systems. Use the

79recovery path.92[Plugins Directory](https://chatgpt.com/apps) to confirm current availability

93and capabilities across supported ChatGPT and Codex surfaces.

94 

95Whatever the initial set, start with read actions. Before enabling write

96actions, identify the plugin owner, review connector scopes and service

97permissions, confirm data access, and document external effects and a recovery

98path.

80 99 

81## Understand data flow and security100## Understand data flow and security

82 101 

83When ChatGPT uses a connector-backed plugin, the connector sends a request to102When ChatGPT uses an app or connector included with a plugin, it sends a request

84the connected service and returns data or action results allowed by the103to the connected service and returns data or action results allowed by the

85authenticated user's provider permissions. Custom MCP servers expose these104authenticated user's permissions in that service.

86operations as tools through Model Context Protocol (MCP).105 

106ChatGPT handles connected app data in two ways:

107 

108- **Non-synced:** ChatGPT processes data from Chat and deep research transiently

109 and doesn't index it.

110- **Synced:** ChatGPT indexes selected connected content in advance. You can see

111 whether an app supports sync on its plugin page.

87 112 

88For non-synced connector use, ChatGPT processes data from Chat and deep113The mode changes how ChatGPT indexes connected content; it doesn't replace

89research transiently and doesn't index it. Connectors with sync index selected114normal chat-retention controls. ChatGPT conversations that use apps remain

90connected content in advance. This indexing distinction doesn't replace normal115available through the Compliance API.

91chat-retention controls; chats that use plugins remain available through the

92Compliance API.

93 116 

94OpenAI's current connector guidance also documents encryption in transit and at117OpenAI's app guidance documents encryption in transit and at rest, per-user

95rest, per-user authorization, role and action controls, restricted network118authorization, role and action controls, restricted network access for

96access for chats that use plugins, and no model training on information accessed119conversations that use apps, and no model training on information accessed

97through plugins for Business, Enterprise, and Edu customers. Review the120through apps for Business, Enterprise, and Edu customers. When a request reaches

98connected service's scopes, retention, and data-residency policies because those121a connected service, that service's scopes, retention, data residency, and other

99policies apply when a request reaches that service.122policies also apply.

100 123 

101See [app security and compliance](https://help.openai.com/en/articles/11509118)124See [app security and compliance](https://help.openai.com/en/articles/11509118)

102and [apps with sync](https://help.openai.com/en/articles/10847137) for the125and [apps with sync](https://help.openai.com/en/articles/10847137) for current

103current data-handling details. For locally configured MCP servers in the126data-handling details. For locally configured MCP servers in the ChatGPT desktop

104ChatGPT desktop app, Codex CLI, or IDE extension, see127app, Codex CLI, or IDE extension, see

105[Codex MCP configuration](https://learn.chatgpt.com/docs/extend/mcp).128[Codex MCP configuration](https://learn.chatgpt.com/docs/extend/mcp).

106 129 

107## Use current procedures130## Use current procedures and references

108 131 

109- [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118)132- [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118)

110- [Apps in ChatGPT](https://help.openai.com/en/articles/11487775)133- [Apps in ChatGPT](https://help.openai.com/en/articles/11487775)

Details

1# ChatGPT Work Overview

2 

3> For the complete documentation index, see [llms.txt](https://learn.chatgpt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

4 

5ChatGPT Work and Codex share core execution, isolation, and permission

6mechanisms, and fall within the same security boundaries that are part of your

7ChatGPT Business or Enterprise agreement. The capabilities and controls

8available to each experience depend on whether a task runs locally or in the

9cloud, its available tools, and applicable workspace policies.

10 

11ChatGPT Work can complete multi-step tasks using the information, files,

12applications, and tools available to an authorized workspace member. On the web,

13those tasks run in the cloud, not on the member's device.

14 

15This overview explains the execution boundary, network and application controls,

16data handling, and how tasks are executed securely using ChatGPT Work on the

17web. Availability and administrative controls depend on your plan and workspace

18configuration.

19 

20## Execution isolation, files, and device access

21 

22The files and tools available to ChatGPT Work depend on where Work is running,

23user permissions and admin configuration.

24 

25**Local Work** runs tasks through the ChatGPT desktop app on the user's device.

26It can access local files, applications, and other resources made available to

27it, subject to the user's permissions, applicable workspace controls, and device

28security policies. Unlike Work on the Web, local Work can operate on resources

29that remain on your computer without requiring you to upload files to a cloud

30conversation.

31 

32**Cloud Work**, accessed via the web or mobile, runs the Codex harness in an

33isolated environment on OpenAI-managed infrastructure. Cloud conversations can

34be available across supported web, mobile, and desktop surfaces, and supported

35tasks can continue while the user is away from the conversation.

36 

37Work on the web can't directly access files, applications, or open browser tabs

38on the user's computer. A user can provide files by uploading them, adding them

39to a supported project, or using an authorized connected app. The desktop

40experience controls local file and application access through its own

41permissions.

42 

43When

44[Library](https://help.openai.com/en/articles/20001052-file-storage-and-library-in-chatgpt)

45is available, eligible uploaded or generated files can be saved there.

46Administrators can control whether ChatGPT automatically references saved

47Library files. Disabling automatic references does not prevent users from

48explicitly accessing or attaching files they are authorized to use.

49 

50See [Code and shell sandboxing](https://learn.chatgpt.com/docs/sandboxing?surface=web),

51[Creating and editing documents, spreadsheets, and presentations](https://help.openai.com/en/articles/20001278-creating-and-editing-documents-spreadsheets-and-presentations-with-chatgpt-work),

52and

53[File storage and Library in ChatGPT](https://help.openai.com/en/articles/20001052-library-for-chatgpt).

54 

55## Network access and external destinations

56 

57Work uses tools like code/shell execution and the cloud browser to complete

58tasks. Each of these tools has configurable permissions.

59 

60- **Code and shell commands**: Public internet access depends on the applicable

61 workspace policy and individual Work network setting. When public internet

62 access isn't allowed, commands can still reach required destinations on a

63 managed allowlist.

64- **Web search**: Search has controls separate from the Work code and shell

65 network setting.

66 

67When available, the individual code and shell setting appears under

68**Settings** > **Data controls** > **Work network access**. Turning on **Allow

69public internet access** doesn't override an applicable administrator

70restriction. Turning it off limits code and shell commands to required

71destinations on the managed allowlist; it doesn't disable connected apps, web

72search, or the cloud browser.

73 

74Changes to the code and shell network setting take effect after the current run

75finishes and Work refreshes its execution environment. See

76[Code and shell sandboxing](https://learn.chatgpt.com/docs/sandboxing?surface=web) and

77[Work access controls](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex).

78 

79Outgoing interaction controls are separate from

80[workspace IP access restrictions](https://help.openai.com/en/articles/12111596-ip-allowlisting-for-chatgpt),

81which limit incoming access to the ChatGPT workspace or Compliance API.

82 

83## Cloud browser and website access

84 

85The

86[Cloud Browser](https://help.openai.com/en/articles/20001280-using-cloud-browser-in-chatgpt)

87is one of the tools ChatGPT Work can use and is distinct from the

88[In-app Browser](https://help.openai.com/en/articles/20001277-using-the-built-in-browser-in-the-chatgpt-desktop-app).

89It operates remotely and uses a browser session separate from the user's local

90browser. It can't access local tabs, extensions, browsing history, saved

91passwords, or authenticated local sessions.

92 

93The cloud browser supports public, signed-out websites. It can navigate pages,

94enter information into supported public forms, and combine relevant information

95from an approved app with a website task. It can't accept credentials, use a

96password manager or saved form entries, sign in to a website, or complete

97payments. If a task requires one of those unsupported steps, it stops. Browser

98availability depends on your plan, region, rollout, and workspace permissions.

99For Enterprise workspaces, an administrator must enable cloud browser access in

100addition to Work access.

101 

102Website access and actions have separate controls:

103 

104- By default, ChatGPT asks before visiting a new website. Where available, users

105 can select **Always ask**, **Auto approve**, or **Always allow**, and allow or

106 block individual websites. **Auto approve** applies automated risk checks.

107 **Always allow** removes the interactive website-access review. Administrators

108 have the same ability to limit approval settings for users (for example,

109 disable **Always allow** workspace-wide).

110- Allowing a website doesn't approve every action on that site. ChatGPT can

111 request a separate confirmation before actions that could create a financial,

112 legal, account, or other consequential commitment.

113 

114Users can inspect available page screenshots and browser replay in a Work

115conversation. These user-visible records don't establish Compliance API export

116or a complete administrator-visible execution history.

117 

118See

119[Using cloud browser in ChatGPT](https://help.openai.com/en/articles/20001280-using-cloud-browser-in-chatgpt)

120and [Browser](https://learn.chatgpt.com/docs/browser?surface=web).

121 

122## Connected applications, credentials, and permissions

123 

124A connected app or Plugin gives Work access only through the integration your

125workspace allows and the permissions granted for that connection. Admins can

126control Plugin and app availability, workspace role access, external

127authorization, action settings, and source-system permissions within the admin

128dashboard.

129 

130For Enterprise and Edu workspaces, plugins and their underlying apps are off by

131default. For Business workspaces, plugins and apps are on by default. Making a

132plugin available doesn't automatically enable its required app or grant access

133to a user's account. The user must enable the plugin and authenticate before

134ChatGPT Work can access it.

135 

136Where supported, administrators can restrict an app to read-only actions or an

137approved set of actions. App permission settings can also determine whether

138ChatGPT asks before using an app, making changes, or performing important

139actions. Not every app supports the same action controls, and not every action

140requires an individual human confirmation.

141 

142For synced apps, changes to source content or permissions can take time to

143appear. Disconnecting an app doesn't automatically remove information already

144saved in a conversation, generated file, or record with its own retention

145policy.

146 

147See

148[Admin controls, security, and compliance for plugins and apps](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business),

149[Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors),

150[Google Workspace administrator-managed setup](https://help.openai.com/en/articles/10929079-google-workspace-admin-managed-setup),

151[ChatGPT apps with sync](https://help.openai.com/en/articles/10847137-chatgpt-apps-with-sync).

152 

153## Privacy and data handling

154 

155ChatGPT Work follows the privacy, security, and data-handling policies

156applicable to your ChatGPT workspace. Conversations, uploaded files, generated

157files, connected applications, and browser data can have different retention and

158deletion rules.

159 

160For details, see [Enterprise privacy](https://openai.com/enterprise-privacy/),

161[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt),

162[Data residency and inference residency](https://help.openai.com/en/articles/9903489-data-residency-and-inference-residency-for-chatgpt),

163and the [ChatGPT Work Admin FAQ](https://learn.chatgpt.com/docs/enterprise/work-admin-faq).

164 

165### Retention depends on the data type

166 

167- **Work conversations**—Follow the applicable ChatGPT workspace conversation

168 retention and deletion settings.

169- **Files saved to Library**—Follow the applicable file and workspace

170 retention rules. Deleting a conversation doesn't delete files stored in

171 Library.

172- **Project files**—Remain with the project until its deletion, subject to the

173 applicable deletion rules and exceptions.

174- **Transient uploads outside Library**—For Enterprise, transient uploads can

175 expire after 48 hours unless a different retention setting applies.

176- **Saved memories, when enabled**—Follow separate memory controls.

177- **Cloud browser cookies**—Remain separate from local browser data. Users can

178 clear them from the Cloud browser settings.

179- **Compliance Logs Platform records**—Remain available in the platform for 30

180 days. Exported copies follow the receiving system's retention policy.

181- **Connected application data**—Source records follow the connected

182 application's policies. Copies saved in a chat, file, or synced index also

183 follow the applicable OpenAI storage and retention rules.

184 

185Deleting a conversation, ending a Work task, clearing browser cookies, and

186retaining compliance records are different operations. Deleting a chat removes

187it from view and schedules permanent deletion within 30 days, subject to the

188published security, legal, and de-identification exceptions.

189 

190See

191[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt),

192[Memory in ChatGPT](https://help.openai.com/en/articles/8590148-memory-in-chatgpt-faq),

193and the

194[OpenAI Compliance Platform](https://help.openai.com/en/articles/9261474-compliance-api-for-chatgpt-enterprise-edu-and-chatgpt-for-teachers).

Details

302define network access requirements centrally. These requirements are separate302define network access requirements centrally. These requirements are separate

303from the user `features.network_proxy` toggle: they can configure sandbox303from the user `features.network_proxy` toggle: they can configure sandbox

304networking without that feature flag, but they don't grant command network304networking without that feature flag, but they don't grant command network

305access when the active sandbox keeps networking off.305access when the active sandbox keeps networking off. Set

306`experimental_network.enabled = true` to activate the managed proxy; an

307allowlist alone does not make the proxy active.

306 308 

307```toml309```toml

308experimental_network.enabled = true310experimental_network.enabled = true


325and DNS rebinding limitations are the same as the sandbox networking behavior327and DNS rebinding limitations are the same as the sandbox networking behavior

326described in [Agent approvals & security](https://learn.chatgpt.com/docs/agent-approvals-security#network-isolation).328described in [Agent approvals & security](https://learn.chatgpt.com/docs/agent-approvals-security#network-isolation).

327 329 

330These requirements apply only to local commands that run inside the sandbox.

331They do not route or filter web search, apps and connectors, MCP servers,

332browser or Computer Use activity, Codex service requests, or Codex cloud

333traffic. Use the controls for each surface:

334 

335- Use `allowed_web_search_modes` to restrict web search.

336- Use `features.apps = false` to disable app and connector integrations, and

337 `features.plugins = false` to disable plugins where supported.

338- Use the managed `mcp_servers` approved list to restrict MCP servers.

339- Use feature requirements such as `browser_use`, `in_app_browser`, and

340 `computer_use` to restrict browser and computer-use capabilities.

341- Configure Codex cloud network access in its cloud environment settings.

342 

343A command domain allowlist does not replace these capability-specific

344controls.

345 

328### Pin feature flags346### Pin feature flags

329 347 

330You can also pin [feature flags](https://learn.chatgpt.com/docs/config-file/config-basic#feature-flags) for users348You can also pin [feature flags](https://learn.chatgpt.com/docs/config-file/config-basic#feature-flags) for users

Details

14information from connected sources, reason across steps, create documents,14information from connected sources, reason across steps, create documents,

15presentations, or analyses, and return results for review.15presentations, or analyses, and return results for review.

16 16 

17ChatGPT Work launched July 9, 2026. For Enterprise and Edu, web and mobile access is17ChatGPT Work is available on supported web, mobile, and desktop surfaces for

18off by default during a two-week preview. Admins can enable billable usage, and18eligible plans and workspaces. Where supported, workspace owners or authorized

19explicit opt-outs persist when the default changes. Desktop access remains19admins can manage Work Cloud, Work Local, and Codex Local through distinct

20governed separately through Codex Local permissions and managed configuration.20permissions. For eligible Enterprise and Edu workspaces, the default workspace

21role includes Work unless an authorized administrator turns it off. Browser and

22network controls further restrict Work Cloud, and availability depends on role,

23plan, workspace, and region. See

24[ChatGPT Work and Codex](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex).

21 25 

22This FAQ explains how admins manage ChatGPT Work: access and data controls,26This FAQ explains how admins manage ChatGPT Work: access and data controls,

23compliance and visibility, usage and spend, incident response, and rollout27compliance and visibility, usage and spend, incident response, and rollout

24practices.28practices. For the hosted execution model and security boundaries, see

29[ChatGPT Work Overview](https://learn.chatgpt.com/docs/enterprise/chatgpt-work-overview).

25 30 

26## Core administrative controls31## Core administrative controls

27 32 

28Administrators govern ChatGPT Work through several control layers:33Administrators govern ChatGPT Work through these control layers:

29 34 

30- **Access to the enterprise workspace:** Identity and access controls manage35- **Access to the enterprise workspace:** Identity and access controls manage

31 authentication and access to the workspace. Depending on the plan and36 authentication and access to the workspace. Depending on the plan and

32 configuration, administrator-controlled identity features can include SSO,37 configuration, administrator-controlled identity features can include SSO,

33 domain verification, SCIM provisioning, user lifecycle management, and38 domain verification, SCIM provisioning, user lifecycle management, and

34 identity-group synchronization. Users can enable account-level OpenAI MFA;39 identity-group synchronization. SCIM and synchronized identity groups aren't

35 enforce workspace-wide MFA through your identity provider. Manage SSO and40 included with ChatGPT Business. Users can enable account-level OpenAI MFA.

36 related identity settings in the41 ChatGPT doesn't provide workspace-wide MFA enforcement; organizations that

42 require it should enforce SSO and MFA through their identity provider. Manage

43 SSO and related identity settings in the

37 [Global Admin Console](https://help.openai.com/en/articles/12289294-admin-portal).44 [Global Admin Console](https://help.openai.com/en/articles/12289294-admin-portal).

38- **Access to ChatGPT Work within the workspace:** On web and mobile, admins use the45 See [Multi-factor authentication](https://help.openai.com/en/articles/7967234-enabling-or-disabling-multi-factor-authentication-mfa).

39 ChatGPT Work access control and role-based access control (RBAC) to decide who can46- **Access to ChatGPT Work within the workspace:** Where available, Work Cloud

40 use it. Enterprise and Edu access is off during the two-week preview;47 governs hosted Work across supported web, mobile, and desktop surfaces. Work

41 admins can enable it, and explicit opt-outs persist when the default changes.48 Local governs local desktop Work, while Codex Local controls supported local

42 Desktop access follows separate Codex Local permissions and49 Codex access in desktop, CLI, and IDE clients. Cloud browser and network

43 [managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration). Controls50 settings further restrict Work Cloud. Custom role-based access control (RBAC)

44 vary by plan and surface.51 and available permissions depend on the plan and workspace.

45- **Group membership:** Groups can be synchronized through SCIM and an identity52- **Group membership:** On plans that support SCIM, synchronize groups through

46 provider so access updates automatically as employees join the organization,53 an identity provider so access updates as employees join the organization,

47 change roles, or leave. See54 change roles, or leave. See

48 [Groups and provisioning](https://learn.chatgpt.com/docs/enterprise/groups-and-provisioning).55 [Groups and provisioning](https://learn.chatgpt.com/docs/enterprise/groups-and-provisioning).

49- **Workspace and member roles:** Built-in Owner, Admin, and Member roles56- **Workspace and member roles:** Built-in Enterprise roles include Owner,

50 determine who can administer the workspace. Custom roles and member RBAC57 Admin, Member, and Analytics Viewer. On supported plans, custom roles and

51 separately control end-user access to ChatGPT Work, plugins, and other capabilities.58 member RBAC control access to ChatGPT Work, plugins, and other capabilities.

52 See59 Where seat types apply, members also need a seat that includes ChatGPT; a

60 Codex-only seat doesn't grant access to Work. See

53 [Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).61 [Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).

54- **Plugins and connectors:** Plugin policy governs plugin availability and62- **Plugins and apps:** Plugin policy governs plugin availability and

55 installation. Connector access, action controls, and approval behavior are63 installation. App access, action controls, and approval behavior are

56 configured separately, and Workspace Agents have additional per-agent64 configured separately. Workspace Agents have their own controls where

57 controls. See [Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors),65 available. See [Plugin controls](https://learn.chatgpt.com/docs/enterprise/apps-and-connectors),

58 [Plugins](https://learn.chatgpt.com/docs/plugins), and the66 [Plugins](https://learn.chatgpt.com/docs/plugins), and the

59 [App security white paper](https://cdn.openai.com/business-guides-and-resources/app-security-whitepaper.pdf).67 [App security white paper](https://cdn.openai.com/business-guides-and-resources/app-security-whitepaper.pdf).

60- **Source-system permissions:** A user can access only the content and actions68- **Source-system permissions:** A user can access only the content and actions

61 allowed by the account or shared connection in the native application. See69 allowed by the account or shared connection in the native application. See

62 [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business).70 [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business).

63- **Approval and action restrictions:** For connectors that support Action control,71- **Approval and action restrictions:** For apps that support Action control,

64 admins can allow all actions, read-only actions, or a custom set and decide72 admins can allow all actions, read-only actions, or a custom set and decide

65 how newly added actions are handled. App permissions separately determine73 how newly added actions are handled. App permissions separately determine

66 when ChatGPT asks before using a connector.74 when ChatGPT asks before using an app.

67- **Credits:** ChatGPT Work and Codex share pricing, credits, and usage limits.75- **Credits:** ChatGPT Work and Codex share pricing, credits, and usage limits.

68 Eligible Enterprise and Edu admins can set monthly per-user limits through a76 Eligible Enterprise and Edu admins can set monthly per-user limits through a

69 workspace default, group defaults, and individual overrides. Users can77 workspace default, group defaults, and individual overrides. Users can


83 91 

84ChatGPT Work is governed by the identity, access, and permission controls already92ChatGPT Work is governed by the identity, access, and permission controls already

85established in your ChatGPT workspace. Administrators use identity management,93established in your ChatGPT workspace. Administrators use identity management,

86[RBAC](https://help.openai.com/en/articles/11750701-rbac), and workspace roles94workspace roles, and, on eligible plans,

87to determine who can use ChatGPT Work.95[RBAC](https://help.openai.com/en/articles/11750701-rbac) to determine who can

96use ChatGPT Work.

88 97 

89Where supported, access can be synchronized with your identity provider through98Where supported, access can be synchronized with your identity provider through

90[SCIM](https://help.openai.com/en/articles/10011769-openai-platform-scim-integration-faq)99[SCIM](https://help.openai.com/en/articles/10011769-openai-platform-scim-integration-faq)

91and group synchronization. This lets you manage access and permissions centrally100and group synchronization. This lets you manage access and permissions centrally

92as employees join the organization, change roles, or leave.101as employees join the organization, change roles, or leave.

93 102 

94Underlying source systems continue to enforce access to enterprise data. ChatGPT Work103Underlying source systems enforce the permissions of the account or approved

95respects the permissions defined in connected applications, so users and agents104shared connection used for the operation. An individual connection uses that

96can access only files, repositories, channels, records, and actions they are105person's source-system access. An agent-owned or shared connection can give

97authorized to use. ChatGPT Work doesn't bypass existing access controls or grant new106authorized agent users access through the connected account, including data or

98permissions in connected systems.107actions their own account couldn't access. Restrict the connection's scopes,

108available actions, and agent audience to the intended business need. See

109[Workspace Agent connections and permissions](https://help.openai.com/en/articles/20001143-chatgpt-workspace-agents-for-enterprise-and-business).

99 110 

100<a id="how-does-work-access-data-and-context"></a>111<a id="how-does-work-access-data-and-context"></a>

101<a id="how-does-work-mode-access-data-and-context"></a>112<a id="how-does-work-mode-access-data-and-context"></a>


103### How does ChatGPT Work access data and context?114### How does ChatGPT Work access data and context?

104 115 

105ChatGPT Work can use the current chat, uploaded files, workspace resources, and116ChatGPT Work can use the current chat, uploaded files, workspace resources, and

106connected systems through plugins. Depending on enabled capabilities and117connected systems through approved apps and, when applicable, plugins.

107permissions, this can include documents, repositories, tickets, channels,118Depending on enabled capabilities and permissions, this can include documents,

108email, and calendars. Files from earlier chats or memory can be available119repositories, tickets, channels, email, and calendars. Earlier files can be

109when included in the current chat or project, or when applicable120available through the current chat, supported projects, authorized Library

110workspace and user memory controls are enabled.121access, or enabled automatic Library references. Saved memories follow their

122own workspace and user controls.

111 123 

112Each context source keeps its own controls: users supply chat context,124Each context source keeps its own controls: users supply chat context,

113admins manage workspace resources, and connected systems enforce authentication125admins manage workspace resources, and connected systems enforce authentication


135 documents, tickets, repositories, or project-management tools.147 documents, tickets, repositories, or project-management tools.

136- **Share:** Send, publish, or otherwise make information available to more148- **Share:** Send, publish, or otherwise make information available to more

137 people, systems, or external destinations.149 people, systems, or external destinations.

138- **Scheduled:** Start a task at a future time or on a recurring schedule150- **Schedule:** Start a task at a future time or on a recurring schedule

139 without requiring a user to initiate each run.151 without requiring a user to start each run.

140- **Execute:** Run code, shell commands, browser automation, or other152- **Execute:** Run code, shell commands, browser automation, or other

141 tool-driven tasks that interact directly with external environments.153 tool-driven tasks that interact directly with external environments.

142 154 


158encryption in transit and at rest, workspace-level access controls, and170encryption in transit and at rest, workspace-level access controls, and

159supported audit logging.171supported audit logging.

160 172 

161Coverage for data residency, inference residency, FedRAMP, HIPAA, or a Business173Coverage for data residency, inference residency, HIPAA, or a Business Associate

162Associate Agreement isn't universal. Confirm current174Agreement isn't universal. Confirm current

163[data and inference residency guidance](https://help.openai.com/en/articles/9903489-data-residency-and-inference-residency-for-chatgpt)175[data and inference residency guidance](https://help.openai.com/en/articles/9903489-data-residency-and-inference-residency-for-chatgpt)

164and the customer's agreement for the features and regions in use.176and the customer's agreement for the features and regions in use.

165 177 


177 189 

178Data retention and deletion for ChatGPT Work are governed by the ChatGPT workspace190Data retention and deletion for ChatGPT Work are governed by the ChatGPT workspace

179plan, administrative settings, and the capabilities in use. Retention can vary191plan, administrative settings, and the capabilities in use. Retention can vary

180across the information ChatGPT Work accesses. Data stored by ChatGPT follows the192across the information ChatGPT Work accesses. Conversations and eligible Library

181configured workspace retention policies, while connected applications continue193files follow their applicable workspace settings. Project files, transient

182to manage their own data and lifecycle policies. See194uploads, saved memories, compliance events, synchronized app data, and

195third-party records can have separate retention and deletion rules. See

183[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt).196[Chat and file retention policies](https://help.openai.com/en/articles/8983778-chat-and-file-retention-policies-in-chatgpt).

184 197 

185ChatGPT Work can create chat content, uploaded or generated files, artifacts,198ChatGPT Work can create chat content, uploaded or generated files, artifacts,


197### What usage data is available to admins or owners?210### What usage data is available to admins or owners?

198 211 

199Admins and owners can use product analytics and compliance logs for different212Admins and owners can use product analytics and compliance logs for different

200kinds of visibility. The Global Admin Console shows adoption and credit use by213kinds of visibility. The Global Admin Console provides supported ChatGPT and

201user, product, and model, including the ability to drill down across Chat, Work,214Codex adoption and credit-usage views; available user, product, agent, and model

202and Codex usage. The Compliance API covers all user messages and responses215breakdowns depend on the analytics surface and workspace. For eligible

203across Chat, Work, and Codex. See216workspaces, the Compliance API provides covered ChatGPT conversation records,

217including supported cloud Work activity. Coverage depends on the product,

218surface, permissions, available endpoint, and documented event schema. See

204[Workspace analytics](https://learn.chatgpt.com/docs/enterprise/workspace-analytics) and the219[Workspace analytics](https://learn.chatgpt.com/docs/enterprise/workspace-analytics) and the

205[Compliance API](https://learn.chatgpt.com/docs/enterprise/compliance-api).220[Compliance API](https://learn.chatgpt.com/docs/enterprise/compliance-api).

206 221 

207### Are prompts, outputs, files, actions, or tool calls logged?222### Are prompts, outputs, files, actions, or tool calls logged?

208 223 

209The Compliance Logs Platform provides user prompts and agent responses. It224For eligible Enterprise and Edu workspaces, the Compliance Logs Platform

210doesn't track files, actions, or tool calls.225provides Work user prompts and agent responses.

226[Connected app calls are separately logged](https://help.openai.com/en/articles/11509118-admin-controls-security-and-compliance-in-apps-enterprise-edu-and-business),

227and eligible workspaces can access active Library files through supported

228[Library-specific Compliance API endpoints](https://help.openai.com/en/articles/20001052-library-for-chatgpt).

229These records don't establish a complete audit trail for every hosted file

230operation, shell command, browser interaction, tool invocation, or approval.

231Confirm the current event and product coverage in the authenticated Compliance

232API documentation.

211 233 

212The Compliance Logs Platform retains data for 30 days. Export records234The Compliance Logs Platform retains data for 30 days. Export records

213continuously to an approved electronic discovery, data loss prevention, SIEM,235continuously to an approved electronic discovery, data loss prevention, SIEM,


218 240 

219Workspace analytics, compliance logs, and connected monitoring tools help241Workspace analytics, compliance logs, and connected monitoring tools help

220admins review usage and investigate supported ChatGPT, Work, and Codex242admins review usage and investigate supported ChatGPT, Work, and Codex

221activity. Signals can include active users, messages, tool activity, agent243activity. Depending on the selected reporting surface, signals can include

222activity, authentication and administrative events, and credit consumption.244active users, supported messages, app activity, agent usage, authentication or

223Exported logs can support electronic discovery, data loss prevention, SIEM,245administrative events, and credit consumption. Exported logs can support

224auditing, and investigations. Detection quality depends on plan, event246electronic discovery, data loss prevention, SIEM, auditing, and investigations.

225coverage, attribution, freshness, and configured rules.247Detection quality depends on plan, event coverage, attribution, freshness, and

248configured rules.

226 249 

227Signals that can warrant review include unexpected increases in usage or credit250Signals that can warrant review include unexpected increases in usage or credit

228consumption, unusual user or agent activity, recurring operational errors, and251consumption, unusual user or agent activity, recurring operational errors, and


236redacted unless `otel.log_user_prompt = true` is enabled as a separate explicit259redacted unless `otel.log_user_prompt = true` is enabled as a separate explicit

237opt-in. See260opt-in. See

238[Monitoring and telemetry](https://learn.chatgpt.com/docs/agent-approvals-security#monitoring-and-telemetry).261[Monitoring and telemetry](https://learn.chatgpt.com/docs/agent-approvals-security#monitoring-and-telemetry).

262This local Codex telemetry doesn't provide an OpenTelemetry export for ChatGPT

263Work on the web.

239 264 

240## Governance265## Governance

241 266 


246- **ChatGPT Work access controls** determine who can use ChatGPT Work on271- **ChatGPT Work access controls** determine who can use ChatGPT Work on

247 each surface.272 each surface.

248- **Workspace Agent controls** determine who can build, publish, share,273- **Workspace Agent controls** determine who can build, publish, share,

249 schedule, or configure reusable agents and shared connections.274 schedule, or configure reusable agents and shared connections, where

250- **Codex managed configuration** governs covered local runtime behavior,275 Workspace Agents are available.

251 including permissions, approvals, filesystem and network access, MCP servers,276- **Codex managed configuration** governs covered local Codex runtime behavior

252 hooks, and command rules.277 and doesn't configure hosted ChatGPT Work.

253 278 

254Managed configuration constrains supported runtime behavior. It doesn't grant279Managed configuration constrains supported runtime behavior. It doesn't grant

255workspace access, replace RBAC, or revoke a user's workspace access. These280workspace access, replace RBAC, or revoke a user's workspace access. These


257provide additional visibility within their documented product and event282provide additional visibility within their documented product and event

258scopes.283scopes.

259 284 

260Enterprise administrators can use285For supported local Codex clients, enterprise administrators can apply

261[managed requirements](https://learn.chatgpt.com/docs/enterprise/managed-configuration) to enforce286[managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration) and

262supported settings that users can't override while the requirements are287[permission profiles](https://learn.chatgpt.com/docs/permissions). Those local-client controls don't

263active. Supported policies cover approval behavior, permission profiles, web288grant access to, or replace the workspace permissions for, hosted ChatGPT Work.

264search, hooks, MCP servers, feature flags, command rules, and filesystem

265access. Network requirements are experimental and should be tested on the

266client versions and operating systems in your deployment before broad use. For

267current Codex clients, managed

268[permission profiles](https://learn.chatgpt.com/docs/permissions) are the preferred way to define

269filesystem, network, and runtime access.

270 289 

271### Can access be scoped by group, role, workspace, or capability?290### Can access be scoped by group, role, workspace, or capability?

272 291 

273Yes. ChatGPT Work capabilities can be scoped with workspace roles, identity groups,292Yes. On eligible Enterprise and Edu plans that support custom member RBAC,

274and administrator-defined permissions. Assign capabilities to groups based on293ChatGPT Work capabilities can be scoped with workspace roles, identity groups,

275business need and organizational policy instead of giving every user identical294and administrator-defined permissions. ChatGPT Business uses applicable

276access. See the295workspace-level controls but doesn't include custom member RBAC or SCIM group

296synchronization. Assign supported capabilities based on business need and

297organizational policy. See the

277[RBAC guide](https://help.openai.com/en/articles/11750701-rbac) and this298[RBAC guide](https://help.openai.com/en/articles/11750701-rbac) and this

278[RBAC walkthrough](https://vimeo.com/1207482321/d1286e4467?share=copy&fl=sv&fe=ci).299[RBAC walkthrough](https://vimeo.com/1207482321/d1286e4467?share=copy&fl=sv&fe=ci).

279 300 

280Organizations can use RBAC to determine which users can access ChatGPT Work, manage301Where custom RBAC is available, organizations can use it to determine which

281workspace settings, configure approved plugins, or build and publish Workspace302users can access ChatGPT Work, manage workspace settings, configure approved

282Agents. For eligible Enterprise and Edu workspaces, monthly usage limits can303plugins, or use supported Workspace Agent features. For eligible Enterprise and

283support a phased rollout through a workspace default, group defaults, and user304Edu workspaces, monthly usage limits can support a phased rollout through a

284overrides.305workspace default, group defaults, and user overrides.

285 306 

286Access to connected systems remains independently governed. Scope plugins, shared307Access to connected systems remains independently governed. Scope plugins, shared

287credentials, repositories, and write-capable actions to the minimum required308credentials, repositories, and write-capable actions to the minimum required

288audience using workspace permissions, plugin settings, and the source system's309audience using workspace permissions, plugin settings, and the source system's

289controls. For higher-trust environments, use managed policies to restrict310controls. For supported local Codex clients, managed configuration can further

290runtime capabilities further.311restrict local runtime capabilities. Hosted Work follows its own workspace and

312product-specific controls.

291 313 

292### How are runtime and network boundaries governed?314### How are runtime and network boundaries governed?

293 315 


295connected workflow, a scheduled task, and a Codex chat can run in different317connected workflow, a scheduled task, and a Codex chat can run in different

296environments with different permissions, tools, and network access.318environments with different permissions, tools, and network access.

297 319 

298Govern each execution environment through its applicable controls. ChatGPT Work320Govern each execution environment through its applicable controls. Work Cloud

299permissions on web and mobile govern access to ChatGPT Work and supported browser or321governs hosted Work across supported web, mobile, and desktop surfaces. Work

300network capabilities. Search, plugins, Workspace Agents, and322Local governs local desktop Work, and Codex Local controls supported local

301source-system permissions remain separate controls. Desktop and Codex chats323Codex access in desktop, CLI, and IDE clients. Browser and shell network

302follow Codex permissions, managed configuration, MCP policy, sandboxing, and324permissions further restrict Work Cloud. Search, apps, plugins, available

303approval controls. These controls aren't interchangeable.325Workspace Agents, and source-system permissions remain separate controls.

326Applicable managed configuration and local runtime policies govern only their

327supported local experiences. These controls aren't interchangeable.

304 328 

305For Codex activity, local runs in the ChatGPT desktop app, CLI, and IDE execute329For Codex activity, local runs in the ChatGPT desktop app, CLI, and IDE execute

306on the user's machine with operating-system sandboxing and approval policies.330on the user's machine with operating-system sandboxing and approval policies.

307Codex cloud runs chats in isolated OpenAI-managed environments. Enterprise331Codex cloud runs chats in isolated OpenAI-managed environments. For supported

308administrators can use managed requirements to constrain permission profiles,332local clients, enterprise administrators can use managed requirements to

309approvals, filesystem and network access, MCP servers, hooks, command rules,333constrain permission profiles, approvals, filesystem and network access, MCP

310and other supported runtime behavior.334servers, hooks, command rules, and other supported runtime behavior.

311 335 

312## Usage and cost336## Usage and cost

313 337 


321tool use, and output size. Standard Chat usage is separate.345tool use, and output size. Standard Chat usage is separate.

322 346 

323The highest-variance patterns are often workflows that run frequently,347The highest-variance patterns are often workflows that run frequently,

324retrieve or process large amounts of information, call multiple tools or connectors,348retrieve or process large amounts of information, call multiple tools or apps,

325retry after failures, or produce large artifacts. Cost-sensitive examples349retry after failures, or produce large artifacts. Cost-sensitive examples

326include scheduled or recurring work, high-volume triggers, large files, broad350include scheduled or recurring work, large files, broad

327retrieval across enterprise sources, repeated connector calls, and Codex chats that351retrieval across enterprise sources, repeated app calls, and Codex chats that

328process repositories, run commands, or use cloud environments.352process repositories, run commands, or use cloud environments. Workspace Agent

353API triggers can also add usage where available.

329 354 

330Use spend controls, usage analytics, and reporting to monitor these patterns355Use spend controls, usage analytics, and reporting to monitor these patterns

331over time. Review usage by the dimensions supported in the current analytics356over time. Review usage by the dimensions supported in the current analytics


370 395 

371### How can admins stop access or activity?396### How can admins stop access or activity?

372 397 

373Admins can need to stop users, plugins, shared credentials, workflows, schedules,398During user removal or incident review, admins might need to stop access,

374or Codex credentials during user removal or incident review.399disable apps, revoke shared credentials, pause scheduled tasks, or revoke Codex

400credentials.

375 401 

376Revocation paths include:402Revocation paths include:

377 403 

378- Remove a user's workspace or group access. For SCIM-managed users, remove404- Remove a user's workspace or group access. For SCIM-managed users, remove

379 access at the identity provider; otherwise, a later synchronization can405 access at the identity provider; otherwise, a later synchronization can

380 provision the user again.406 provision the user again.

381- Disable or restrict the relevant plugin or connector.407- Disable or restrict the relevant plugin or app.

382- Revoke a shared connection, bot, or service account through its owning408- Revoke a shared connection, bot, or service account through its owning

383 surface. Workspace owners and admins can separately revoke Codex workspace409 surface. Workspace owners and admins can separately revoke Codex workspace

384 access tokens.410 access tokens.

385- Remove a Workspace Agent from publication or delete it through its agent owner411- Remove a Workspace Agent from publication or delete it through its agent owner

386 or workspace administrator.412 or workspace administrator.

387- Disable the relevant schedule or trigger.413- Disable the relevant scheduled task or, where available, Workspace Agent API

414 trigger.

388- For Codex access, separately revoke the relevant access token, repository415- For Codex access, separately revoke the relevant access token, repository

389 connection, and cloud-environment access. Managed configuration isn't an416 connection, and cloud-environment access. Managed configuration isn't an

390 access-revocation mechanism.417 access-revocation mechanism.


392## Additional resources for your teams419## Additional resources for your teams

393 420 

394| Topic | Use this when explaining | Learn ChatGPT page |421| Topic | Use this when explaining | Learn ChatGPT page |

395| ------------------------ | -------------------------------------------------------------------------- | ---------------------------------------------------------------- |422| ------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------- |

423| Work overview | How cloud execution, browser access, network policy, and data boundaries work | [ChatGPT Work Overview](https://learn.chatgpt.com/docs/enterprise/chatgpt-work-overview) |

396| Workspace setup and RBAC | Who can use and administer Codex | [Admin rollout guide](https://learn.chatgpt.com/docs/enterprise/admin-setup) |424| Workspace setup and RBAC | Who can use and administer Codex | [Admin rollout guide](https://learn.chatgpt.com/docs/enterprise/admin-setup) |

397| Authentication | How ChatGPT sign-in, API key sign-in, and workspace policy differ | [Authentication](https://learn.chatgpt.com/docs/auth) |425| Authentication | How ChatGPT sign-in, API key sign-in, and workspace policy differ | [Authentication](https://learn.chatgpt.com/docs/auth) |

398| Approvals and sandboxing | How Codex controls file, command, network, and side-effecting tool actions | [Agent approvals and security](https://learn.chatgpt.com/docs/agent-approvals-security) |426| Approvals and sandboxing | How Codex controls file, command, network, and side-effecting tool actions | [Agent approvals and security](https://learn.chatgpt.com/docs/agent-approvals-security) |


413 and governance expectations.441 and governance expectations.

414- **Review plugins and data sources.** ChatGPT Work is most useful with approved442- **Review plugins and data sources.** ChatGPT Work is most useful with approved

415 business context such as files, email, calendars, Slack, or CRM. Review443 business context such as files, email, calendars, Slack, or CRM. Review

416 enabled plugins, their audiences, and whether connector policies still match how users444 enabled plugins, their audiences, and whether app policies still match how users

417 should delegate work.445 should delegate work.

418- **Set expectations for appropriate use cases.** Position ChatGPT Work for multi-step,446- **Set expectations for appropriate use cases.** Position ChatGPT Work for multi-step,

419 higher-value tasks such as research, synthesis, analysis, file creation,447 higher-value tasks such as research, synthesis, analysis, file creation,

permissions.md +79 −19

Details

23rules, which define what commands can read or write, with network rules, which23rules, which define what commands can read or write, with network rules, which

24define which destinations commands can reach.24define which destinations commands can reach.

25 25 

26A profile's `network.enabled = true` permits command network access, but it

27 does not start the network proxy. To enforce profile domain rules, also set

28 `features.network_proxy = true` in `config.toml`, or use enabled,

29 administrator-managed `[experimental_network]` requirements. Without an active

30 proxy, profile domain rules do not restrict direct network access.

31 

26Use profiles to give Codex enough access for the current chat without granting32Use profiles to give Codex enough access for the current chat without granting

27broad access to your machine or network. For example, a read-only profile can33broad access to your machine or network. For example, a read-only profile can

28let Codex inspect a project without editing it, while a write-capable profile34let Codex inspect a project without editing it, while a write-capable profile


88```toml94```toml

89default_permissions = "project-edit"95default_permissions = "project-edit"

90 96 

97[features]

98network_proxy = true

99 

91[permissions.project-edit.workspace_roots]100[permissions.project-edit.workspace_roots]

92"~/code/app" = true101"~/code/app" = true

93"~/code/shared-lib" = true102"~/code/shared-lib" = true


136```toml145```toml

137default_permissions = "project-edit"146default_permissions = "project-edit"

138 147 

148[features]

149network_proxy = true

150 

139[permissions.project-edit]151[permissions.project-edit]

140description = "Project editing with OpenAI API access."152description = "Project editing with OpenAI API access."

141extends = ":workspace"153extends = ":workspace"


170| `permissions.<name>.filesystem.glob_scan_max_depth` | Number | None | Limits deny-read glob expansion on Linux, WSL, and native Windows when Codex snapshots matches before sandbox startup. Larger values can increase startup scanning work. Use a value of at least `1` when an unbounded `**` pattern needs bounded pre-expansion. |182| `permissions.<name>.filesystem.glob_scan_max_depth` | Number | None | Limits deny-read glob expansion on Linux, WSL, and native Windows when Codex snapshots matches before sandbox startup. Larger values can increase startup scanning work. Use a value of at least `1` when an unbounded `**` pattern needs bounded pre-expansion. |

171| `[permissions.<name>.filesystem]."<path>"` | `read`, `write`, or `deny` | None | Grants direct access for a supported path. `deny` denies access and wins over equally specific `write` or `read` entries. Codex rejects direct write rules that the active runtime cannot enforce. |183| `[permissions.<name>.filesystem]."<path>"` | `read`, `write`, or `deny` | None | Grants direct access for a supported path. `deny` denies access and wins over equally specific `write` or `read` entries. Codex rejects direct write rules that the active runtime cannot enforce. |

172| `[permissions.<name>.filesystem."<path>"]."<subpath>"` | `read`, `write`, or `deny` | None | Grants access to a descendant of `<path>`. Use `.` for the base path. Other subpaths must be relative descendants and cannot contain `.` or `..` components. |184| `[permissions.<name>.filesystem."<path>"]."<subpath>"` | `read`, `write`, or `deny` | None | Grants access to a descendant of `<path>`. Use `.` for the base path. Other subpaths must be relative descendants and cannot contain `.` or `..` components. |

173| `[permissions.<name>.network]` | Table | None | Configures the network sandbox proxy and the sandbox network policy for the profile. |185| `[permissions.<name>.network]` | Table | None | Configures command network access and the policy that an active network proxy enforces. Enable `features.network_proxy` unless administrator-managed network requirements start the proxy. |

174| `permissions.<name>.network.enabled` | Boolean | `false` | Enables network access for sandboxed commands in the profile. This changes the sandbox network policy; it does not start the network proxy by itself. |186| `permissions.<name>.network.enabled` | Boolean | `false` | Enables network access for commands in the profile. It does not start the network proxy; without an active proxy, commands can connect directly without domain restrictions. |

175| `[permissions.<name>.network.domains]` | Table | None | Maps host patterns to `allow` or `deny`. If there are no `allow` entries, domain requests are blocked. Deny entries override allow entries. |187| `[permissions.<name>.network.domains]` | Table | None | Maps host patterns to `allow` or `deny`. Rules apply only when the network proxy is active. The active proxy blocks domain requests if there are no `allow` entries, and deny entries override allow entries. |

176| `permissions.<name>.network.domains."<pattern>"` | `allow` or `deny` | None | Supports exact hosts, `*.example.com` for subdomains, `**.example.com` for apex plus subdomains, and `*` as an allow-only global wildcard. Host patterns are normalized by trimming, lowercasing, stripping a trailing dot, and stripping simple ports or brackets. |188| `permissions.<name>.network.domains."<pattern>"` | `allow` or `deny` | None | Supports exact hosts, `*.example.com` for subdomains, `**.example.com` for apex plus subdomains, and `*` as an allow-only global wildcard. Host patterns are normalized by trimming, lowercasing, stripping a trailing dot, and stripping simple ports or brackets. |

177| `[permissions.<name>.network.unix_sockets]` | Table | None | Maps Unix socket allowlist overrides. Use only for local integrations such as Docker. |189| `[permissions.<name>.network.unix_sockets]` | Table | None | Maps Unix socket allowlist overrides. Use only for local integrations such as Docker. |

178| `permissions.<name>.network.unix_sockets."<path>"` | `allow` or `deny` | None | Adds an absolute Unix socket path to the effective allowlist with `allow`, or rejects it with `deny`. Denied entries are omitted from the effective allowlist. |190| `permissions.<name>.network.unix_sockets."<path>"` | `allow` or `deny` | None | Adds an absolute Unix socket path to the effective allowlist with `allow`, or rejects it with `deny`. Denied entries are omitted from the effective allowlist. |


318 330 

319## Network permissions331## Network permissions

320 332 

321Set `enabled = true` to allow network access for the selected profile:333Network access and network filtering are separate settings. Set

334`permissions.<name>.network.enabled = true` to let commands access the network,

335and enable `features.network_proxy` to enforce the profile's domain rules:

322 336 

323```toml337```toml

338[features]

339network_proxy = true

340 

324[permissions.project-edit.network]341[permissions.project-edit.network]

325enabled = true342enabled = true

326```

327 

328When network access is enabled, Codex uses full network behavior by default.

329Most profiles should also define domain rules:

330 343 

331```toml

332[permissions.project-edit.network.domains]344[permissions.project-edit.network.domains]

333"example.com" = "allow" # exact host345"example.com" = "allow" # exact host

334"*.example.com" = "allow" # subdomains only346"*.example.com" = "allow" # subdomains only


336"ads.example.com" = "deny" # deny wins over allow348"ads.example.com" = "deny" # deny wins over allow

337```349```

338 350 

339The network sandbox proxy binds to local listeners by default:351The resulting behavior depends on both settings:

352 

353- Network off: Commands cannot access the network, regardless of the proxy

354 feature.

355- Network on, proxy off: Commands have direct, unrestricted network

356 access. Domain rules in the permission profile are not enforced.

357- Network on, proxy on: Commands use the proxy, which enforces the profile's

358 domain rules. If the active proxy has no allowed domains, it blocks external

359 destinations.

360 

361Adding `[permissions.<name>.network.domains]` or setting

362`permissions.<name>.network.enabled = true` does not enable

363`features.network_proxy`. As an alternative, administrators can enable the

364proxy with `[experimental_network]` in `requirements.toml`. See

365[Managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration#configure-network-access-requirements).

366 

367When active, the network sandbox proxy binds to local listeners by default:

340 368 

341```toml369```toml

342[permissions.project-edit.network]370[permissions.project-edit.network]


353 381 

354### Local and private networks382### Local and private networks

355 383 

356Codex applies a local/private-network guard by default as a defense against DNS384When the network proxy is active, Codex applies a local/private-network guard by

357rebinding and accidental access to local services. To intentionally allow a385default as a defense against DNS rebinding and accidental access to local

358literal local target, allowlist the exact host or IP literal:386services. To intentionally allow a literal local target, allowlist the exact

387host or IP literal:

359 388 

360```toml389```toml

361[permissions.project-edit.network.domains]390[permissions.project-edit.network.domains]


417 446 

418Permission profiles define the boundaries for local sandboxed command447Permission profiles define the boundaries for local sandboxed command

419execution. Use them together with approval policies and the separate controls448execution. Use them together with approval policies and the separate controls

420for connectors, MCP servers, the built-in browser, Computer Use, and Codex cloud.449for web search, connectors, MCP servers, the built-in browser, Computer Use,

450and Codex cloud.

421 451 

422### What profiles control452### What profiles control

423 453 


430 files, and shared directories as sensitive because later tools or users can460 files, and shared directories as sensitive because later tools or users can

431 execute those files outside the original sandbox context.461 execute those files outside the original sandbox context.

432- **Outbound destinations:** Network domain rules constrain where sandboxed462- **Outbound destinations:** Network domain rules constrain where sandboxed

433 command traffic can go through the network proxy. They do not determine463 command traffic can go only while the network proxy is active. They do not

434 whether an allowed destination is trustworthy, and wildcard allow rules stay464 determine whether an allowed destination is trustworthy, and wildcard allow

435 broad.465 rules stay broad.

436- **Local services:** Local and private network targets are blocked by default.466- **Local services:** An active network proxy blocks local and private network

437 Allowlisting `localhost`, private IPs, Unix sockets, or setting467 targets by default. Allowlisting `localhost`, private IPs, Unix sockets, or setting

438 `allow_local_binding = true` explicitly opens access to local services.468 `allow_local_binding = true` explicitly opens access to local services.

439 469 

470### What the network proxy does not control

471 

472The network proxy only filters traffic from local commands that run inside the

473sandbox. It does not apply the profile's domain allowlist to:

474 

475- **Web search:** The hosted search tool uses its own access settings. Use

476 `web_search` and, for managed clients, `allowed_web_search_modes` to control

477 it. `tools.web_search.allowed_domains` filters search results, not command

478 network access.

479- **Apps and connectors:** Connector-backed tools use their own service-side

480 connections, workspace permissions, and app or tool settings.

481- **MCP servers:** Local and remote MCP servers use their own process or

482 transport. Control them with `mcp_servers` configuration and managed server

483 allowlists.

484- **Browser and Computer Use:** Browser navigation and computer-use actions

485 use their own feature and approval controls.

486- **Codex service traffic:** Model, authentication, and other client service

487 requests use the client's separate HTTP and system-proxy settings.

488- **Codex cloud:** These tasks use their environment's own

489 [internet access settings](https://learn.chatgpt.com/docs/cloud/internet-access).

490 

491To limit these surfaces, configure each capability directly. A command network

492allowlist is not a global network policy for every action Codex can perform.

493 

440### How enforcement works494### How enforcement works

441 495 

442- On macOS, Codex uses Seatbelt sandbox profiles. If the selected policy cannot496- On macOS, Codex uses Seatbelt sandbox profiles. If the selected policy cannot


468```toml522```toml

469default_permissions = "readonly-net"523default_permissions = "readonly-net"

470 524 

525[features]

526network_proxy = true

527 

471[permissions.readonly-net.filesystem]528[permissions.readonly-net.filesystem]

472":minimal" = "read"529":minimal" = "read"

473 530 


529```toml586```toml

530default_permissions = "workspace-net"587default_permissions = "workspace-net"

531 588 

589[features]

590network_proxy = true

591 

532[permissions.workspace-net.filesystem]592[permissions.workspace-net.filesystem]

533":minimal" = "read"593":minimal" = "read"

534 594