Skip to main content

Is Cursor GDPR Compliant? Privacy Mode Alone Won’t Cut It

Privacy Mode stops training but doesn’t give you a DPA. See which Cursor plan works for GDPR and what else you need to lock down.

FHFinn Hillebrandt
AI Programming
Is Cursor GDPR Compliant? Privacy Mode Alone Won’t Cut It
Links marked with * are affiliate links. If a purchase is made through such links, we receive a commission.

Privacy Mode on, client code in, done?

Not quite. That toggle decides whether Cursor trains on your code. It doesn’t decide whether your plan even comes with a Data Processing Agreement (DPA). Nor whether the agent’s terminal can read your .env file, or how long a Cloud Agent keeps your repository.

I started coding with AI in mid-2023, back then with Cursor. Since mid-2025 I’ve been building with Claude Code and have put more than 800 hours into it. Both tools raise the same privacy questions. The switches just have different names.

So here’s the short answer first, in one table. After that, you’ll set up Cursor in 7 steps so you can use it with client code under GDPR, at least as far as plans and settings go.

TL;DRKey Takeaways
  • Cursor’s DPA applies to Teams and Enterprise, not individual plans. Privacy Mode does not replace that agreement for processing personal data on your behalf.
  • Privacy Mode prevents training on your code. It is on by default for teams; enforce it if members must not disable it. Content still reaches Cursor and model providers.
  • Cloud Agents need separate assessment. Chats stay until deletion by default. Admins of selected Enterprise teams with early access can cap conversation retention at 90 days. The cloud docs state 90 days after last activity for snapshots; clarify the conflicting vendor guidance.

Cursor GDPR at a glance

There are three ways to use Cursor. You’re on an individual plan, on a Teams or Enterprise account, or you bring your own API key. Each route answers the questions that matter for client code a little differently:

FeatureFree, Plus, Premium, Super, UltraTeams, EnterpriseOwn API key
DPAPlan-dependentNoYesCursor plan and separate provider DPA
No training on your codewith Privacy Modewith Privacy ModeCursor and provider terms
Privacy Mode on by defaultn/aYesn/a
Editor retentionno single periodfeature and agreement dependentCursor and provider terms
Cloud AgentsChat / snapshotchat until deletion / 90 dayschat until deletion or enabled Enterprise policy / 90 daysassess Cursor rules separately
Zero data retentionPrivacy Mode, per modelPartialPartialNo
Full EU residencyEnterprise: US onlyNoNoNo
Key switchPrivacy ModeEnforce Privacy ModeSettings > Models
YesPartialNo

Check retention by feature and data type. “n/a” does not mean no storage. For processing personal data on your behalf, you need a suitable DPA; Privacy Mode does not replace it.

1. Pick a plan that includes a DPA

Since October 12, 2026, Cursor comes as a free plan, Individual plans at Plus ($8), Premium ($30), Super ($100), and Ultra ($200) per month, Teams from $30 per user, and Enterprise. The earlier Hobby, Pro, and Pro+ tiers have been replaced. Here’s the pricing page:

Cursor pricing page from October 13, 2026 showing the Individual plans Free, Plus, Premium, and Super

The difference that matters for privacy isn’t on that page. It’s in Cursor’s privacy help, and it’s clear. The DPA covers Teams and Enterprise customers. On an individual plan it explicitly doesn’t apply, and your data is handled under the privacy policy alone.

For client projects where Cursor processes personal data on instructions, I’d assess Teams or Enterprise. An individual plan such as Premium with Privacy Mode does not provide the Cursor DPA. Code without personal data needs a separate assessment; confidentiality and client agreements still apply.

The Cursor DPA includes SCCs (Module 2). New subprocessors normally have 30 business days’ advance notice; urgent changes permit notice within ten business days afterward. Check the Trust Center list and the objection procedure.

The DPA is one part of your assessment. Whether Cursor trains on your code also depends on Privacy Mode.

2. Turn on Privacy Mode before your first prompt

