Session Replay proporciona controles de privacidad para garantizar que las organizaciones de cualquier escala no expongan datos confidenciales o personales. Los datos se almacenan en instancias en la nube gestionadas por Datadog y se cifran en reposo.
Las opciones de privacidad predeterminadas de Session Replay protegen la privacidad del usuario final y evitan que se recopile información confidencial de la organización.
Al habilitar Session Replay para móviles puedes enmascarar automáticamente los elementos confidenciales para que no se registren a través del SDK RUM para móviles. Cuando se enmascaran los datos, los SDK de Datadog no los recopilan en su formato original y, por lo tanto, no se envían al backend.
Configuración de los modos de enmascaramiento
Con los modos de enmascaramiento que se indican a continuación, puedes anular la configuración predeterminada para cada aplicación.
Enmascarar todos los elementos de texto
Por defecto, el parámetro mask está habilitado para todos los datos. Con esta configuración habilitada se enmascara todo el contenido de texto en pantalla, como se muestra a continuación.
build.gradle
// enmascarar todos los elementos de texto
valsessionReplayConfig=SessionReplayConfiguration.Builder([sampleRate]).setPrivacy(SessionReplayPrivacy.MASK).build()SessionReplay.enable(sessionReplayConfig)
AppDelegate.swift
// enmascarar todos los elementos de textoSessionReplay.enable(with:SessionReplay.Configuration(replaySampleRate:sampleRate,defaultPrivacyLevel:.mask))
Enmascarar sólo los elementos de entrada
Con la opción mask user input habilitada, cualquier campo de entrada se sustituye por texto anónimo.
build.gradle
// enmascarar sólo los elementos de entrada
valsessionReplayConfig=SessionReplayConfiguration.Builder([sampleRate]).setPrivacy(SessionReplayPrivacy.MASK_USER_INPUT).build()SessionReplay.enable(sessionReplayConfig)
AppDelegate.swift
// enmascarar sólo los elementos de entradaSessionReplay.enable(with:SessionReplay.Configuration(replaySampleRate:sampleRate,defaultPrivacyLevel:.maskUserInput))
Permitir (sin enmascarar)
Con la opción allow habilitada, se muestra todo el texto.
Nota: Incluso cuando esta opción está habilitada, cualquier campo de texto confidencial, como contraseñas, correos electrónicos, números de teléfono y direcciones siguen enmascarados. Para obtener más información, consulta Definiciones de enmascaramiento de texto.
build.gradle
// sin enmascaramiento; se muestra todo el texto
valsessionReplayConfig=SessionReplayConfiguration.Builder([sampleRate]).setPrivacy(SessionReplayPrivacy.ALLOW).build()SessionReplay.enable(sessionReplayConfig)
AppDelegate.swift
// sin enmascaramiento; se muestra todo el textoSessionReplay.enable(with:SessionReplay.Configuration(replaySampleRate:sampleRate,defaultPrivacyLevel:.allow))
Qué datos se enmascaran y de qué forma
Esta sección describe cómo el grabador de Datadog gestiona el enmascaramiento según el tipo de datos y cómo se definen dichos datos.
Estrategias de enmascaramiento de texto
Dependiendo de cómo hayas configurado tus parámetros de privacidad, el tipo de texto y la confidencialidad de los datos, las reglas de enmascaramiento de Datadog aplican diferentes estrategias a los distintos tipos de campos de texto.
Estrategia de enmascaramiento de texto
Descripción
Ejemplo
Sin enmascarar
El texto se muestra en la repetición de la sesión
"Hello world" → "Hello world"
Enmascaramiento con conservación del espacio
Cada carácter visible se sustituye por una “x” minúscula
"Hello world" → "xxxxx xxxxx"
Enmascaramiento de longitud fija
Todo el campo de texto se sustituye por una constante de tres asteriscos (***)
"Hello world" → "***"
Teniendo en cuenta las estrategias de texto anteriores, tienes algunas opciones diferentes si quieres anular la regla de privacidad predeterminada de mask en tu configuración.
El siguiente gráfico muestra cómo Datadog aplica diferentes estrategias de enmascaramiento de texto, utilizando las reglas que defines en tu configuración, a los siguientes tipos de texto.
A continuación encontrarás una descripción de cómo el grabador de Datadog trata cada tipo de texto.
Texto confidencial
El texto confidencial incluye contraseñas, correos electrónicos y números de teléfono marcados de forma específica para cada plataforma,
y otras formas de confidencialidad en el texto disponibles para cada plataforma.
Esto incluye contraseñas, correos electrónicos y números de teléfono:
Campo de texto (iOS)
Vista de texto (iOS)
Editar texto (Android)
Información sobre direcciones (iOS + Android)
Números de tarjeta de crédito (iOS)
Códigos de un solo uso (iOS)
Texto de entrada y de opción
El texto de entrada y de opción es el texto introducido por el usuario con un teclado u otro dispositivo de entrada de texto, o un valor personalizado (no genérico) en elementos de selecciones.
Esto incluye lo siguiente.
Texto introducido por el usuario en:
Campo de texto (iOS)
Vista de texto (iOS)
Editar texto (Android)
Opciones seleccionadas por el usuario en:
Selector de valores (iOS + Android)
Segmento (iOS)
Lista desplegable (Android)
Exclusiones notables:
Textos de parámetros (sugerencias) en Campo de texto, Vista de texto y Editar texto (no introducidos por el usuario)
Textos no editables en Vista de texto (iOS).
Etiquetas (labels) de mes, día y año en el selector de fecha (valores genéricos)
Texto estático
Texto estático es cualquier texto que no es introducido directamente por el usuario. Esto incluye lo siguiente.
Todos los textos en:
Títulos de casillas de verificación y botones de opción (Android)
Textos en Vista de texto no editable (iOS)
Etiquetas de mes, día y año en el selector de fecha y hora
Valores actualizados en respuesta a la interacción gestual con los elementos de entrada, como el valor actual del deslizador
Otros controles, no considerados como “elementos de entrada del usuario”, como etiquetas, barras de pestañas y de navegación (iOS) o pestañas (Android).
Texto de sugerencia
El texto de sugerencia es texto estático en elementos de texto editables o selectores de opción que se muestra cuando no se proporciona ningún valor. Esto incluye:
Marcadores de posición en Campo de texto (iOS), Vista de texto (iOS)
Sugerencias en Editar texto (Android)
Avisos en listas desplegables (Android)
Enmascaramiento del aspecto
El siguiente gráfico muestra cómo aplicamos diferentes estrategias de enmascaramiento de apariencia, utilizando las reglas que defines en tu configuración, a los siguientes tipos de texto.
Los atributos reveladores son atributos que pueden mostrar o sugerir el valor de los elementos de entrada y pueden utilizarse para inferir la entrada o selección de un usuario.
Esto incluye:
Formas
Segundo plano de la opción seleccionada en un segmento (iOS)
Círculo alrededor de la fecha seleccionada en un selector de fecha (iOS)
Marca de selección en una casilla de verificación (Android)
Pulgar de un deslizador (iOS y Android)
Atributos de texto
El color de una etiqueta que muestra la fecha seleccionada en el selector de fecha (iOS)
La posición de la primera y última opción en el selector de valores (iOS y Android)
Interacciones táctiles
El siguiente gráfico muestra cómo aplicamos diferentes estrategias de interacción táctil, utilizando las reglas que defines en tu configuración, a los siguientes tipos de texto. Si bien todas las interacciones que ocurren en un teclado en pantalla están enmascaradas, las interacciones con otros elementos no lo están.