Acutis Gate logo Acutis Gate identity for AI at work

How to lock down ChatGPT, Copilot, Gemini and Cursor on work PCs

Short answer: every major AI app now has an admin switch that users cannot override, and each one can limit the app to a single connector. ChatGPT desktop and Codex read a requirements.toml, GitHub Copilot reads enterprise managed settings, Gemini CLI reads a system settings file, and Cursor runs a company hook before every MCP call. Point all of them at one gateway that signs in as the person, and the HR folder, the finance share and the CRM open only for the people who could already open them.

What each vendor lets IT enforce

  • ChatGPT desktop and Codex: one admin file, requirements.toml. It can allow only the MCP servers you name by address, and turn off computer use, browser use, connectors, plugins and Appshots. Users cannot override it.
  • GitHub Copilot (VS Code, the Copilot CLI and the Copilot app): enterprise managed settings with an MCP allowlist by address. A server that does not match is refused, and user settings cannot widen the list.
  • Gemini CLI: a system settings file that has the final say. mcp.allowed limits it to the servers you list, and a server defined there cannot be redefined by the user. Gemini in Chrome turns off with the Chrome policy GeminiSettings.
  • Cursor: an enterprise hooks.json runs before every MCP call and can deny any server that is not yours. With failClosed, a hook that crashes blocks the call instead of letting it through.
  • Windows: policies turn Recall off and remove it, stop screen snapshots, and turn Click to Do off.

Step 1: build the pack

With Acutis Gate, the console writes every one of these files for you:

  1. In the Gate console, open Lock down PCs.
  2. Tick the apps your people use: Claude, ChatGPT and Codex, GitHub Copilot, Gemini, Cursor, Windows Recall.
  3. Download AcutisGate-AI-Lockdown.ps1 for Windows, AcutisGate-AI.mobileconfig and AcutisGate-AI-Mac.sh for Mac, or AcutisGate-AI-Linux.sh.
  4. In Intune, go to Devices, Scripts and remediations, Platform scripts, Add, Windows 10 and later, upload the script, set Run this script using the logged on credentials to No, and assign it to your PC group. With Group Policy, add it as a computer startup script.

The script also adds Gate to each person's Codex, VS Code and Cursor settings, and keeps anything they already had. Files it replaces are kept next to themselves, and -Undo puts everything back. What it writes for ChatGPT and Codex, if you would rather write it yourself:

Command line

# %ProgramData%\OpenAI\Codex\requirements.toml   (Mac and Linux: /etc/codex/requirements.toml)
allowed_sandbox_modes = ["read-only", "workspace-write"]
allow_appshots = false

[features]
computer_use = false
browser_use = false
apps = false
plugins = false

[mcp_servers.acutis-gate]
identity = { url = "https://gate.corp.example/api/v1/gate/mcp" }

And for GitHub Copilot, in %ProgramFiles%\GitHubCopilot\managed-settings.json (or the same values as strings under HKLM\SOFTWARE\Policies\GitHubCopilot):

{
  "allowedMcpServers": [ { "serverUrl": "https://gate.corp.example/api/v1/gate/mcp" } ],
  "permissions": { "disableBypassPermissionsMode": "disable" }
}

Step 2: one door, signed in as the person

Every allowlist names the same server, Gate. On domain PCs, Claude and ChatGPT/Codex sign in with the person's Windows sign-in through a small helper, so nobody pastes a token. VS Code asks each person for their Gate token once. Cursor and Gemini CLI read it from ACUTIS_GATE_TOKEN, which the helper sets when someone saves their token. From there, every tool call runs with that person's own rights and lands in the audit trail under their name.

Where a vendor also has a cloud console, set it there too: the GitHub organization's copilot/managed-settings.json also covers Copilot cloud agent, ChatGPT's Agent security takes the same requirements, and Cursor's Enterprise plan has its own MCP allowlist. Gate builds those files as well.

Step 3: check every PC

Acutis Go looks for these apps on each PC every 6 hours, reads whether each policy is in force, and shows the result in Fleet. Gate's Lock down PCs page totals it: how many PCs are closed, and which ones still need the pack.

Command line

type "%ProgramData%\OpenAI\Codex\requirements.toml"
type "%ProgramFiles%\GitHubCopilot\managed-settings.json"
type "%ProgramData%\gemini-cli\settings.json"
type "%ProgramData%\Cursor\hooks.json"
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI

Every AI app, one door

Gate builds the lock-down for the AI apps your people use and becomes the one way in, signed in as each person.

Start a 14-day trial Tour the live Gate

Frequently asked questions

How do I stop ChatGPT desktop or Codex from using other connectors?

Deploy a requirements.toml with an [mcp_servers] entry for your server only. When that table is present, only matching servers run, and an empty table turns MCP off. Users cannot override requirements.

Can IT limit GitHub Copilot in VS Code to approved MCP servers?

Yes. Enterprise managed settings take an allowedMcpServers list matched by URL. Servers that do not match are blocked, and user settings cannot widen the list.

How do I restrict Gemini CLI on company machines?

Put a system settings file in place (C:\ProgramData\gemini-cli\settings.json, /Library/Application Support/GeminiCli/settings.json or /etc/gemini-cli/settings.json) with mcp.allowed listing your server. The system file has the final say.

Can Cursor block unapproved MCP servers?

Yes, with an enterprise hooks.json and a beforeMCPExecution hook that denies any server whose URL is not yours. The Enterprise plan also has an MCP allowlist in Team Settings.

How do I turn off Windows Recall with Group Policy?

Set AllowRecallEnablement to 0 under HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI. Recall is removed at the next restart, and DisableAIDataAnalysis set to 1 stops snapshots.