Por dónde se cuelan los datos personales
- URL. Los enlaces de restablecimiento de contraseña, los enlaces para darse de baja y las confirmaciones de reserva colocan direcciones de correo electrónico y tokens en la query string. Una vista de página registra la URL.
- Títulos de página. «Pedido n.º 1234 de ana.garcia@example.com» como
<title>se convierte en el título del evento. - Referrers. La URL de la página anterior, con todo lo anterior.
- Campos de formulario y de búsqueda. Una búsqueda en el sitio de un número de teléfono, o un campo «mensaje» reflejado en las propiedades del evento.
- Objetos anidados. Un objeto de formulario entero metido en
propsporque era cómodo. - Nombres de artículo. Productos personalizados («Taza para Ana») en los artículos de comercio.
Qué busca el escáner
El escáner se ejecuta después de la normalización y antes del motor de políticas, sobre title, url, referrer, cada cadena de props, los objetos anidados de props y los nombres de artículo de comercio. Seis tipos:
| Tipo | Ejemplos | Acción |
|---|---|---|
| cualquier dirección con forma RFC | enmascarado, notificado | |
| phone | formatos internacionales y nacionales con 7 o más dígitos | enmascarado, notificado |
| card | secuencias de 13 a 19 dígitos que superan la comprobación de Luhn | enmascarado, evento bloqueado |
| iban | código de país + dígitos de control + BBAN | enmascarado, evento bloqueado |
| secret | claves de API y tokens con prefijos conocidos, cadenas largas de alta entropía en campos de tipo clave | enmascarado, evento bloqueado |
| jwt | tres segmentos base64url separados por puntos | enmascarado, evento bloqueado |
«Enmascarado» significa que la coincidencia se sustituye in situ por un marcador antes del almacenamiento. Los objetos anidados que contienen un hallazgo se sustituyen por completo por [redacted:nested], porque el enmascaramiento parcial de datos estructurados no es fiable. «Bloqueado» significa que el evento no se almacena ni se enruta; una incidencia de calidad de datos registra el campo y el tipo, nunca el valor.
Por qué las tarjetas y los secretos bloquean y los correos electrónicos no
Un correo electrónico en un título de página es un problema de calidad de datos con una dimensión legal; enmascararlo y decirte de dónde vino resuelve ambas cosas. Un número de tarjeta o un token bearer en un evento es un incidente: almacenar incluso un evento enmascarado con su contexto dejaría un rastro que dice «esto ocurrió aquí, a esta hora, en esta sesión», y reenviarlo a cualquier sitio queda descartado. Bloquear es la opción conservadora, y el hallazgo te dice qué página o formulario corregir.
Los identificadores con hash son otra cosa
El correo electrónico y el teléfono con hash en user_data son identificadores intencionados que sirven como claves de coincidencia publicitaria: se entregan mediante la llamada identify del SDK o un origen de servidor, se les aplica hash antes de salir del navegador o de la tienda y están condicionados a la finalidad de marketing. El escáner no los señala; el motor de políticas decide por destino si pueden reenviarse.
El ciclo de hallazgos
Cada hallazgo se convierte en una incidencia en la página de calidad de datos, agrupada por campo y tipo con un recuento y la primera y la última vez que se vio. Correcciones típicas:
- Parámetros de URL: elimina los tokens en el servidor antes de renderizar, o añade el parámetro a la lista de limpieza (scrub list) del sitio para que el SDK lo elimine antes de enviar.
- Títulos: renderiza títulos genéricos en las páginas de cuenta y de confirmación.
- Formularios: envía a
propssolo los campos de una lista de permitidos; nunca el objeto de formulario entero. - Búsqueda: envía el hecho de que hubo una búsqueda y el número de resultados, no la consulta, salvo que la consulta sea vocabulario de producto.
Una incidencia puede marcarse como resuelta o ignorada con un motivo; ignorar queda auditado.
Verificación
El componente de esquema del Health Score es la proporción de eventos sin hallazgos. Tras corregir una fuga, el componente se recupera dentro de la ventana; la marca de tiempo de la última vez vista deja de moverse. El depurador de eventos muestra el evento enmascarado para que puedas confirmar que el marcador está donde esperas.