Understanding Cursor Privacy Mode and Data Security

Privacy is a top concern when using AI coding assistants. Cursor offers Privacy Mode to ensure your code stays private, but there are nuances to understand about how data is handled, what gets stored, and how to configure maximum privacy. This guide covers everything you need to know about Cursor's privacy and security features.
What is Privacy Mode?
Privacy Mode in Cursor ensures:
- Code is not stored on Cursor's servers (or used for training)
- Conversations are private and not used to improve models
- No telemetry about your coding behavior is collected
- Local processing where possible
Privacy Mode vs Normal Mode
| Feature | Normal Mode | Privacy Mode |
|---|---|---|
| Code stored for context | Yes | No |
| Used for model training | No* | No |
| Telemetry collected | Basic | None |
| Conversation history | Saved locally | Saved locally |
| Cloud sync of settings | Yes | No |
| MCP server calls | Logged | Not logged |
*Cursor does not use your code for training in either mode, but Normal Mode may store context temporarily.
Enabling Privacy Mode
Step 1: Open Settings
- Open Cursor (
Cmd/Ctrl + ,) - Navigate to Privacy or Security
Step 2: Enable Privacy Mode
{
"cursor.privacyMode": true,
"cursor.telemetry.enabled": false,
"cursor.ai.enableCodebaseIndexing": false
}
Step 3: Verify
Check the status bar:
- Normal: Shows regular cursor icon
- Privacy: Shows a lock icon or "Private" indicator
What Data is Stored Where?
Local Storage (Your Machine)
~/.cursor/ # Cursor config
settings.json # Your settings
globalStorage/ # Extension data
workspaceStorage/ # Per-workspace data
~/Library/Application Support/Cursor/ # macOS
%APPDATA%/Cursor/ # Windows
~/.config/Cursor/ # Linux
What Gets Stored Locally
| Data | Normal | Privacy |
|---|---|---|
| Settings | Yes | Yes |
| Extension data | Yes | Yes |
| Chat history | Yes | Yes |
| Search index | Yes | No |
| File cache | Yes | No |
| Telemetry | Yes | No |
Cloud Storage (Cursor Servers)
In Normal Mode, Cursor may store:
- Authentication tokens
- Settings sync data
- Extension marketplace data
In Privacy Mode:
- Nothing is stored on Cursor's servers
Privacy Best Practices
1. Enable Privacy Mode for Sensitive Projects
# Create a workspace-specific privacy config
# .vscode/settings.json (or .cursor/settings.json)
{
"cursor.privacyMode": true,
"cursor.ai.enableCodebaseIndexing": false
}
2. Disable Codebase Indexing
Codebase indexing improves AI context but stores file metadata:
{
"cursor.ai.enableCodebaseIndexing": false,
"cursor.ai.enableEmbeddingsSearch": false
}
3. Use Local-Only Models
For maximum privacy, use local models via Ollama:
{
"cursor.ai.model": "ollama",
"cursor.ai.ollamaUrl": "http://localhost:11434"
}
4. Clear Chat History Regularly
# macOS
rm -rf ~/Library/Application\ Support/Cursor/globalStorage/state.vscdb
# Windows
# Delete %APPDATA%\Cursor\globalStorage\state.vscdb
# Linux
rm -rf ~/.config/Cursor/globalStorage/state.vscdb
5. Disable Telemetry
{
"cursor.telemetry.enabled": false,
"telemetry.telemetryLevel": "off",
"workbench.enableExperiments": false
}
Enterprise Privacy
Admin Controls
For teams using Cursor Business:
// Admin-configured settings (read-only for users)
{
"cursor.privacyMode": true,
"cursor.ai.enableCodebaseIndexing": false,
"cursor.telemetry.enabled": false,
"cursor.ai.allowedModels": ["claude-3-5-sonnet", "gpt-4o"]
}
SOC 2 Compliance
Cursor is SOC 2 Type II certified. In Privacy Mode:
- No code leaves your machine
- No training on your data
- Audit logs available for admins
Data Processing Agreement (DPA)
Enterprise customers can request a DPA that covers:
- Data retention policies
- Deletion procedures
- Subprocessor list
- Security measures
Working with Memories
What are Memories?
Memories are cross-session facts that Cursor remembers:
- Your coding preferences
- Project-specific patterns
- Common mistakes to avoid
Memories and Privacy Mode
Important: Memories require Privacy Mode to be disabled:
Privacy Mode ON → Memories OFF
Privacy Mode OFF → Memories ON
This is because memories are stored on Cursor's servers.
Local Alternatives to Memories
If you need privacy but want persistent context:
- Use AGENTS.md:
# Project Context
## My Preferences
- I prefer async/await over callbacks
- I use TypeScript strict mode
- I prefer functional components in React
## Project Patterns
- Use Zod for validation
- Use React Query for server state
- Use Tailwind for styling
- Use Cursor Rules:
---
description: 'My coding preferences'
globs: ['**/*']
alwaysApply: true
---
# Personal Preferences
- Prefer const over let
- Use destructuring for props
- Add JSDoc for public APIs
Privacy for Specific Features
Composer Privacy
{
"cursor.composer.privacyMode": true,
"cursor.composer.enableCloudProcessing": false
}
Chat Privacy
{
"cursor.chat.privacyMode": true,
"cursor.chat.enableHistory": false
}
MCP Server Privacy
MCP servers may send data to external services:
{
"cursor.mcp.enableExternalServers": false,
"cursor.mcp.allowedServers": ["local-memory", "file-system"]
}
Verifying Privacy
Network Monitoring
# Monitor Cursor network traffic
# macOS
sudo tcpdump -i any port 443 | grep cursor
# Check what domains Cursor connects to
lsof -i | grep Cursor
Check Settings
Run this command to verify privacy settings:
# macOS
cat ~/Library/Application\ Support/Cursor/User/settings.json | grep -E "privacy|telemetry"
# Linux
cat ~/.config/Cursor/User/settings.json | grep -E "privacy|telemetry"
Privacy Audit Checklist
- Privacy Mode enabled in settings
- Telemetry disabled
- Codebase indexing disabled
- Chat history cleared
- No cloud sync enabled
- Using local models (optional)
- MCP servers reviewed
- Extension permissions checked
Common Concerns
"Does Cursor train models on my code?"
No. Cursor does not use your code for training in any mode. In Privacy Mode, your code never leaves your machine.
"Can my employer see my Cursor activity?"
In Privacy Mode, no. In team/enterprise plans, admins may see:
- Subscription usage
- Feature adoption
- (But not code content in Privacy Mode)
"What about autocomplete suggestions?"
Autocomplete uses the current file context only. In Privacy Mode:
- No file content sent to servers
- Uses local processing or local models
"Are my API keys safe?"
Yes, when using Privacy Mode:
- API keys stored locally in settings
- Never sent to Cursor servers
- Use environment variables for extra safety:
# .env
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
// settings.json
{
"cursor.ai.openaiApiKey": "${env:OPENAI_API_KEY}"
}
Quick Privacy Configuration
{
// Maximum privacy settings
"cursor.privacyMode": true,
"cursor.telemetry.enabled": false,
"telemetry.telemetryLevel": "off",
"cursor.ai.enableCodebaseIndexing": false,
"cursor.ai.enableEmbeddingsSearch": false,
"cursor.composer.privacyMode": true,
"cursor.chat.enableHistory": false,
"workbench.enableExperiments": false
}