Sicherheit
Die Sicherheit Ihres Quellcodes und Ihrer Entwicklerumgebung ist uns wichtig. Auf dieser Seite erläutern wir, wie wir Sicherheit bei Cursor handhaben.
Bitte melden Sie potenzielle Schwachstellen per E-Mail an security-reports@cursor.com.
Bei sicherheitsbezogenen Fragen können Sie uns jederzeit unter security@cursor.com kontaktieren.
Auch wenn bereits mehrere große Organisationen Cursor vertrauen, möchten wir darauf hinweisen, dass wir unser Produkt weiterhin ausbauen und unsere Sicherheitsposition laufend verbessern. Wenn Sie in einer hochsensiblen Umgebung arbeiten, sollten Sie bei der Verwendung von Cursor (oder eines anderen KI-Tools) besonders vorsichtig sein. Wir hoffen, dass diese Seite Einblick in unsere Fortschritte gibt und Ihnen hilft, eine fundierte Risikoabwägung vorzunehmen.
Zertifizierungen und Bewertungen durch Dritte
Cursor ist nach SOC 2 Typ II zertifiziert. Bitte besuchen Sie trust.cursor.com, um ein Exemplar des Berichts anzufordern.
Wir verpflichten uns, mindestens einmal jährlich Penetrationstests durch renommierte, unabhängige Drittanbieter durchführen zu lassen. Bitte besuchen Sie trust.cursor.com, um eine Management-Zusammenfassung des neuesten Berichts anzufordern.
Sicherheit der Infrastruktur
Wir sind auf die folgenden Unterauftragsverarbeiter angewiesen, grob von den kritischsten zu den weniger kritischen geordnet. Beachten Sie, dass Code-Daten an unsere Server übertragen werden, um alle KI‑Funktionen von Cursor zu ermöglichen (siehe Abschnitt „AI Requests“), und dass Code-Daten von Nutzern im Datenschutzmodus (Legacy) niemals gespeichert werden (siehe Abschnitt „Privacy Mode Guarantee“).
Erfahren Sie, wie sich die einzelnen Modi darauf auswirken, wie Daten gesendet und gespeichert werden:
- AWS: Our infrastructure is primarily hosted on AWS. Our primary servers are in the US, with some latency critical services in Europe and Singapore.
- Cloudflare: We use Cloudflare as a reverse proxy in front of parts of our API and website in order to improve performance and security.
- Microsoft Azure: Some secondary infrastructure is hosted on Microsoft Azure. All of our Azure servers are in the US.
- Google Cloud Platform (GCP): Some secondary infrastructure is hosted on Google Cloud Platform (GCP). All of our GCP servers are in the US.
- Fireworks: Our custom models are hosted with Fireworks, on servers in the US, Europe, or Japan. We have a zero data retention agreement with Fireworks for users in Privacy Mode and Privacy Mode (Legacy). For Share Data users, Fireworks may temporarily access and store model inputs and outputs to improve our inference performance, for the minimum duration required to perform such tasks, after which it is securely deleted. Fireworks does not reuse the data for any other purpose.
- Baseten: Our custom models are hosted with Baseten, on servers in the US and Canada. We have a zero data retention agreement with Baseten for users in Privacy Mode and Privacy Mode (Legacy). For Share Data users, Baseten may temporarily access and store model inputs and outputs to improve our inference performance, for the minimum duration required to perform such tasks, after which it is securely deleted. Baseten does not reuse the data for any other purpose.
- Together: Our custom models are hosted with Together, on servers in the US. We have a zero data retention agreement with Together for users in Privacy Mode and Privacy Mode (Legacy). For Share Data users, Together may temporarily access and store model inputs and outputs to improve our inference performance, for the minimum duration required to perform such tasks, after which it is securely deleted. Together does not reuse the data for any other purpose.
- OpenAI: We rely on OpenAI's models to provide AI responses. In Privacy Mode and Privacy Mode (Legacy), we have a zero data retention agreement with OpenAI. Additionally, requests may be sent to OpenAI for certain background or summarization tasks with zero data retention, regardless of which model provider you have selected*. For users that created their account after October 15, 2025, in Share Data mode, prompts and limited telemetry may also be shared with OpenAI when directly using their models.
- Anthropic: We rely on many of Anthropic's models to give AI responses. Additionally, requests may be sent to Anthropic for certain background or summarization tasks with zero data retention, regardless of which model provider you have selected*. We have a zero data retention agreement with Anthropic.
- Google Cloud Vertex API: We rely on some Gemini models offered over Google Cloud's Vertex API to give AI responses. Requests may be sent to Google Cloud Vertex API for certain background or summarization tasks with zero data retention, regardless of which model provider you have selected*. We have a zero data retention agreement with Vertex.
- xAI: We rely on some Grok models offered over the xAI API to give AI responses. We have a zero data retention agreement with xAI.
- Turbopuffer: Embeddings of indexed codebases, as well as metadata associated with the embeddings (obfuscated file names), are stored with Turbopuffer on Google Cloud's servers in the US. You can read more on the Turbopuffer security page. Users can disable codebase indexing; read more about it in the Codebase Indexing section of this document.
- Exa: Used for web search functionality. Search requests are potentially derived from code data (e.g., when using "@web" in the chat, a separate language model will look at your message, conversation history and current file to determine what to search for, and Exa/SerpApi will see the resulting search query).
*Cursor respektiert Modell-Blocklisten und sendet keine Anfragen an Modelle auf einer Blockliste.
Kein Teil unserer Infrastruktur befindet sich in China. Wir nutzen kein chinesisches Unternehmen direkt als Unterauftragsverarbeiter, und nach unserem Kenntnisstand tut dies auch keiner unserer Unterauftragsverarbeiter.
Wir vergeben Infrastrukturzugriff für Teammitglieder nach dem Prinzip der geringsten Privilegien. Wir erzwingen Mehrfaktor-Authentifizierung für AWS. Wir beschränken den Zugriff auf Ressourcen sowohl über netzwerkbasierte Kontrollen als auch über Secrets.
Client-Sicherheit
Cursor ist ein Fork des Open-Source-Editors Visual Studio Code (VS Code), der von Microsoft gepflegt wird. Microsoft veröffentlicht Sicherheitshinweise auf seiner GitHub-Sicherheitsseite. Bei jedem zweiten Haupt-Release von VS Code integrieren wir den Upstream-Code aus 'microsoft/vscode' in Cursor. Sie können prüfen, auf welcher VS-Code-Version Ihre Cursor-Version basiert, indem Sie in der App auf „Cursor > About Cursor“ klicken. Wenn es im Upstream-VS-Code einen sicherheitsrelevanten Patch mit hoher Kritikalität gibt, werden wir den Fix noch vor dem nächsten Merge gezielt übernehmen (cherry-picken) und sofort ein Release veröffentlichen.
Unsere App sendet Anfragen an die folgenden Domains, um mit unserem Backend zu kommunizieren. Wenn Sie sich hinter einem Unternehmens-Proxy befinden, setzen Sie diese Domains bitte auf die Allowlist, damit Cursor korrekt funktioniert.
-
'api2.cursor.sh': Wird für die meisten API-Anfragen verwendet. -
'api5.cursor.sh': Wird für Agent-Anfragen von Cursor verwendet. -
'api3.cursor.sh': Wird für Cursor-Tab-Anfragen verwendet (nur HTTP/2). -
'repo42.cursor.sh': Wird für Codebase-Indizierung verwendet (nur HTTP/2). -
'api4.cursor.sh','us-asia.gcpp.cursor.sh','us-eu.gcpp.cursor.sh','us-only.gcpp.cursor.sh': Werden je nach Ihrem Standort für Cursor-Tab-Anfragen verwendet (nur HTTP/2). -
'adminportal42.cursor.sh': Wird zur Konfiguration von SSO und Domain-Verifizierung verwendet. -
'marketplace.cursorapi.com','cursor-cdn.com','downloads.cursor.com','anysphere-binaries.s3.us-east-1.amazonaws.com': Werden für Client-Updates und zum Herunterladen von Erweiterungen aus dem Erweiterungsmarktplatz verwendet.
Zwei sicherheitsrelevante Unterschiede zu VS Code sind zu beachten:
-
Workspace Trust ist in Cursor standardmäßig deaktiviert. Sie können es aktivieren, indem Sie
'security.workspace.trust.enabled'in Ihren Cursor-Einstellungen auf'true'setzen. Es ist standardmäßig deaktiviert, um Verwechslungen zwischen dem „Restricted Mode“ von Workspace Trust und dem „Privacy Mode“ von Cursor zu vermeiden und weil die Vertrauenseigenschaften von Workspace Trust nuanciert und schwer zu verstehen sind (zum Beispiel sind Sie selbst bei aktiviertem Workspace Trust nicht vor bösartigen Erweiterungen geschützt, sondern nur vor bösartigen Ordnern). Wir sind offen für Feedback aus der Community, ob wir es standardmäßig aktivieren sollten. -
Code-Signaturen von Erweiterungen: Cursor überprüft keine Signaturen von Erweiterungen, die aus dem Marketplace heruntergeladen werden. VS Code hat kürzlich damit begonnen. Insbesondere ist die Einstellung
'extensions.verifySignature'in Cursor standardmäßig auf'false'gesetzt, in VS Code hingegen auf'true'. Wenn Sie sie in Cursor auf'true'setzen, sehen Sie jedes Mal ein Pop-up-Fenster, das anzeigt, dass die Signaturüberprüfung fehlgeschlagen ist, wenn Sie versuchen, eine Erweiterung herunterzuladen. Wir hoffen, die Überprüfung von Erweiterungs-Signaturen mittelfristig unterstützen zu können.
KI-Anfragen
Um seine Funktionen bereitzustellen, sendet Cursor KI-Anfragen an unseren Server. Dies geschieht aus verschiedenen Gründen. Zum Beispiel senden wir KI-Anfragen, wenn du Fragen im Chat stellst, wir senden KI-Anfragen bei jedem Tastendruck, damit Cursor Tab dir Vorschläge machen kann, und wir können im Hintergrund auch KI-Anfragen senden, um Kontext aufzubauen oder nach Bugs zu suchen, die wir dir anzeigen.
Eine KI-Anfrage enthält im Allgemeinen Kontext wie deine zuletzt angesehenen Dateien, deinen Gesprächsverlauf und relevante Codeabschnitte basierend auf Language-Server-Informationen. Diese Codedaten werden an unsere Infrastruktur auf AWS gesendet und von dort an den jeweiligen Anbieter für Language-Model-Inferenz (Fireworks/OpenAI/Anthropic/Google). Beachte, dass die Anfragen immer zuerst unsere Infrastruktur auf AWS durchlaufen, selbst wenn du in den Einstellungen deinen eigenen API-Schlüssel für OpenAI konfiguriert hast.
Derzeit können wir aus der Cursor-App nicht direkt zu deiner Unternehmensbereitstellung von OpenAI/Azure/Anthropic routen, da unsere Prompt-Erstellung auf unserem Server erfolgt und unsere benutzerdefinierten Modelle auf Fireworks entscheidend für eine gute User Experience sind. Wir bieten noch keine Option für ein selbst gehostetes Server-Deployment an.
Codebase-Indizierung
Cursor ermöglicht es dir, deine Codebase semantisch zu indizieren. So kann Cursor Fragen im Kontext deines gesamten Codes beantworten und besseren Code schreiben, indem vorhandene Implementierungen herangezogen werden. Die Codebase-Indizierung ist standardmäßig aktiviert, kann aber in den Einstellungen deaktiviert werden.
Unsere Codebase-Indizierungsfunktion arbeitet wie folgt: Wenn sie aktiviert ist, scannt sie den Ordner, den du in Cursor öffnest, und berechnet einen Merkle-Baum aus Hashes aller Dateien. Dateien und Unterverzeichnisse, die von '.gitignore' oder '.cursorignore' angegeben werden, werden ignoriert. Der Merkle-Baum wird dann mit dem Server synchronisiert. Alle 10 Minuten prüfen wir auf Hash-Abweichungen und verwenden den Merkle-Baum, um herauszufinden, welche Dateien sich geändert haben, und laden nur diese hoch.
Auf unserem Server teilen wir die Dateien in Chunks auf und betten sie ein und speichern die Embeddings in Turbopuffer. Um eine Filterung der Vektor-Suchergebnisse nach Dateipfad zu ermöglichen, speichern wir zu jedem Vektor einen verschleierten relativen Dateipfad sowie den Zeilenbereich, dem der Chunk entspricht. Außerdem speichern wir das Embedding in einem Cache in AWS, indiziert über den Hash des Chunks, um sicherzustellen, dass die Indizierung derselben Codebase ein zweites Mal deutlich schneller ist (was besonders für Teams nützlich ist).
Zur Abfragezeit berechnen wir ein Embedding, lassen Turbopuffer die Nearest-Neighbor-Suche durchführen, senden den verschleierten Dateipfad und den Zeilenbereich an den Client zurück und lesen diese Datei-Chunks lokal auf dem Client ein. Anschließend senden wir diese Chunks zurück an den Server, um die Frage des Nutzers zu beantworten. Das bedeutet, dass für Nutzer im Privacy-Mode kein Klartext-Code auf unseren Servern oder in Turbopuffer gespeichert wird.
Einige Hinweise:
-
Um zu verhindern, dass bestimmte Dateien in deiner Codebase an die Server von Cursor gesendet und in KI-Anfragen einbezogen werden, füge deiner Codebase eine
'.cursorignore'-Datei hinzu, die die Dateien und Verzeichnisse auflistet, die ausgeschlossen werden sollen. Cursor unternimmt alle vertretbaren Anstrengungen, um zu verhindern, dass diese Dateien in irgendeiner Anfrage offengelegt werden. -
Details zur Verschleierung von Dateipfaden: Der Pfad wird anhand von
'/'und'.'aufgeteilt, und jedes Segment wird mit einem geheimen Schlüssel, der auf dem Client gespeichert ist, und einem deterministischen kurzen 6-Byte-Nonce verschlüsselt. Dies gibt Informationen über die Verzeichnishierarchie preis und führt zu einigen Nonce-Kollisionen, verbirgt aber den Großteil der Informationen. -
Rückrechnung von Embeddings: Akademische Arbeiten haben gezeigt, dass das Rückrechnen von Embeddings in einigen Fällen möglich ist. Aktuelle Angriffe setzen voraus, dass man Zugriff auf das Modell hat und kurze Strings in große Vektoren einbetten kann, was uns zu der Annahme führt, dass ein solcher Angriff hier eher schwierig wäre. Dennoch ist es definitiv möglich, dass ein Angreifer, der in unsere Vektor-Datenbank eindringt, Informationen über die indizierten Codebases erlangt.
-
Wenn die Codebase-Indizierung in einem Git-Repo aktiviert ist, indizieren wir auch die Git-Historie. Konkret speichern wir Commit-SHAs, Parent-Informationen und verschleierte Dateinamen (wie oben). Um die Datenstruktur für Nutzer im selben Git-Repo und im selben Team gemeinsam nutzbar zu machen, wird der geheime Schlüssel zur Verschleierung der Dateinamen aus Hashes der Inhalte aktueller Commits abgeleitet. Commit-Messages sowie Dateiinhalte oder Diffs werden nicht indiziert.
-
Unsere Indizierungsfunktion ist oft stark ausgelastet, was dazu führen kann, dass viele Anfragen fehlschlagen. Das bedeutet, dass Dateien manchmal mehrfach hochgeladen werden müssen, bevor sie vollständig indiziert sind. Eine Auswirkung davon kann sein, dass du beim Überprüfen des Netzwerkverkehrs zu
'repo42.cursor.sh'mehr genutzte Bandbreite siehst, als du erwartest.
Garantie des Datenschutzmodus
Der Datenschutzmodus kann in den Einstellungen oder von einem Team-Admin aktiviert werden. Wenn er aktiviert ist, garantieren wir, dass Code-Daten niemals von unseren Modellanbietern gespeichert oder zum Training verwendet werden. Der Datenschutzmodus kann von jeder Person aktiviert werden (kostenloser oder Pro-Nutzer) und ist standardmäßig für alle Nutzer, die Mitglied eines Teams sind, zwangsweise aktiviert.
Wir nehmen die Garantie des Datenschutzmodus sehr ernst. Mehr als 50 % aller Cursor-Nutzer haben den Datenschutzmodus aktiviert.
Jede Anfrage an unseren Server enthält einen 'x-ghost-mode'-Header mit einem booleschen Wert, der angibt, ob der Nutzer im Datenschutzmodus ist. Um zu verhindern, dass ein Nutzer im Datenschutzmodus versehentlich wie ein Nutzer ohne Datenschutzmodus behandelt wird, gehen wir standardmäßig immer davon aus, dass ein Nutzer im Datenschutzmodus ist, wenn der Header fehlt.
Alle Anfragen an unseren Server laufen zunächst über einen Proxy, der entscheidet, welcher logische Service die Anfrage bearbeiten soll (z. B. der „Chat-Service“ oder der „Cursor Tab Service“). Jeder logische Service existiert in zwei nahezu identischen Replikas: eine Replica, die Anfragen im Datenschutzmodus verarbeitet, und eine Replica, die Anfragen ohne Datenschutzmodus verarbeitet. Der Proxy prüft den Wert des 'x-ghost-mode'-Headers und sendet die Anfrage an die entsprechende Replica. Die Replikas selbst prüfen den Header zusätzlich zur Redundanz. Standardmäßig sind alle Logfunktionen der Replikas für den Datenschutzmodus No-Ops, es sei denn, sie sind mit einem Suffix wie 'infoUnrestricted' versehen, das wir sorgfältig prüfen, um sicherzustellen, dass dort niemals potenzielle Code-Daten oder Prompts angehängt werden. Für Anfragen, die Hintergrundaufgaben auslösen, haben wir in ähnlicher Weise parallele Queues und Worker-Replikas für den Datenschutzmodus und für Anfragen ohne Datenschutzmodus. Diese parallele Infrastruktur macht uns zuversichtlich in unsere Garantie für den Datenschutzmodus und ihre Widerstandsfähigkeit gegen versehentliche Fehler oder Bugs.
Für die Durchsetzung des Datenschutzmodus auf Teamebene pingt jeder Client alle 5 Minuten den Server, um zu prüfen, ob der Nutzer Mitglied eines Teams ist, das den Datenschutzmodus erzwingt. Falls ja, überschreibt dies die Datenschutzeinstellung des Clients. Um Fälle zu verhindern, in denen der Datenschutzmodus-Ping des Clients aus irgendeinem Grund fehlschlägt, prüft unser Server außerdem im Hot Path, ob der Nutzer Teil eines Teams ist, das den Datenschutzmodus erzwingt, und behandelt in diesem Fall die Anfrage so, als befände sie sich im Datenschutzmodus, selbst wenn der Header etwas anderes aussagt. Bei latenzsensitiven Services cachen wir diesen Wert für 5 Minuten, und bei jedem Cache-Miss gehen wir davon aus, dass der Nutzer im Datenschutzmodus ist. Insgesamt bedeutet dies, dass ein Nutzer, der einem Team beitritt, spätestens 5 Minuten nach dem Beitritt garantiert im Datenschutzmodus ist.
Kontolöschung
Du kannst dein Konto jederzeit im Settings-Dashboard löschen (klicke auf „Advanced“ und dann auf „Delete Account“). Dadurch werden alle Daten gelöscht, die mit deinem Konto verknüpft sind, einschließlich aller indexierten Codebasen. Wir garantieren die vollständige Löschung deiner Daten innerhalb von 30 Tagen (wir löschen die Daten sofort, aber einige unserer Datenbanken und Cloud-Speicher haben Backups von höchstens 30 Tagen).
Es ist wichtig zu beachten, dass, falls Daten von dir für das Training von Modellen verwendet wurden (was nur der Fall sein konnte, wenn du zu diesem Zeitpunkt nicht im Privacy Mode warst), unsere bereits trainierten Modelle nicht sofort neu trainiert werden. Zukünftige Modelle werden jedoch nicht mit deinen Daten trainiert, da diese Daten dann bereits gelöscht wurden.
Meldung von Sicherheitslücken
Wenn Sie glauben, eine Sicherheitslücke in Cursor gefunden zu haben, senden Sie bitte einen Bericht an security-reports@cursor.com.
Wir verpflichten uns, Berichte über Sicherheitslücken innerhalb von 5 Werktagen zu bestätigen und sie so schnell wie möglich zu bearbeiten. Kritische Vorfälle werden per E-Mail allen Nutzerinnen und Nutzern mitgeteilt.