Android SDK - Sanitizar datos sensibles

Detalles sobre cómo sanitizar grabaciones y datos de red en el tracker de Android

Android SDK ⁠-⁠ Sanitizar datos sensibles

Las vistas sanitizadas aparecerán difuminadas en la repetición resultante. Puedes añadir cualquier componente de la interfaz y se eliminará automáticamente (para ahorrar memoria) tan pronto como deje de estar en pantalla.

import com.openreplay.tracker.OpenReplay

OpenReplay.addIgnoredView(view)
import com.openreplay.tracker.Sanitize

Sanitize {
		Button(
				modifier = Modifier
						.fillMaxWidth()
						.padding(top = 28.dp, bottom = 3.dp)
						.trackTouchEvents("Continue Button"),
				onClick = onSubmit,
		) {
				Text(
						text = "Submit",
						style = MaterialTheme.typography.titleSmall
				)
		}
}

Se exportan dos claves para recortar automáticamente los datos de solicitud/respuesta: ignoredKeys para el cuerpo e ignoredHeaders para las cabeceras. Tanto la solicitud como la respuesta se sanitizarán, pero el cuerpo solo se verá afectado si es un JSON válido.

Simplemente asigna una lista de cadenas que quieras sanitizar:

val networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]

También es posible modificar los datos de la respuesta antes de pasarlos al listener:

// ... request

var sanitizedData: Any? = null
data?.let {
    try {
        val json = JSONTokener(it).nextValue()
        sanitizedData = customSanitizeFunction(it)
        println(json)
    } catch (error: JSONException) {
        println("Error deserializing JSON: $error")
    }
}

networkListener.finish(response, sanitizedData)

Si tienes alguna pregunta sobre este proceso, no dudes en contactarnos en nuestro Slack o visita nuestro Foro.