Windsurf Security: What Cognition Does With Your Code (2026 Review)

Type windsurf.com into a browser in 2026 and you land on devin.ai/desktop. That 308 redirect is the fastest way to understand Windsurf's security posture right now: the IDE is owned by Cognition, the company behind the Devin agent, and it has been renamed Devin Desktop. Most "is Windsurf safe" write-ups still name the wrong company.

Ownership matters less than one setting, though. Cascade, Windsurf's agent, has a command auto-execution level with a mode that runs terminal commands the instant the model suggests them. That's the thing to check before you worry about anybody's privacy policy.

TL;DR

Windsurf is now Devin Desktop, owned by Cognition since July 2025. The OpenAI acquisition everyone reported never closed. Your code is encrypted in transit and at rest, paid users can opt out of training, and Enterprise data is never trained on without written consent. The bigger security question is local: Cascade's auto-execution level decides whether the agent asks before running terminal commands, and Turbo mode does not ask.

Use with Caution

Who actually owns Windsurf

The ownership story ran through three companies in about ten weeks, which is why so many pages have it wrong.

May 2025

OpenAI reportedly agrees to buy Windsurf for around $3 billion. This is the version most articles still repeat.

July 11, 2025

The OpenAI exclusivity period expires without a close. Google pays a reported $2.4 billion to hire CEO Varun Mohan, co-founder Douglas Chen and a group of researchers into DeepMind, plus a nonexclusive license to some Windsurf technology. Google takes no equity in the company.

July 14, 2025

Cognition announces it has acquired Windsurf's IP, product, trademark and brand, along with the remaining team, an $82M ARR business and 350+ enterprise customers.

2026

Windsurf ships as Devin Desktop. Documentation lives at docs.devin.ai, and windsurf.com redirects there.

For security purposes the practical consequences are narrow but real. Your data processor is Cognition, not Codeium and not OpenAI. If you signed a Codeium enterprise agreement before mid-2025, the counterparty on your DPA has changed and is worth re-confirming. And any policy page you bookmarked under the old domain now resolves somewhere else, so re-read rather than assume.

Codeium the autocomplete extension and Windsurf the IDE were always separate products from the same origin. The company started as Codeium, launched the Windsurf IDE in late 2024, renamed itself Windsurf, and then sold the IDE business to Cognition. If you search "windsurf codeium" expecting two vendors, there's only one lineage.

Cascade agent permissions: the setting that actually bites

Cascade can write files and run terminal commands. How much it does without asking you is a single dropdown, and it's the highest-consequence security setting in the editor.

Devin Desktop offers four command auto-execution levels:

LevelBehaviorReasonable for
DisabledEvery command needs manual approval.Any repo with production credentials
Allowlist OnlyOnly commands matching your allow list run automatically.Most real projects
AutoThe agent judges whether a command is safe. Requires premium models.Sandboxed or throwaway work
TurboEvery command runs immediately, except entries on your deny list.Containers you can destroy

Turbo is the one to think hard about. It's an allow-by-default model: the agent runs whatever it decides to run, and your deny list is the only thing standing in the way. That means your safety depends on having predicted the dangerous command in advance. Nobody's deny list is complete.

Turbo mode plus a repo containing a real .env is a bad combination. A model that decides to "verify the deploy works" can run your deploy command against production, and a model that decides to clean up can run a destructive rm you never listed. Neither requires malice, just a plausible-looking next step.

The lists themselves are ordinary editor settings:

Settings keys
windsurf.cascadeCommandsAllowList   # commands that auto-execute
windsurf.cascadeCommandsDenyList    # commands that always require approval

They match on the command name, so adding git to the allow list permits git add -A, and adding rm to the deny list forces approval on rm index.py. Match granularity is the trap here: git also allows git push --force, and git reset --hard. If you allowlist a command, you allowlist all of its flags.

There's a second path into auto-execution that's easy to miss. Inside a workflow file, a // turbo annotation above a command auto-runs that one command, and // turbo-all anywhere in the file auto-runs everything in it. Both still respect the allow and deny lists. Worth grepping your workflow files for, especially any you copied from a blog post or a teammate.

Teams and Enterprise admins can set a maximum auto-execution level for the whole organization, which caps what individual developers can turn on. Team-wide allow and deny lists apply across all members, and deny entries win when the two conflict. If you manage a team shipping to production, cap it at Allowlist Only and stop relying on everyone reading the docs.

What leaves your machine

When you trigger a completion or send a Cascade message, three things go to inference servers: the file you're editing, related context files the indexer thinks are relevant, and your prompt. Your entire repository is not being continuously uploaded.

The context engine is the part people underestimate. "Related files" is decided by an indexer, not by you, so a credentials file sitting two directories away can be pulled into context for a completion you thought was local in scope.

