メインコンテンツまでスキップ

Cursorのプライバシーモードとデータセキュリティ:知っておくべきこと

独自のコードをAI搭載IDEに貼り付ける前に、そのコードがどこへ向かうのかを知っておく必要があります。このガイドでは、Cursorがデータをどのように扱うか、プライバシーモードが実際に何をするのか、そして機密性の高いプロジェクトのために安全なワークフローを構築する方法を解説します。

デフォルトでCursorがコードをどう扱うか

CursorはVS Codeをフォークし、その上にAI機能を重ねたものです。AIチャット、自動補完、コマンドKでの編集を使うと、コードスニペットがモデルプロバイダー — 主にAnthropicとOpenAI — に送信され、応答が生成されます。

デフォルトでは、Cursorは以下のことを行います:

  • 関連するコードコンテキストをクラウドLLM APIに送信し、チャットと補完を動かす
  • デバッグや製品改善のために一部のメタデータを記録する
  • あなたのコードをモデル訓練に使用しない(ポリシーに明記されています)
備考

Cursorの規約では、ユーザーのコードを訓練に使用しないと述べられています。ただし、コードはサードパーティプロバイダー(Anthropic、OpenAI)に送信されるため、その層のデータ取り扱いポリシーも適用されます。

重要なポイント:デフォルトのCursorは「ローカルのみ」ではありません。APIキー、データベーススキーマ、独自のアルゴリズムを含むファイルを開くと、そのコンテキストがあなたのマシンから離れる可能性があります。

プライバシーモードとは何か、有効化方法

プライバシーモードは、Cursorがデータの機密性への懸念に対して出した答えです。有効にすると、IDEがテレメトリとログをどう扱うかが変わります。

プライバシーモードの有効化方法

Cursorの設定を開き(Ctrl/Cmd + ,)、Privacy Mode を検索します:

Settings > General > Privacy Mode

トグルをオンにします。関連オプションも表示されます:

  • Crash reporting:無効にするとスタックトレースの送信を停止します
  • Usage analytics:無効にすると機能使用データの送信を停止します

Cursor Privacy Mode toggle in settings

プライバシーモードが実際に行うこと

  • Cursorのサーバーに送信されるテレメトリと分析データを無効にする
  • クラッシュレポートにコードスニペットが含まれないようにする
  • 使用状況に関するメタデータの記録量を減らす
警告

プライバシーモードは、コードがLLMプロバイダーに送信されるのを止めません。Cursor自身のテレメトリにのみ影響します。AIチャットにコードに関する質問をすると、そのコードはローカルモデルを使っていない限り、依然としてAnthropicやOpenAIに送信されます。

どのデータがクラウドに送信されるか

データフローを理解することで、情報に基づいた判断ができます。内訳は以下の通りです:

機能送信されるデータ送信先
AIチャット (Cmd+L)選択されたコード + プロンプトAnthropic / OpenAI
Cmd+Kインライン編集周囲のコード + 指示Anthropic / OpenAI
Tab自動補完現在の行 + コンテキストAnthropic / OpenAI
Cursor Tab(予測)ファイルコンテキストCursorのサーバー / プロバイダー
テレメトリ(有効な場合)使用パターン、エラーCursorのサーバー

各リクエストに付随するコンテキストウィンドウには、開いているファイル、近くの行、時にはプロジェクト内の関連ファイルが含まれます。コードベース全体ではありませんが、意味のあるチャンクになることがあります。

ヒント

ハードコードされたシークレットを含むファイルをレビューしている場合は、そのファイルを開く前にAIチャットパネルを閉じるか、ローカルモデルに切り替えてください。Cursorは通常、アクティブなエディタからコンテキストを送信します。

エンタープライズとチームのセキュリティ考慮事項

規制対象データを扱うチームや、厳格なコンプライアンス要件の下で働くチームにとって、デフォルトのセットアップはしばしば不十分です。

チームが知っておくべきこと

  • Cursorは現在、セルフホスト型またはエアギャップ型のエンタープライズ版を提供していません
  • コードスニペットレベルでのAIリクエストの監査ログを取る組み込みのSSOはありません
  • 専用のエンタープライズAIプラットフォームと比較して、データレジデンシーの制御は限定的です

