重要
Visual Studio App Center は、2026 年 6 月 30 日まで引き続きサポートされる分析機能と診断機能を除き、2025 年 3 月 31 日に廃止されました。 詳細を参照してください。
概要
このガイドの目的は、App Center を使用してエンド ユーザーに関する個人情報を収集したかどうか、および収集した可能性があるかどうかを判断することです。 ドキュメントは App Center サービスで分割され、シナリオにマップされます。
これらのシナリオのいずれかが適用され、いずれかのユーザーがデータ主体の権利の行使を要求している場合は、対応するセクションを参照して、エンド ユーザー データをエクスポートまたは削除できます。
シナリオ 1: インストール ID をユーザー ID にマッピングする
インストール ID は個人の個人情報ではありません。 ただし、エンド ユーザーを識別するために使用できる個人情報にマップされている場合もあります。
ID をマップする一般的な方法は、ユーザーがアプリにログインしたときにユーザーを追跡し、資格情報をインストール ID にリンクすることです。
シナリオ 2: 分析 - カスタム イベントに個人情報を追加しました
App Center Analytics で Analytics カスタム イベント を使用している場合、イベントは、次のような個人情報を追加できる可能性のある場所です。
- イベント名
- イベント プロパティ キー
- イベント プロパティの値
イベント プロパティの値
個人情報は、イベント プロパティ値を使用して導入できます。 たとえば、プロパティ値フィールドのメール アドレスをキャプチャする "Login" というイベントを作成できます。
Map<String, String> properties = new HashMap<>();
properties.put("email_address", "blXXX@microsoft.com");
properties.put("phone_number","555-123-XXX");
Analytics.trackEvent("Login", properties);
イベント名またはイベント プロパティ キー
これら 2 つのケースは、開発者によって 1 回静的に定義されるため、あまり可能性が低くなります。 ただし、個人情報を追加した可能性がある場所もあります。 次の例を参照してください。
イベント名:
Analytics.trackEvent("blXXX@microsoft.com", properties);
イベント プロパティ キー:
Map<String, String> properties = new HashMap<>();
properties.put("blXXX@microsoft.com", "microsoft_address");
properties.put("555-123-XXX", "washington_state");
Analytics.trackEvent("Origin", properties);
シナリオ 3: クラッシュ - クラッシュに個人情報を追加しました
クラッシュ添付ファイル
SDK を使用してクラッシュ情報を送信する場合は、クラッシュのためにユーザーのデータをテキスト添付ファイルに追加している可能性があります。
例外メッセージ
例外をスローすると、例外メッセージにユーザーの個人情報が含まれている可能性があります。
注釈
ポータルまたは API を使用して注釈を記述するときに、ユーザーの個人情報を注釈に記述している可能性があります。
シナリオ 4: エラー - エラー プロパティに個人情報を追加しました
App Center エラーを使用している場合、エラー プロパティは個人情報を追加した可能性のある場所です。
エラー プロパティの値
最も一般的なシナリオは、エラー プロパティ値に個人情報が含まれる場合です。 例えば次が挙げられます。
try
{
// your code here.
}
catch (Exception exception)
{
var properties = new Dictionary<string, string>
{
{ "email_address", "blXXX@microsoft.com"},
{ "phone_number", "555-123-XXX"}
};
Crashes.TrackError(exception, properties);
}
エラープロパティキー
これは、開発者が 1 回定義した静的であるため、あまり一般的ではありません。
エラー プロパティ キーの個人情報:
try
{
// your code here.
}
catch (Exception exception)
{
var properties = new Dictionary<string, string>
{
{ "blXXX@microsoft.com", "@microsoft.com" },
{ "555-123-XXX", "Washington number" }
};
Crashes.TrackError(exception, properties);
}