Administrador de la recopilación de datos
Aprende a gestionar la recopilación de datos para el SDK de Braze, de modo que puedas cumplir cualquier normativa sobre privacidad de datos que sea necesaria.
Cuestionario de privacidad de Google Play
A partir de abril de 2022, los desarrolladores de Android deberán cumplimentar el formulario de seguridad de datos de Google Play para revelar las prácticas de privacidad y seguridad. Esta guía proporciona instrucciones sobre cómo rellenar este nuevo formulario con información sobre cómo gestiona Braze los datos de tu aplicación.
Como desarrollador de la aplicación, tú controlas qué datos envías a Braze. Los datos recibidos por Braze se procesan de acuerdo con tus instrucciones. Esto es lo que Google clasifica como proveedor de servicios.
Este artículo proporciona información sobre los datos que procesa el SDK de Braze en relación con el cuestionario de la sección de seguridad de Google. Este artículo no proporciona asesoramiento jurídico, por lo que te recomendamos que consultes con tu equipo jurídico antes de enviar cualquier información a Google.
Preguntas
Preguntas | Respuestas para Braze SDK |
---|---|
¿Recoge o comparte tu aplicación alguno de los tipos de datos de usuario requeridos? | Sí, el SDK para Android de Braze recopila datos según lo configure el desarrollador de la aplicación. |
¿Todos los datos de usuario recogidos por tu aplicación están encriptados en tránsito? | Sí. |
¿Proporcionas alguna forma de que los usuarios puedan solicitar que se eliminen sus datos? | Sí. |
Para obtener más información sobre la gestión de las solicitudes de los usuarios sobre sus datos y su eliminación, consulta la Información sobre la retención de datos de Braze.
Recopilación de datos
Los datos recopilados por Braze vienen determinados por tu integración específica y los datos de usuario que elijas recopilar. Para saber más sobre qué datos recopila Braze por defecto y cómo desactivar determinados atributos, consulta nuestras opciones de recopilación de datos del SDK.
Categoría | Tipo de datos | Uso de Braze |
---|---|---|
Ubicación | Ubicación aproximada | No se recopila de manera predeterminada. |
Ubicación precisa | ||
Información personal | Apellidos | |
Dirección de correo electrónico | ||
ID de usuario | ||
Dirección | ||
Número de teléfono | ||
Raza y etnia | ||
Creencias políticas o religiosas | ||
Orientación sexual | ||
Otros datos | ||
Información financiera | Información de pago del usuario | |
Historial de compras | ||
Puntuación crediticia | ||
Otros datos financieros | ||
Salud y forma física | Información de salud | No se recopila de manera predeterminada. |
Información de acondicionamiento físico | ||
Mensajes | Correos electrónicos | No se recopila de manera predeterminada. |
SMS o MMS | ||
Otros mensajes dentro de la aplicación | Si envías mensajes dentro de la aplicación o notificaciones push a través de Braze, recopilamos información sobre cuándo los usuarios han abierto o leído estos mensajes. | |
Fotos y videos | Fotos | No recopilada. |
Videos | ||
Archivos de audio | Grabaciones de voz o sonido | |
Archivos de música | ||
Otros archivos de audio | ||
Archivos y documentos | Archivos y documentos | |
Calendario | Eventos del calendario | |
Contactos | Contactos | |
Actividad de la aplicación | Interacciones de la aplicación | Braze recopila datos de actividad de la sesión de forma predeterminada. Todas las demás interacciones y actividades están determinadas por la integración personalizada de tu aplicación. |
Historial de búsqueda en la aplicación | No recopilada. | |
Aplicaciones instaladas | No recopilada. | |
Otros contenidos generados por usuarios | No se recopila de manera predeterminada. | |
Otras acciones | ||
Navegación Web | Historial de navegación Web | No recopilada. |
Información y rendimiento de la aplicación | Registros de colisiones | Braze recopila registros de errores que se producen en el SDK. Contiene el modelo de teléfono del usuario y el nivel de sistema operativo, junto con un ID de usuario específico de Braze. |
Diagnóstico | No recopilada. | |
Otros datos de rendimiento de la aplicación | No recopilada. | |
ID del dispositivo u otros ID | ID del dispositivo u otros ID | Braze genera un ID de dispositivo para diferenciar los dispositivos de los usuarios, y comprueba si los mensajes se envían al dispositivo correcto. |
Para obtener más información sobre otros datos de dispositivo que Braze recopila y que pueden quedar fuera del ámbito de las directrices de seguridad de datos de Google Play, consulta nuestro resumen de almacenamiento de Android y nuestras opciones de recopilación de datos del SDK.
Desactivar el seguimiento de datos
Para desactivar la actividad de seguimiento de datos en el SDK de Android, utiliza el método disableSDK()
. Esto hará que se cancelen todas las conexiones de red, lo que significa que el SDK de Braze ya no pasará ningún dato a los servidores Braze.
Borrar datos almacenados previamente
Puedes utilizar el método wipeData()
para borrar completamente todos los datos del lado del cliente almacenados en el dispositivo.
Reanudar el seguimiento de los datos
Para reanudar la recopilación de datos, puedes utilizar el método enableSDK()
método. Ten en cuenta que esto no restaurará los datos borrados previamente.
Manifiesto de Apple sobre la privacidad
¿Qué son los datos de seguimiento?
Apple define los “datos de seguimiento” como los datos recopilados en tu aplicación sobre un usuario final o dispositivo que están vinculados a datos de terceros (como publicidad dirigida), o a un intermediario de datos. Para una definición completa con ejemplos, consulta Apple: Seguimiento.
De manera predeterminada, el SDK de Braze no recopila datos de seguimiento. Sin embargo, dependiendo de la configuración de tu SDK de Braze, es posible que tengas que incluir datos específicos de Braze en el manifiesto de privacidad de tu aplicación.
¿Qué es un manifiesto de privacidad?
Un manifiesto de privacidad es un archivo de tu proyecto Xcode que describe el motivo por el que tu aplicación y los SDK de terceros recopilan datos, junto con sus métodos de recopilación de datos. Cada uno de tus SDK de terceros que hace un seguimiento de datos requiere su propio manifiesto de privacidad. Cuando creas el informe de privacidad de tu aplicación, estos archivos de manifiesto de privacidad se agregan automáticamente en un único informe.
Dominios de datos de seguimiento de la API
A partir de iOS 17.2, Apple bloqueará todos los puntos finales de seguimiento declarados en tu aplicación hasta que el usuario final acepte un aviso de Transparencia de seguimiento de anuncios (ATT). Braze proporciona puntos finales de seguimiento para dirigir tus datos de seguimiento, a la vez que te permite dirigir datos propios que no son de seguimiento al punto final original.
Declarar datos de seguimiento de Braze
Para un recorrido completo, consulta el tutorial Privacidad de los datos de seguimiento.
Requisitos previos
Para implementar esta característica se necesita la siguiente versión del SDK de Braze:
Paso 1: Revisa tus políticas actuales
Revisa las políticas actuales de recopilación de datos de tu SDK de Braze con tu equipo legal para determinar si tu aplicación recopila datos de seguimiento según la definición de Apple. Si no recopilas datos de seguimiento, no necesitas personalizar tu manifiesto de privacidad para el SDK de Braze en este momento. Para más información sobre las políticas de recopilación de datos del SDK de Braze, consulta Recopilación de datos del SDK.
Si alguno de tus SDK que no sea de Braze recopila datos de seguimiento, tendrás que revisar esas políticas por separado.
Paso 2: Crea un manifiesto de privacidad
Primero, comprueba si ya tienes un manifiesto de privacidad buscando un archivo PrivacyInfo.xcprivacy
en tu proyecto de Xcode. Si ya tienes este archivo, puedes continuar con el paso siguiente. Si no, consulta Apple: Crea un manifiesto de privacidad.
Paso 3: Añade tu punto final al manifiesto de privacidad
En tu proyecto de Xcode, abre el archivo PrivacyInfo.xcprivacy
de tu aplicación, luego haz clic con el botón derecho en la tabla y marca Claves y valores sin procesar.
En Configuración de privacidad de la aplicación, elige NSPrivacyTracking y establece su valor en SÍ.
En Configuración de privacidad de la aplicación, elige NSPrivacyTrackingDomains. En la matriz de dominios, añade un nuevo elemento y establece su valor en el punto final que añadiste previamente a tu AppDelegate
con el prefijo sdk-tracking
.
Paso 4: Declara tus datos de seguimiento
A continuación, abre AppDelegate.swift
y enumera cada propiedad de seguimiento que quieras declarar creando una lista de seguimiento estática o dinámica. Ten en cuenta que Apple bloqueará estas propiedades hasta que el usuario final acepte su solicitud de ATT, así que enumera sólo las propiedades que tú y tu equipo legal consideréis que pueden ser objeto de seguimiento. Por ejemplo:
En el siguiente ejemplo, dateOfBirth
, customEvent
, y customAttribute
se declaran como datos de seguimiento dentro de una lista estática.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import UIKit
import BrazeKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
static var braze: Braze? = nil
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
let configuration = Braze.Configuration(apiKey: brazeApiKey, endpoint: brazeEndpoint)
// Declare which types of data you wish to collect for user tracking.
configuration.api.trackingPropertyAllowList = [
.dateOfBirth,
.customEvent(["event-1"]),
.customAttribute(["attribute-1", "attribute-2"])
]
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
return true
}
}
En el siguiente ejemplo, la lista de seguimiento se actualiza automáticamente después de que el usuario final acepte el aviso de ATT.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
func applicationDidBecomeActive(_ application: UIApplication) {
// Request and check your user's tracking authorization status.
ATTrackingManager.requestTrackingAuthorization { status in
// Let Braze know whether user data is allowed to be collected for tracking.
let enableAdTracking = status == .authorized
AppDelegate.braze?.set(adTrackingEnabled: enableAdTracking)
// Add the `.firstName` and `.lastName` properties, while removing the `.everything` configuration.
AppDelegate.braze.updateTrackingAllowList(
adding: [.firstName, .lastName],
removing: [.everything]
)
}
}
Paso 5: Evitar bucles de reintento infinitos
Para evitar que el SDK entre en un bucle infinito de reintentos, utiliza el método set(adTrackingEnabled: enableAdTracking)
para gestionar los permisos ATT. La propiedad adTrackingEnabled
de tu método debe tratarse de forma similar a la siguiente:
1
2
3
4
5
6
7
8
func applicationDidBecomeActive(_ application: UIApplication) {
// Request and check your user's tracking authorization status.
ATTrackingManager.requestTrackingAuthorization { status in
// Let Braze know whether user data is allowed to be collected for tracking.
let enableAdTracking = status == .authorized
AppDelegate.braze?.set(adTrackingEnabled: enableAdTracking)
}
}
Desactivar el seguimiento de datos
Para desactivar la actividad de seguimiento de datos en el SDK de Swift, establece la propiedad enabled
a false
en tu instancia de Braze. Cuando enabled
está configurado como false
, el SDK de Braze ignora cualquier llamada a la API pública. El SDK también cancela todas las acciones en vuelo, como solicitudes de red, procesamiento de eventos, etc.
Borrar datos almacenados previamente
Puedes utilizar el método wipeData()
para borrar completamente los datos SDK almacenados localmente en el dispositivo de un usuario.
Para las versiones 7.0.0 y posteriores de Braze Swift, el SDK y el método wipeData()
generan aleatoriamente un UUID para su ID de dispositivo. Sin embargo, si tu useUUIDAsDeviceId
está configurado en false
o utilizas la versión 5.7.0 o anterior del SDK de Swift, también tendrás que realizar una solicitud de puesto a /users/delete
ya que tu Identificador para Vendedores (IDFV) se utilizará automáticamente como ID del dispositivo de ese usuario.
Reanudar el seguimiento de los datos
Para reanudar la recopilación de datos, configura enabled
a true
. Ten en cuenta que esto no restaurará los datos borrados previamente.
Colección IDFV
En versiones anteriores del SDK de Braze para iOS, el campo IDFV (identificador del proveedor) se recogía automáticamente como ID del dispositivo del usuario. A partir de Swift SDK v5.7.0
, el campo IDFV se desactivó opcionalmente y, en su lugar, Braze establecía un UUID aleatorio como ID del dispositivo. A partir de Swift SDK v7.0.0
, el campo IDFV no se recogerá por defecto, y en su lugar se establecerá un UUID como ID del dispositivo.
La característica useUUIDAsDeviceId
configura el SDK Swift para establecer el ID del dispositivo como UUID. Tradicionalmente, el SDK de iOS asignaba el ID del dispositivo igual al valor IDFV generado por Apple. Con esta característica habilitada por defecto en tu aplicación para iOS, a todos los nuevos usuarios creados a través del SDK se les asignaría un ID de dispositivo igual a un UUID.
Si todavía quieres recoger IDFV por separado, puedes utilizar set(identifierforvendor:)
.
Consideraciones
Versión del SDK
En el SDK de Swift v7.0.0+
, cuando useUUIDAsDeviceId
está habilitado (predeterminado), a todos los nuevos usuarios creados se les asignará un ID de dispositivo aleatorio. Todos los usuarios existentes anteriormente mantendrán su mismo valor de ID de dispositivo, que puede haber sido IDFV.
Si esta característica no está habilitada, se seguirá asignando IDFV a los dispositivos al crearlos.
Más adelante en el proceso
Socios tecnológicos: Cuando se habilite esta característica, los socios tecnológicos que obtengan el valor IDFV del ID del dispositivo Braze dejarán de tener acceso a estos datos. Si el valor IDFV derivado del dispositivo es necesario para tu integración del socio, te recomendamos que configures esta característica en false
.
Currents: useUUIDAsDeviceId
en verdadero significa que el ID del dispositivo enviado en Currents ya no será igual al valor de IDFV.
Preguntas más frecuentes
¿Este cambio afectará a mis usuarios actuales en Braze?
No. Cuando esté habilitada, esta característica no sobrescribirá ningún dato de usuario en Braze. Sólo se crearán nuevos ID de dispositivo UUID para los dispositivos nuevos o cuando se llame a wipedata()
.
¿Puedo desactivar esta característica después de encenderla?
Sí, esta característica se puede alternar entre activarla y desactivarla a tu discreción. Los ID de dispositivo almacenados anteriormente nunca se sobrescribirán.
¿Puedo seguir recopilando el valor IDFV a través de Braze en otro lugar?
Sí, aún puedes recopilar opcionalmente el IDFV a través del SDK de Swift (la recopilación está desactivada por defecto).
Disabling data tracking
Esta guía utiliza ejemplos de código del SDK Web de Braze 4.0.0+. Para actualizar a la última versión del SDK Web, consulta la Guía de actualización del SDK.
To disable data-tracking activity on the Web SDK, use the method disableSDK()
. This will sync any data logged before disableSDK()
was called, and will cause all subsequent calls to the Braze Web SDK for this page and future page loads to be ignored.
Use the Disable Tracking or Resume Tracking tag type to disable or re-enable web tracking, respectively. These two options call disableSDK
and enableSDK
.
Best practices
To provide users with the option to stop tracking, we recommend building a simple page with two links or buttons: one that calls disableSDK()
when clicked, and another that calls enableSDK()
to allow users to opt back in. You can use these controls to start or stop tracking via other data sub-processors as well.
The Braze SDK does not need to be initialized to call disableSDK()
, allowing you to disable tracking for fully anonymous users. Conversely,enableSDK()
does not initialize the Braze SDK so you must also call initialize()
afterward to enable tracking.
Resuming data tracking
To resume data collection, you can use the enableSDK()
method.
Wiping previously-stored data
To manually trigger a data flush and ensure queued user data or events are sent to Braze servers, use the RequestImmediateDataFlush()
method on the UBraze
object.
1
UBraze->RequestImmediateDataFlush();