Ignore files are the control:

.devinignore
# gitignore-style syntax
.env
.env.*
secrets/
infra/terraform.tfvars
**/*credentials*.json

Three filenames work: .devinignore is current, and the legacy .codeiumignore and .windsurfignore are still honored, including together in the same repo. Ignored files aren't indexed and don't count against workspace indexing limits. Files listed in your .gitignore can't be edited by the agent at all, which is a useful second layer but not a substitute, since not being editable isn't the same as not being read.

For an organization, a global .codeiumignore in ~/.codeium/ applies to every Devin Desktop workspace on the machine and stacks with per-repo rules. That's the version to push through your device management tooling rather than hoping each repo has its own.

On retention and training, Cognition's documentation states data is encrypted in transit and at rest, and that it "only retains data processed through Devin for the duration of the relationship with a given Customer, unless otherwise specified." Paid users can opt out of training on the Data Controls settings page. Enterprise customers get the stronger version: Cognition says it "will never train on your data without your express prior written consent." Cognition obtained SOC 2 Type II certification in March 2024.

Read the opt-out as opt-out, not off-by-default. On a paid non-Enterprise plan you have to go turn it off. If you're processing customer data or anything regulated, that's a settings page to visit on day one rather than after the first audit question.

The code Windsurf writes is a separate problem

Vendor policy governs what happens to your code in transit. It says nothing about whether the code is any good, and that's where our scan data lives. In CheckYourVibe scans of apps built primarily with AI IDEs, the recurring issues are:

RiskHow often we see itWhat to do
Hardcoded API keys or secretsHighScan before committing; use environment variables
Missing authentication on routesHighExplicitly prompt for auth, then verify
SQL injection via string interpolationMediumAsk for parameterized queries in the prompt
XSS in user-facing outputMediumReview all output-rendering code
Insecure CORS or CSP configurationMediumAudit headers in any web-facing project

Completions follow the pattern already in your codebase. If the first three routes you accept skip auth checks, the next thirty will too, and the model will be confidently consistent about it. Set the pattern correctly in the early files and the same tendency works for you.

Windsurf vs Cursor vs Copilot

AspectWindsurf (Devin Desktop)CursorCopilot
Owner (2026)CognitionAnysphereGitHub/Microsoft
Training on user codeOpt-out on paid; never on Enterprise without written consentOpt-out availableOpt-out/Business tier
SOC 2 Type IIYes (Cognition, March 2024)YesBusiness/Enterprise
Context exclusions.devinignore, .codeiumignore, .windsurfignore.cursorignoreYes
Org-wide agent permission capYes (Teams/Enterprise)LimitedLimited

Day-one settings

FAQ

Is Windsurf safe to use in 2026?

As a coding tool, yes. Traffic is encrypted in transit and at rest, paid users can opt out of model training, and Enterprise data isn't trained on without written consent. The risk sits in two places you control: Cascade's auto-execution level, which decides whether the agent runs terminal commands without asking, and the security of the code the model produces. Scan the finished app before you ship it.

Who owns Windsurf now?

Cognition, the company behind Devin. It announced the acquisition of Windsurf's IP, product, trademark, brand and team on July 14, 2025. The reported OpenAI deal never closed, and Google separately hired Windsurf's CEO and several researchers into DeepMind under a nonexclusive license days earlier. Windsurf is now called Devin Desktop and windsurf.com redirects to devin.ai/desktop.

Windsurf IDE security: what is the riskiest default?

Cascade's command auto-execution level. Turbo runs every terminal command immediately unless it appears on your deny list, so protection depends entirely on having predicted the dangerous command ahead of time. Allowlist Only inverts that: nothing runs unless you named it. Teams and Enterprise admins can cap the maximum level for everyone in the org.

Does Windsurf send my code to the cloud?

Yes, but not all of it. Completions and Cascade requests send the open file, context files chosen by the indexer, and your prompt. Adding paths to .devinignore keeps them out of indexing and out of the context window. The legacy .codeiumignore and .windsurfignore filenames still work, and enterprises can enforce a global one from ~/.codeium/.

Windsurf privacy: how long is my code retained?

Cognition's documentation says it retains data processed through Devin for the duration of the customer relationship unless otherwise specified, with encryption in transit and at rest. Cognition has held SOC 2 Type II certification since March 2024. For anything regulated, get the current retention terms in writing from your account team rather than relying on a docs page.

Built with Windsurf? Scan before you ship.

CheckYourVibe catches hardcoded secrets, missing auth, and insecure configs in AI-generated code.

Is It Safe?

Windsurf Security: What Cognition Does With Your Code (2026 Review)