チームのための緩和策

  1. 機密性の高いプロジェクトにはローカルモデルを使用する。設定手順はローカルLLMセットアップガイドを参照してください。
  2. 明確なポリシーを策定する:どのプロジェクトでクラウドAI機能を使えるかを定めます。
  3. .cursorignore ファイルを確認する — 機密ファイルをインデックス化やコンテキスト送信から除外できます。

.cursorignore の例:

# .cursorignore
.env
.env.local
secrets/
config/production.yml
*.key
*.pem
備考

.cursorignore.gitignore と同様の構文を使用しますが、別ファイルです。ここに記載されたファイルは、Cursorのコードベースインデックスから除外され、AIコンテキストウィンドウに引き込まれる可能性も低くなります。

機密性の高いプロジェクトに推奨されるワークフロー

サードパーティAPIに露出できないコードを書いている場合、以下の実用的なワークフローをおすすめします:

  1. 作業の分離:機密性の高いプロジェクトは、AI機能のない別のワークスペースまたはVS Codeウィンドウに置きます。
  2. .cursorignore を積極的に使用する:設定ファイル、テストデータ、PIIを含むものをすべて除外します。
  3. プライバシーモードを有効にする:最低限、テレメトリはオフにします。
  4. そのプロジェクトではローカルモデルを実行する。遅いですが、すべてが自分のマシンの上にあります。
  5. 尋ねる前に監査する:クラウドAIを使う必要がある場合は、手動で必要な非機密スニペットのみを選択し、Cursorにファイル全体からコンテキストを推論させないでください。
警告

プライバシーモードだけにコンプライアンスを依存させないでください。プロンプトを暗号化したり、コードがLLMプロバイダーに到達するのを防いだりはしません。HIPAA、SOC 2などの要件に対しては、クラウドAI機能を外部データ処理者として扱ってください。

Cursor vs GitHub Copilot:プライバシー比較

開発者はしばしばCursorとCopilotをプライバシー面で比較します。比較表は以下の通りです:

側面CursorGitHub Copilot
モデル訓練へのコード使用いいえ(声明されたポリシー)いいえ(声明されたポリシー)
テレメトリ無効化オプションはい(プライバシーモード)はい(github.copilot.advanced 設定)
ローカルモデルサポートはい(OpenAI互換API経由)いいえ
エンタープライズセルフホストオプションいいえいいえ(Copilot Enterpriseはクラウドホスト)
AIリクエストの監査ログ限定的限定的
プロバイダーによるデータ保持Anthropic/OpenAIポリシーに準拠OpenAIポリシーに準拠

どちらのツールも、箱から出してすぐの完全なエアギャップソリューションを提供していません。Cursorの利点はローカルモデルサポートであり、クラウドプロバイダーから完全にオプトアウトできます。Copilotはすべての補完にGitHub/OpenAIインフラストラクチャが必要です。

ヒント

組織が既にAzure OpenAIやエンタープライズAnthropic契約を持ち、カスタムデータ取り扱い条項が含まれている場合は、Cursorがそれらのエンドポイント経由でルーティングできるか確認してみてください。カスタムベースURL設定で可能な場合もあります。

Cursorがプロジェクトについて何を知っているか確認する

Cursorはより良いコンテキストを提供するためにコードベースをインデックス化します。何がインデックス化されているか確認し、管理できます:

  1. コマンドパレットを開く(Ctrl/Cmd + Shift + P
  2. Cursor: Show Indexed Files を検索するか、AIパネルの設定を確認します
  3. ファイルリストを確認し、必要に応じて除外を追加します

ファイルがAIコンテキストに現れるべきでない場合は、.cursorignore に追加してCursorを再起動してください。

まとめ

Cursorは強力なツールですが、そのAI機能は基本的にデフォルトでクラウドに依存しています。プライバシーモードはテレメトリを減らすための良い第一歩ですが、完全なセキュリティソリューションではありません。機密性の高いコードを扱う開発者にとって、実用的な選択肢は以下の通りです:

  • ローカルモデルを使い、能力のトレードオフを受け入れる
  • .cursorignore と手動のコンテキスト制御で露出を制限する
  • 最も機密性の高いプロジェクトは、AI拡張機能のないプレーンなVS Codeインスタンスで管理する

データフローを理解し、ツールを正直に設定し、プロジェクトのリスクレベルに合ったワークフローを構築してください。