O GDPR se aplica a mim?

Importante

O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar migrar.

Saiba mais sobre linhas do tempo e alternativas de suporte.

Visão geral

O objetivo deste guia é ajudá-lo a determinar se e onde você pode ter coletado informações pessoais sobre seus usuários finais usando o App Center. O documento é dividido pelo serviço do App Center, mapeado para cenários.

Se um desses cenários se aplicar e um de seus usuários solicitar o exercício de um Direito do Titular dos Dados, você poderá examinar a seção correspondente para exportar ou excluir seus dados do usuário final.

Cenário 1: estou mapeando as IDs de instalação para IDs de usuário

As IDs de instalação não são informações pessoais por conta própria. No entanto, eles podem ser quando mapeados para informações pessoais, que podem ser usadas para identificar um usuário final.

Uma maneira comum de mapear IDs é rastrear os usuários quando eles fazem logon em seu aplicativo, vinculando suas credenciais à ID de instalação.

Cenário 2: Análise – Adicionei informações pessoais em eventos personalizados

Se você estiver usando Eventos Personalizados de Análise na Análise do App Center, os eventos serão um local em potencial em que você poderia ter adicionado informações pessoais, incluindo:

  • Nome do evento
  • Chave de propriedade do evento
  • Valor da propriedade Event

Valor da propriedade Event

Informações pessoais podem ser introduzidas por meio de valores de propriedade de evento. Por exemplo, você pode criar um evento chamado "Logon" que captura endereços de email no campo valor da propriedade.

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

Nome do evento ou chave de propriedade do evento

Esses dois casos são menos prováveis porque são definidos estaticamente pelo desenvolvedor uma vez. No entanto, também há lugares em que você pode ter adicionado informações pessoais. Confira os exemplos abaixo.

Nome do evento:

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

Chave de propriedade do evento:

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

Analytics.trackEvent("Origin", properties);

Cenário 3: Falhas – Adicionei informações pessoais em Falhas

Anexos de Falha

Se você usar o SDK para transmitir informações de falha, talvez tenha adicionado os dados do usuário em um anexo de texto para uma falha.

Mensagem de exceção

Ao lançar uma exceção, você pode ter incluído as informações pessoais de um usuário na mensagem de exceção.

Annotation

Ao escrever uma anotação no portal ou por meio da API, você pode ter escrito as informações pessoais de um usuário em anotações.

Cenário 4: Erros – Adicionei informações pessoais em propriedades de erro

Se você estiver usando Erros do App Center, as propriedades de erro serão um local em potencial em que você pode ter adicionado informações pessoais.

Valor da propriedade Error

O cenário mais comum é ter informações pessoais no valor da propriedade Error. Por exemplo:

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

Chave de propriedade de erro

Esse é um caso menos comum porque eles são estáticos, definidos pelo desenvolvedor uma vez.

Informações pessoais na chave de propriedade de erro:

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