Open Cursor Settings and choose “General”. In the Agents view, use the gear icon to open settings. Under General > Privacy > Privacy Mode, click “Configure” and choose “Privacy Mode”. Check that the tick appears next to that option.

Cursor settings with the Privacy Mode menu open and Privacy Mode selected

On teams, Privacy Mode is on by default for every member. Admins can enforce it for the whole organization at cursor.com/dashboard, so nobody can switch it off. Cursor doesn’t name a default for the individual plans.

So look before you open your first client project.

Cursor’s data use page is pretty upfront about why this matters. With Privacy Mode off, Cursor may store codebase data, prompts, editor actions, and code snippets and use them to train its models.

With Privacy Mode on, Cursor does not train on your code. Its provider ZDR agreements cover supported models and requests, not every form of storage. Assess the model and abuse-monitoring exceptions below, and BYOK separately.

However:

Nothing becomes local. Prompts and the code context they need still go to Cursor and to model providers like OpenAI, Anthropic, and Google. There are also two exceptions worth knowing.

Cursor and other model providers may use risk classifiers to detect violations of their terms and usage policies. If a prompt or conversation triggers an abuse detector, the data may be stored for investigation and deleted according to the providers’ retention policies. Some models also require retention on the provider side, which takes them outside the ZDR agreements. Those models are off by default and need an admin’s approval.

So Privacy Mode controls what happens to your data once it reaches Cursor. What gets there in the first place depends on your project folder.

The current Search docs describe a local Instant Grep index. Cursor says building it uploads neither file paths nor code. When Agent opens a match, its file content can still enter a model request.

A Cursor research article separately describes server-side semantic indexes. A technical indexing article names file uploads, filenames, SHA-256 hashes, code chunks, and cached embeddings (vector representations) in that flow.

The current product docs do not establish that this semantic data flow applies to every current plan and version. These sources give no general deletion period for the index or embedding cache.

3. Keep secrets out of context with .cursorignore

A project .cursorignore is intended to exclude files from Agent, Tab, Inline Edit, and @ context. Cursor does not guarantee full protection; it is not a file-access boundary. The ignore docs describe .gitignore-style patterns. This is a starting point for common secret files.

.env
.env.*
**/credentials.json
**/secrets.json
**/*.pem
**/id_rsa
private-data/

Then add the folders in your project that hold test data, exports, or database dumps. A zipped backup sitting in the repo can contain exactly the client data you removed from the visible code months ago.

Keep production credentials in a secret store that the agent process cannot read. Being outside the project folder alone does not stop terminal access. Restrict inherited credentials and process permissions too.

4. Put the brakes on the terminal and MCP servers

The terminal can read files, run programs, and send data. Find approvals under Cursor Settings > Agents > Execution and Approvals > Run Mode. Current run modes are ‘Auto-review’, ‘Allowlist’, and ‘Run Everything’. ‘Ask Every Time’ is deprecated for new users; an empty Allowlist reproduces approval for every call.

The hardening guide recommends Auto-review with sandboxing. Eligible shell commands may be sandboxed; allowlisted calls and Fetch or MCP tools may run outside it. The classifier runs on Cursor’s backend, can use local read-only file and search tools, and is explicitly not a security boundary.

For client projects, I’d avoid ‘Run Everything’. Check which commands are covered and their file and network permissions. Classifier approval does not demonstrate that no personal data is transmitted.

Cursor Run Mode set to Run Everything Unsandboxed, with a notice that commands run without approval or sandboxing
This capture still has “Run Everything (Unsandboxed)” selected. To follow the sandbox recommendation above, choose “Auto-Review (with Sandbox)”.

For every MCP server and extension, ask where it runs and what data it gets. Your contract with Cursor doesn’t cover third-party tool vendors. To help your team understand what those approvals mean, the EU AI literacy guide is useful for training.

No contract stops a nosy terminal. And no API key of your own gets you around Cursor’s servers either.

5. Don’t count on your own API key

Plenty of people hope that bringing their own key (BYOK) lets them skip Cursor and talk to OpenAI or Anthropic directly. Under Cursor Settings > Models, expand “API Keys”. Find the input field and the switch to use the key for your provider:

