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 on June 2, 2026 it was renamed Devin Desktop. Most "is Windsurf safe" write-ups still name the wrong company.
The agent changed too, and that matters more than the name. New conversations no longer start on Cascade. They start on Devin Local, which throws out Cascade's auto-execution levels and uses allow, ask and deny rules instead. If your security notes say "set Cascade to Allowlist Only", they're describing a setting the default agent doesn't read.
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: the default agent is now Devin Local, which reads any file without asking (including .env) unless you deny it, and whose Bypass mode approves everything. Stay in Normal mode and write deny rules for your secrets.
Who actually owns Windsurf
The ownership story ran through three companies in about ten weeks, which is why so many pages have it wrong.
OpenAI reportedly agrees to buy Windsurf for around $3 billion. This is the version most articles still repeat.
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.
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.
Windsurf becomes Devin Desktop. Documentation moves to docs.devin.ai, windsurf.com redirects to devin.ai/desktop, and Devin Local replaces Cascade as the default agent for new conversations.
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.
Devin Local permissions: the setting that actually bites
Devin Local can read files, write files, run shell commands, fetch URLs and call MCP tools. How much of that happens without asking you is the highest-consequence security setting in the editor, and it's not the dropdown it used to be.
Devin Local shares its harness with Devin CLI, so it uses the CLI's permission modes. Cognition's permissions reference lists what each one approves on its own:
| Mode | File reads | Workspace edits | Shell commands and fetches |
|---|---|---|---|
| Normal (default) | Auto | Prompt | Prompt |
| Accept Edits | Auto | Auto | Prompt |
| Smart | Auto | Auto | Auto when a fast model judges them safe |
| Bypass | Auto | Auto | Auto |
Two rows deserve a second look. Bypass approves every tool call with no prompt and no sandbox, so it's the old Turbo with fewer guardrails. And the File reads column says Auto everywhere. In the default mode the agent can open the .env or a private key sitting in your workspace without asking first. Writes prompt; reads don't. (By default it stays inside the workspace, so files elsewhere on your machine aren't in reach.)
Smart mode is gentler than it sounds. Cognition says installs, rm, sudo and mutating git commands always prompt in Smart, whatever the model thinks. It's also still rolling out, so you may not see it yet.
The fix for the read problem is a deny rule. Rules resolve deny first, then ask, then allow, and a deny always wins:
{
"permissions": {
"deny": [
"Read(.env*)",
"Read(**/*.pem)",
"Write(.env*)",
"Exec(rm -rf)",
"Exec(sudo)"
]
}
}
A project config at .devin/config.json is checked into the repo, so the rules travel with it. Your personal overrides go in .devin/config.local.json, which stays out of git.
Bypass 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 anticipated. Neither requires malice, just a plausible-looking next step.
There's a better option than both if you want unattended runs. With the OS-level sandbox on, the agent switches to Autonomous mode: shell commands auto-run, but the sandbox limits which paths they can write and which domains they can reach. Enterprise admins can require the sandbox for everyone.
MCP got stricter too. Unlike Cascade, Devin Local asks before calling any MCP tool by default, and you can allow a single tool or a whole server once you trust it.
If you're still on Cascade
Existing Cascade conversations stay available, and Cognition's FAQ said the Cascade agent would remain available "through July". If you or a teammate still runs it, its four command auto-execution levels still apply:
| Level | Behavior |
|---|---|
| Disabled | Every command needs manual approval. |
| Allowlist Only | Only commands matching your allow list run automatically. |
| Auto | The agent judges whether a command is safe. Requires premium models. |
| Turbo | Every command runs immediately, except entries on your deny list. |
Turbo is allow-by-default, so your safety depends on having predicted the dangerous command in advance. The allow and deny lists match on the command name, which means allowlisting git also allows git push --force and git reset --hard. Inside a workflow file, a // turbo annotation auto-runs one command and // turbo-all auto-runs everything in it, so grep any workflows you copied from a blog post.
For Teams and Enterprise admins: the old org-wide cap on auto-execution level and the team allow and deny lists are still enforced on Devin Local as a fallback, but only until you set an organization permission policy for it. Write that policy. Organization-level deny and ask rules stay active whatever mode a developer picks, and an admin can switch Cascade off entirely so nobody drifts back to it.
What leaves your machine
When you trigger a completion or send the agent a 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:
# 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 read alongside it. Cognition's docs say paths in .devinignore are excluded from indexing and "cannot be viewed, edited, or created by Devin." Files listed in your .gitignore aren't indexed and can't be edited by the agent, which is a useful second layer but not a substitute, since not being editable isn't the same as not being read. Belt and braces: list secrets in .devinignore and in a Read(...) deny rule.
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." The default is the part to notice: "By default, we may use your data for model training purposes." Paid users can opt out on the Data Controls settings page, and opting out also turns on Zero Data Retention with Cognition's model providers. On the Teams plan only an administrator can flip it. Enterprise customers get the stronger version: Cognition says it "will never train on your data without your express prior written consent." Its security page says it has been SOC 2 Type II certified since September 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, and on Teams you need your admin to do it. 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:
| Risk | How often we see it | What to do |
|---|---|---|
| Hardcoded API keys or secrets | High | Scan before committing; use environment variables |
| Missing authentication on routes | High | Explicitly prompt for auth, then verify |
| SQL injection via string interpolation | Medium | Ask for parameterized queries in the prompt |
| XSS in user-facing output | Medium | Review all output-rendering code |
| Insecure CORS or CSP configuration | Medium | Audit 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
| Aspect | Windsurf (Devin Desktop) | Cursor | Copilot |
|---|---|---|---|
| Owner (2026) | Cognition | Anysphere | GitHub/Microsoft |
| Training on user code | Opt-out on paid; never on Enterprise without written consent | Opt-out available | Opt-out/Business tier |
| SOC 2 Type II | Yes (Cognition, since September 2024) | Yes | Business/Enterprise |
| Context exclusions | .devinignore, .codeiumignore, .windsurfignore | .cursorignore | Yes |
| Org-wide agent permission rules | Yes (org deny/ask rules, sandbox enforcement) | Limited | Limited |
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: the agent's permission mode, which decides whether it reads files and 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 was renamed Devin Desktop on June 2, 2026, and windsurf.com redirects to devin.ai/desktop.
Windsurf IDE security: what is the riskiest setting?
On Devin Local, the default agent for new conversations, it's Bypass mode, which approves every tool call without a prompt. Even in the default Normal mode, file reads are auto-approved, so add Read(.env*) deny rules. On legacy Cascade, it's Turbo auto-execution, which runs every command not on your deny list. Enterprise admins can set org-level deny and ask rules that no user mode overrides.
Does Windsurf send my code to the cloud?
Yes, but not all of it. Completions and agent 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 says it has held SOC 2 Type II certification since September 2024. Training on your data is on by default unless you opt out on a paid plan. 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.