Compartir a través de


¿Se aplica el RGPD a mí?

Importante

Visual Studio App Center está programado para retirarse el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo y las alternativas de soporte técnico.

Información general

El objetivo de esta guía es ayudarle a determinar si y dónde puede haber recopilado información personal sobre los usuarios finales mediante App Center. El documento se divide por el servicio App Center, asignado a escenarios.

Si se aplica uno de estos escenarios y una de las solicitudes de los usuarios para ejercer un derecho del interesado, puede consultar la sección correspondiente para exportar o eliminar los datos del usuario final.

Escenario 1: Estoy asignando los identificadores de instalación a los identificadores de usuario

Los identificadores de instalación no son información personal propia. Sin embargo, pueden ser cuando se asignan a información personal, que se puede usar para identificar a un usuario final.

Una manera común de asignar identificadores es realizar un seguimiento de los usuarios cuando inician sesión en la aplicación, vinculando sus credenciales a su identificador de instalación.

Escenario 2: Analytics: he agregado información personal en eventos personalizados

Si usa Eventos personalizados de Analytics en App Center Analytics, los eventos son un lugar potencial en el que podría haber agregado información personal, entre las que se incluyen:

  • Nombre del evento
  • Clave de propiedad de evento
  • Valor de la propiedad event

Valor de la propiedad event

La información personal se puede introducir a través de los valores de propiedad del evento. Por ejemplo, podría crear un evento denominado "Login" que capture direcciones de correo electrónico en el campo de valor de propiedad.

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

Nombre de evento o clave de propiedad de evento

Estos dos casos son menos probables porque el desarrollador los define estáticamente una vez. Sin embargo, también hay lugares en los que puede haber agregado información personal. Consulte los ejemplos más abajo.

Nombre del evento:

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

Clave de propiedad de 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);

Escenario 3: Bloqueos: he agregado información personal en Bloqueos

Datos adjuntos de bloqueo

Si usa el SDK para transmitir información de bloqueo, es posible que haya agregado los datos del usuario en un archivo adjunto de texto para un bloqueo.

Mensaje de la excepción

Al iniciar una excepción, es posible que haya incluido la información personal de un usuario en el mensaje de excepción.

Anotación

Al escribir una anotación en el portal o a través de la API, es posible que haya escrito la información personal de un usuario en las anotaciones.

Escenario 4: Errores: he agregado información personal en las propiedades de error

Si usa errores de App Center, las propiedades de error son un lugar potencial en el que puede haber agregado información personal.

Valor de la propiedad Error

El escenario más común es tener información personal en el valor de la propiedad Error. Por ejemplo:

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

Clave de propiedad error

Este es un caso menos común porque son estáticos, definidos por el desarrollador una vez.

Información personal en la clave de propiedad de error:

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