Cursor settings for a masked OpenAI API key with Use OpenAI API Key switched off

BYOK changes billing but does not bypass Cursor’s backend. The API key docs say it still builds the final prompt there and does not keep the key on Cursor’s servers after the request. Cursor’s ZDR agreements do not cover BYOK. Assess Cursor’s processing and your provider’s agreement, model, and retention separately.

Data location works much the same way. Cursor’s governance docs let Enterprise customers enroll in US-only residency, which keeps inference, processing, and storage for supported features in the US. For the EU and Iceland, there’s inference-only coverage on request. Cursor says broader EU support is in development.

US residency excludes BYOK, custom model gateways, sign-in through WorkOS, MCP servers, and integrations, among other things. An EU project key from your provider doesn’t move Cursor to Europe.

If you’re using OpenAI models anyway, Codex puts you on a different contract. The Codex privacy guide walks through its switches. Even more data leaves your machine once a Cloud Agent clones your whole repository.

6. Sign off on Cloud Agents separately

A Cloud Agent doesn’t run on your laptop. It runs in a virtual machine in Cursor’s cloud, with your cloned repository, installed dependencies, your secrets, and network access. Cursor’s Cloud Agent security overview shows how long each kind of data stays:

Table in the Cursor docs showing retention for Cloud Agent workspace, VM snapshots, conversations, and secrets

How long Cursor keeps what

Cursor recycles the workspace automatically once a run goes idle. The specific cloud documentation states 90 days from last activity for VM snapshots; each start or resume resets the clock. Conversations are kept indefinitely by default until you delete them. Secrets and tokens stay until you remove them.

The Delete Agent API removes transcripts and artifacts, not snapshots. The Cloud Agent docs say admins of selected Enterprise teams with early access can cap conversation retention at 90 days. For snapshots, the hardening page instead states 30 days of inactivity. Do not rely on the shorter period when approving use; have the rule for your offering confirmed.

What Privacy Mode changes for Cloud Agents

The security overview describes Cloud Agents in Privacy Mode without Cursor training. However, the configuration page also mentions starting runs with Privacy Mode disabled. Check and enforce it before each run; enabling it during a run does not change that run’s mode, according to Cursor. They do not support Legacy Privacy Mode because they must store code and environment data in the cloud during operation.

So Privacy Mode and a stored conversation can exist side by side.

Then there’s the network. Cloud Agents have internet access by default and run terminal commands on their own. In the network settings you can limit outbound traffic to an allowlist, and lock that down for the whole organization if you need to.

With Self-Hosted Machines, file edits, the terminal, and local MCP servers run on a machine you manage. Cursor still runs the agent loop, inference, and planning, though, and file contents, tool output, and artifacts can reach it.

Five questions before you switch them on

Before you enable Cloud Agents for a client project, you should be able to answer these:

  • Which repositories can the Git integration clone?
  • Which test credentials does the environment get, and what data do they unlock?
  • Which external hosts can the agent reach?
  • Who on your team can see conversations and artifacts?
  • When do you delete conversations, and who removes secrets you no longer need?

If you can’t answer them yet, I’d block Cloud Agents for that project and stick with the local agent for now. Only a small test tells you whether your settings actually hold.

7. Test everything with a dummy repository

Create a test project with no real client data. Add one normal sample file and one file with made-up content that’s listed in .cursorignore. That way you see what slips through without risking a real secret. Then work through this order:

  1. Check the account, the organization, Privacy Mode, and the selected model.
  2. Ask the agent what’s in the ignored file, without the terminal.
  3. Ask again with the terminal and every MCP server you plan to allow.
  4. Watch which commands Auto-review runs without asking.
  5. Test Cloud Agents separately, including Git permissions, the allowlist, and deletion.

Write down the setting, the Cursor version, and the result for each point. If the ignored file leaks anywhere, block exactly that feature until you’ve changed it and tested again. Asking the agent nicely in the chat is not a technical boundary.

The steps reduce particular technical risks. Also assess roles, legal basis, the required DPA, individual rights, transfers outside the EEA, and any DPIA requirement. General requirements are in the GDPR section. Assess Cursor’s own terms and approvals separately.

