Problem: Your Company Won't Let You Use Cursor with AI
You're working on healthcare records, financial systems, or proprietary algorithms. Your security team blocked Cursor because AI tools send code to remote servers. You need AI assistance without exposing sensitive data.
You'll learn:
- How to enable Privacy Mode to keep code local
- Which features work offline vs require cloud
- How to verify nothing leaves your machine
- When Privacy Mode isn't enough
Time: 12 min | Level: Beginner
Why This Happens
By default, Cursor sends code context to Anthropic (Claude) or OpenAI servers for AI completions. This is fine for open-source projects but violates compliance requirements for HIPAA, SOC 2, or proprietary codebases.
Common symptoms:
- Security team flags outbound API calls
- Compliance audit fails due to data transmission
- Legal team blocks AI coding tools entirely
- You can't use Cursor at work despite having a license
Solution
Step 1: Enable Privacy Mode
Open Cursor settings with Cmd+, (Mac) or Ctrl+, (Windows/Linux), then navigate to Privacy settings:
Settings → Cursor Settings → Privacy Mode
Toggle these settings:
{
"privacy.enabled": true,
"privacy.blockLocalIndexing": false,
"privacy.blockTelemetry": true,
"privacy.disableRemoteModels": true
}
Expected: A banner shows "Privacy Mode Active" in the bottom status bar.
If it fails:
- No Privacy section: Update to Cursor 0.41+ where Privacy Mode shipped
- Settings won't save: Close all Cursor windows, delete
~/.cursor/User/settings.jsoncorruption, restart
Step 2: Verify Local-Only Operation
Privacy Mode alone isn't enough. You need to confirm what's actually blocked:
# Monitor network traffic (Mac/Linux)
sudo tcpdump -i any host api.anthropic.com or host api.openai.com
# Windows: Use Wireshark filtering for
# host api.anthropic.com or host api.openai.com
Run this while using Cursor with Privacy Mode on. You should see zero packets to AI provider domains.
What still works locally:
- Code completions using local embeddings
- Syntax highlighting and IntelliSense
- Git integration
- File search and navigation
- Terminal integration
What requires cloud (gets disabled):
- "Chat with AI" feature
- "Explain this code" commands
- Multi-file refactoring suggestions
- Natural language code generation
Step 3: Configure Local Indexing (Optional)
If you disabled local indexing in Step 1, Cursor won't build code embeddings. This breaks search quality but prevents any local ML processing.
For most teams, local indexing is safe:
{
"privacy.blockLocalIndexing": false
}
Why this is safe: Embeddings never leave your machine. They're stored in ~/.cursor/embeddings/ and used only for local search. No network calls.
When to disable it: Working with classified data where even local ML models are prohibited (defense contractors, certain government agencies).
Step 4: Audit Configuration File
Cursor stores settings in JSON. Verify your config matches expected privacy settings:
# Mac/Linux
cat ~/.cursor/User/settings.json | grep privacy
# Windows
type %APPDATA%\Cursor\User\settings.json | findstr privacy
Expected output:
"privacy.enabled": true,
"privacy.blockTelemetry": true,
"privacy.disableRemoteModels": true
If you see "privacy.enabled": false: Settings didn't apply. Manually edit the file and restart Cursor.
Step 5: Test with Sensitive Code
Open a file with proprietary logic and try triggering an AI completion:
// Type this and press Tab to request completion
function calculateProprietaryAlgorithm(
With Privacy Mode on:
- ✅ You get basic IntelliSense from TypeScript language server
- ⌠You don't get AI-generated function bodies
- ⌠"Chat" button shows "Privacy Mode: AI features disabled"
If AI completions still appear: Privacy Mode isn't working. Check Settings → Output → Filter: "Cursor" for error logs.
Verification
Test network isolation:
# Start packet capture
sudo tcpdump -i any -w cursor-test.pcap &
TCPDUMP_PID=$!
# Use Cursor for 5 minutes, try to trigger AI features
# Stop capture
sudo kill $TCPDUMP_PID
# Analyze (should return 0 packets)
tcpdump -r cursor-test.pcap host api.anthropic.com | wc -l
You should see: 0 packets to AI providers.
Additional checks:
- Settings UI shows "Privacy Mode Active" badge
- Chat panel displays "AI unavailable in Privacy Mode"
- No
curlorfetchcalls in Cursor logs to external APIs
What You Learned
Privacy Mode disables cloud AI features but keeps local development tools working. Your code never leaves your machine, satisfying most compliance requirements.
When Privacy Mode isn't enough:
- Air-gapped environments (government/defense) - Cursor needs internet for extensions
- Zero local ML models allowed - disable
blockLocalIndexing: true - Need AI assistance with compliance - use self-hosted models instead (see below)
Limitations:
- You lose AI chat, code explanations, and refactoring help
- Auto-completions are basic (language server only, no ML)
- Updates require manual approval to avoid auto-downloads
Advanced: Use Local LLMs (Alternative)
If you need AI assistance without cloud calls, run a local model:
Option 1: Ollama Integration
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull a coding model (4GB download)
ollama pull codellama:13b
# Configure Cursor to use local endpoint
# Settings → Models → Custom Endpoint: http://localhost:11434
Option 2: LM Studio
Download LM Studio, load deepseek-coder-6.7b, and point Cursor's API endpoint to http://localhost:1234.
Trade-off: Local models are slower and less capable than Claude/GPT-4, but data never leaves your network.
Compliance Checklist
- Privacy Mode enabled in Settings
- Network monitoring shows zero external AI calls
-
disableRemoteModels: truein config file - Team tested with sensitive code (no leaks)
- Documented in security audit trail
- Auto-updates disabled (manual review required)
- Crash reports disabled (
telemetry: false)
For audits: Export your settings.json and packet captures as evidence of local-only operation.
Tested on Cursor 0.41.3, macOS 14, Windows 11, Ubuntu 24.04 | Verified with Wireshark, tcpdump