Condividi tramite


Il GDPR si applica a me?

Importante

Visual Studio App Center è previsto per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate che è possibile considerare la migrazione a.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

Panoramica

L'obiettivo di questa guida è quello di determinare se e dove è possibile raccogliere informazioni personali sugli utenti finali usando App Center. Il documento è diviso in base al servizio App Center, mappato agli scenari.

Se uno di questi scenari si applica e uno degli utenti richiede di esercitare un diritto interessato, è possibile esaminare la sezione corrispondente per esportare o eliminare i dati dell'utente finale.

Scenario 1: mapping degli ID di installazione agli ID utente

Gli ID di installazione non sono informazioni personali personalizzate. Tuttavia, possono essere mappati a informazioni personali, che possono essere usate per identificare un utente finale.

Un modo comune per eseguire il mapping degli ID consiste nel tenere traccia degli utenti quando accedono all'app, collegando le proprie credenziali all'ID di installazione.

Scenario 2: Analisi - Sono state aggiunte informazioni personali negli eventi personalizzati

Se si usano eventi personalizzati di Analytics in App Center Analytics, gli eventi sono un luogo potenziale in cui è possibile aggiungere informazioni personali, tra cui:

  • Nome evento
  • Chiave della proprietà event
  • Valore della proprietà event

Valore della proprietà event

Le informazioni personali possono essere introdotte tramite i valori delle proprietà evento. Ad esempio, è possibile creare un evento denominato "Login" che acquisisce gli indirizzi di posta elettronica nel campo valore della proprietà.

Map<String, String> properties = new HashMap<>();
properties.put("email_address", "blXXX@microsoft.com");
properties.put("phone_number","555-123-XXX");
Analytics.trackEvent("Login", properties);

Chiave della proprietà evento o nome evento

Questi due casi sono meno probabili perché sono statici definiti dallo sviluppatore una volta. Tuttavia, ci sono anche luoghi in cui potresti aver aggiunto informazioni personali. Vedere gli esempi seguenti.

Nome evento:

Analytics.trackEvent("blXXX@microsoft.com", properties);

Chiave della proprietà event:

Map<String, String> properties = new HashMap<>();
properties.put("blXXX@microsoft.com", "microsoft_address");
properties.put("555-123-XXX", "washington_state");

Analytics.trackEvent("Origin", properties);

Scenario 3: Arresti anomali - Sono state aggiunte informazioni personali in Arresti anomali

Allegati anomali

Se si usa l'SDK per trasmettere informazioni sull'arresto anomalo, è possibile che siano stati aggiunti i dati dell'utente in un allegato di testo per un arresto anomalo.

Messaggio dell'eccezione

Quando si genera un'eccezione, è possibile che siano state incluse le informazioni personali di un utente nel messaggio di eccezione.

Annotazione

Quando si scrive un'annotazione nel portale o tramite l'API, è possibile che siano state scritte le informazioni personali di un utente nelle annotazioni.

Scenario 4: errori - Sono state aggiunte informazioni personali nelle proprietà degli errori

Se si usano errori del Centro app, le proprietà degli errori sono un luogo potenziale in cui potrebbero essere state aggiunte informazioni personali.

Valore della proprietà Error

Lo scenario più comune è avere informazioni personali nel valore della proprietà Error. Ad esempio:

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);
}

Chiave della proprietà error

Questo è un caso meno comune perché sono statici, definiti dallo sviluppatore una volta.

Informazioni personali nella chiave della proprietà di errore:

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);
}