Cursor vs. Claude Code vs. Codex on privacy

If you’re weighing the three big coding agents against each other, this comparison of the key privacy facts helps:

FeatureClaude CodeCodexCursor
DPA from planTeam, Enterprise, APIBusiness, Enterprise, APITeams, Enterprise
No training on business plansExceptions applyby defaultby defaultwith Privacy Mode
No training on individual plansafter opt-outafter opt-outwith Privacy Mode
RetentionBy data and featuresessions usually 30 daysAPI logs up to 30 dayseditor and cloud separate
European optionsLimited scopee.g. AWS or Googleeligible Enterprise, Edu, API configurationinference on request
Key switchHelp improve our AI modelsImprove the model for everyonePrivacy Mode
YesPartialNo

For ChatGPT Edu, OpenAI points to a separate Student Data Privacy Agreement. Assess your institution’s agreement separately.

See my guides to Claude Code and Codex for details. These retention figures describe differently scoped commitments; compare the actual data types and features.

Where I’d start tomorrow

For personal client data processed on instructions, you need a suitable agreement and an assessment of the whole operation. Privacy Mode and limited context are building blocks. Cloud Agents additionally move repository work and stored data to Cursor infrastructure. Assess their permissions, network routes, and deletion separately and after relevant changes.

Open Cursor Settings > General now and check that “Privacy Mode” has the matching option selected. It takes less than a minute, and no other setting changes as much.

Frequently Asked Questions

Cursor and the model providers receive code or other content needed for enabled requests. Privacy Mode prevents training on your code, but does not stop that transfer. Cursor may temporarily cache encrypted file contents. Its provider zero-retention agreements do not mean every Cursor feature has zero retention, so check the specific features and recipients you enable.

No. Privacy Mode prevents training, not all retention. Cursor may temporarily cache encrypted file contents. Cloud Agent transcripts remain indefinitely by default; VM snapshots are automatically deleted after 30 days without activity, and each start or resume from a snapshot extends that expiry by another 30 days. Provider zero-retention agreements do not remove Cursor-side Cloud Agent retention.

Cursor does not say that every use is automatically GDPR-compliant. Teams and Enterprise can enter a DPA. Privacy Mode prevents training on your code, but content still reaches Cursor and the model providers used by enabled features. Check your actual recipients, data flows, contract terms, and any required safeguards for transfers outside the EEA.

Yes, for features that send files to a remote model provider. Cursor routes requests through its servers and may temporarily cache encrypted file contents; Cursor says the keys are on its servers during the request. Its docs describe Instant Grep as a local search index. Cloud Agents, by contrast, clone the repository into an isolated VM. Those VM snapshots are automatically deleted after 30 days without activity. Each time an agent starts or resumes from a snapshot, the 30-day expiry extends. Transcripts remain indefinitely by default until you delete them. Privacy Mode prevents training, not remote processing.

Cursor names providers such as OpenAI, Anthropic, and Google. Check which recipients your model and enabled features use. The current subprocessor list is in the Trust Center at trust.cursor.com/subprocessors. Review it before approval and after relevant changes, not only at contract renewal.

Partly. The Delete Agent API removes an agent’s transcript and artifacts, but not its VM snapshot. You can’t delete snapshots on demand; Cursor deletes them after 30 days without activity, and each start or resume resets that period. Secrets and tokens aren’t removed with the agent, so delete them separately.
FH

Finn Hillebrandt

AI Expert & Blogger

Finn Hillebrandt is the founder of Gradually AI, an SEO and AI expert. He helps online entrepreneurs simplify and automate their processes and marketing with AI. Finn shares his knowledge here on the blog in 50+ articles as well as through the AI Business Club.

Learn more about Finn and the team, follow Finn on LinkedIn, join his Facebook group for ChatGPT, OpenAI & AI Tools or do like 17,500+ others and subscribe to his AI Newsletter with tips, news and offers about AI tools and online business. Also visit his other blog, Blogmojo, which is about WordPress, blogging and SEO.