Cursor
How Your Code Is Stored
When indexing is enabled Cursor uploads your codebase to their servers to compute embeddings. After computing the plaintext code into embeddings the original plaintext code is discarded but embeddings and metadata such as filenames and hashes may be stored on Cursors servers.Â
Â
Credentials
While it is best practice to not commit credential files and to exclude them using the .cursorignore file, there may be occasions where during testing cursor may gain access to these secrets via command line tests. If so, code and embeddings of such credentials will be passed on to Cursors’ servers. According to Cursor, if “Privacy Mode” is enabled plaintext code is not stored on Cursor’s servers, only metadata and embeddings.Â
Â
Chat History
How conversation history is managed isn’t clearly disclosed by Cursor. It is known that conversations or chat history are likely stored on Cursors servers, but privacy mode claims to reduce or eliminate storage of code or conversation history. However embeddings and metadata may persist.
Â
LLM Processing
Cursor uses a combination of custom LLM models with common third party LLM’s such as OpenAI and Anthropic.Â
Custom models are hosted on Cursor’s infrastructure while third party LLM’s are hosted by the model providers themselves. Users have the option to select a different third party LLM within the Cursor interface, however some processing via custom LLM’s still takes place on Cursors privately hosted infrastructure.Â
Customers who opt for enterprise options of OpenAI and Anthropic will still have parts of their code processed by Cursor’s custom AI models.
Â
Summary
In summary, even with privacy options code is processed and may be retained by Cursor.
Â
Â
WindsurfÂ
Â
How Your Code Is Stored
Windsurf provides multiple options that offer varying methods for managing context storage, specifically cloud and enterprise options.
With Windsurfs cloud options, embeddings derived from plaintext code is stored on their cloud servers. For enterprise options, code and embeddings are stored on the customers tenant and code snippets and embeddings are under the customers control.Â
Â
Credentials
Secrets could be temporarily processed and saved in the customers data plane depending on where this resides – cloud or on premise. Even when secrets are explicitly excluded or filtered, they could still be temporarily processed. In self-hosted options this would remain within the customers environment.Â
Â
Chat History
Windsurf keeps a history of conversations, the location of where this is kept depends on the deployment option. Conversation history and other persistent information may be supplied as context to the large language model during processing.Â
Â
LLM Processing
In Windsurfs cloud option LLM processing is handled on Windsurfs cloud infrastructure as well as third party model providers such as OpenAI and Anthropic. With self-hosted options LLM inferencing is accomplished via a combination of self-hosted models as well as predefined third-party models.Â
Â
Summary
Windsurf has options to provide full data residency and control with self-hosted processing nodes, however some options that give customers greater control have recently been put into “maintenance mode” .
Â
GitHub CopilotÂ
Â
How Your Code Is Stored
All of the relevant code snippets are transmitted to GitHub’s Microsoft servers in plain text for inference. For customers on GitHub Copilot Business some refinements can be made as to where the data is stored however the same data is transmitted to Microsoft servers.Â
Â
Credentials
If credentials or secret files are opened or included in the context, they will be sent to Microsoft’s servers. Exclusions can be put in place to control which files Copilot has access to however there are risks of secret leaks if the credentials appear in other locations such as the conversation history.Â
Â
Chat History
Chat history is always sent to Microsoft servers as context, however for customers on GitHub Copilot for Business plan, suggestions are not retained after suggestions are delivered in real‑time, furthermore prompts are processed in real time and are not retained as well.Â
Â
LLM Processing
LLM processing is done exclusively in Microsoft’s servers, users on GitHub Copilot’s Business Plan have some control via policies of how this information can be used by Microsoft as well as what features are to be enabled. There is no option at the moment to use third party external LLM’s or self-hosted models.
Summary
GitHub Copilot processes your code and data exclusively on Microsofts servers with no option for integrating with external third party LLM’s.
Â
Known Unknowns, Security Gaps, and Risks
Â
Ambiguous Policies
Oftentimes customers are left to sift through ambiguous policies, furthermore necessary information may not always be present or provided transparently.
Even with “privacy mode” or zero data retention policies, it may not be entirely clear what data is stored where given the myriad of data elements and data processing involved in AI assisted development.
Â
Conversation History
An area that is often overlooked is vector embeddings of code and conversation history that often must be stored or at least temporarily held for retrieval. Conversation history may eventually contain sensitive information such as secrets and credentials which may inadvertently be sent to an external LLM for processing.Â
Â
Secrets & Credentials
Credentials or secrets in stored in files such as the. .env file may require users to exclude them. If not excluded, they may be unintentionally exposed.
Â
Model Training on Your Code
For many tools, if privacy mode is turned on and there is a commitment that data will not to be used for training or stored indefinitely, it is hard to ascertain the level of guarantee, furthermore such guarantees are offered only under certain plans; lower tiers or default settings often opt you in.
Â
Data Residency
Many tools default to US / global cloud providers, or use sub processors, potentially in multiple jurisdictions; this can create compliance issues under local privacy laws.
| Â |
Windsurf |
Cursor |
GitHub Copilot |
| Where Code Is Stored | GCP (their servers) / sub processors; zero-retention mode for enterprise. | Stored on Cursor’s vector DB, “privacy mode” avoids longterm training useage. | On GitHub / Microsoft servers; context for inference is sent there; policies determine retention. |
| Credential / Secret Files Access | If opened / context; protections depend on ignoring/excluding; zero-retention helps reduce risk. | If included in indexed files, may be sent to LLM; exclusions and “privacy mode” reduce risk. | If in the context sent; can be excluded; offer multiple policies. |
| Chat History | Stored temporarily per session; may be stored in logs depending on plan; privacy mode reduces retention. | Chat conversation history stored temporarily; retention depends on plan. | Prompts / suggestions generally processed in real time; for Business plan, not retained. Some metadata retained for metrics. |
| Model Location / Privacy Options | In the cloud; offers enterprise / hybrid / self-hosted in some cases for Windsurf. | Mix of Cursor’s own custom models and Third Party LLM’s both of which may store and train on data. Offers flexible selection of third party LLM’s | Azure / Microsoft cloud; no broad local instance by default; enterprise plans allow more policy control. No ability to use third party external LLM. |
| Data Residency & Jurisdiction | Data centres in GCP; unspecified whether you can force location in all plans; enterprise/hybrid options provides full control. | AWS US regions mostly, some EU/Asia for latency; not always possible to force full residency. | Microsoft has global cloud footprint; for enterprise, they may have more options; but local model local region usage etc depends on plan. |
Â
Conclusion & Summary
Vibe Coding is rapidly gaining traction for its powerful productivity boost, helping developers write code faster and smarter by leveraging AI-driven insights. However, adopting these technologies comes with complex data security challenges that enterprises must carefully navigate.Â
Understanding where and how sensitive data like code context, credentials, chat history, and model inference are stored and processed is crucial to avoid inadvertent exposure or compliance risks.Â
Enterprises should approach Vibe Coding solutions cautiously, demanding full transparency from vendors about data handling, storage locations, retention policies, and model usage.Â
Given the fast-evolving nature of this space, organizations must secure strong contractual guarantees to protect their data sovereignty and privacy, as vendor policies can change abruptly. Only through rigorous scrutiny and proactive governance can businesses confidently harness Vibe Coding’s benefits without compromising security.
Â
References
[1] Cursor Security & Privacy https://forum.cursor.com/t/concerns-about-privacy-mode-and-data-storage/5418
[2] Windsurf Security https://windsurf.com/security
[3] GitHub Copilot https://github.com/orgs/community/discussions/70214