Datos sensibles
VirtuAI analiza cada mensaje almacenado en busca de secretos y datos personales, enmascara lo que encuentra en la pantalla Conversations y en las exportaciones, y registra quién lo consulta. Esta página explica los detalles. Para buscar y leer conversaciones, consulta Conversations.
Qué cubre y qué no cubre
Sección titulada «Qué cubre y qué no cubre»La detección se ejecuta cuando se almacena un mensaje, en todos los canales que almacenan mensajes. Usa patrones y sumas de verificación, no un modelo, y no envía nada a ningún servicio externo.
Controla lo que ven las personas cuando auditan conversaciones. No modifica la conversación en sí:
- El agente y el proveedor del modelo reciben el texto original.
- La persona que chatea ve lo que escribió.
- La transcripción se almacena tal como se escribió. Lo que se almacena por separado es un hallazgo: la categoría y la posición del valor, nunca una copia de este.
Si aparece un secreto en una conversación, considéralo expuesto y rótalo.
Categorías
Sección titulada «Categorías»| Categoría | Gravedad | Predeterminado | Qué se detecta | Visible después del enmascaramiento |
|---|---|---|---|---|
| Tarjeta de crédito | Crítica | Activada | De 13 a 19 dígitos, con o sin espacios o guiones, que superan la suma de verificación de tarjetas (Luhn) | Los últimos 4 dígitos |
| Clave de API | Crítica | Activada | Claves que comienzan con sk-ant-, sk_live_, sk-, AIza, AKIA, ghp_ y los demás prefijos de tokens de GitHub, xoxb- y los demás prefijos de Slack, glpat-, además de los JSON Web Tokens |
Nada |
| Clave privada | Crítica | Activada | La línea -----BEGIN ... PRIVATE KEY----- de una clave PEM |
Nada |
| Contraseña | Crítica | Activada | El valor que sigue a password, passwd, contraseña, clave o secret seguidos de : o = |
Nada |
| Cuenta bancaria (IBAN) | Alta | Activada | IBAN que superan la verificación mod-97 | Los últimos 4 caracteres |
| Identificación nacional | Alta | Desactivada | CURP de México, CPF de Brasil, RUT de Chile y DNI de España con una letra de control válida | Entre 1 y 4 caracteres finales, según el formato |
| Número de teléfono | Media | Desactivada | Números en formato internacional, que comienzan con + |
Los últimos 4 dígitos |
| Dirección de correo electrónico | Baja | Desactivada | Direcciones de correo electrónico | Nada |
| Dirección IP | Baja | Desactivada | Direcciones IPv4 | Nada |
Las categorías opcionales están desactivadas porque son específicas de un país o coinciden con texto común con demasiada frecuencia. Por ejemplo, una dirección IP y un número de versión como 1.2.3.4 se ven iguales.
Cuando dos patrones coinciden con el mismo texto, prevalece el más grave, de modo que un número de tarjeta no se informa también como número de teléfono.
Cómo funciona el enmascaramiento
Sección titulada «Cómo funciona el enmascaramiento»El enmascaramiento se realiza en el servidor, antes de que la conversación se envíe a tu navegador, de modo que el valor real no está en la página ni en la respuesta de red.
- Un valor enmascarado se convierte en puntos. Cuando se conserva una parte final, la ves al final:
••••••••••••1111. - Se aplica a todo lo que se genera a partir del mensaje, no solo a la transcripción: el título de la conversación y la vista previa en la lista.
- Los títulos y las vistas previas son copias abreviadas de un mensaje. Si el corte cae en medio de un número de tarjeta o de una clave, la parte que queda también se enmascara.
Una conversación con hallazgos recibe una insignia con su categoría más grave, y el panel Sensitive data enumera lo que se encontró por categoría. Filtra la lista con With sensitive data para ver solo esas conversaciones.
Revelar un valor
Sección titulada «Revelar un valor»Para ver un valor enmascarado completo:
- Abre la conversación. Se necesita
conversations.audit. - En el panel Sensitive data, selecciona Reveal junto a una categoría. Se necesita
conversations.pii_reveal. - Confirma con Reveal and record.
Se revela una categoría a la vez, y solo en esa conversación. Cada revelación se registra en el registro de acceso con tu usuario, la hora y la categoría. No existe ningún parámetro de configuración que desactive el enmascaramiento.
Exportaciones
Sección titulada «Exportaciones»Las exportaciones se enmascaran de la misma forma que la pantalla.
| Exportación | Permiso |
|---|---|
| Export CSV: la lista de conversaciones filtrada | conversations.manage |
| Export Markdown o Export JSON: una conversación | conversations.manage y conversations.audit |
Las exportaciones desde la pantalla siempre están enmascaradas. Una exportación sin enmascarar solo es posible mediante la API, solo para las personas que también tienen conversations.pii_reveal, y el registro de acceso guarda qué categorías se incluyeron.
Elegir qué se detecta
Sección titulada «Elegir qué se detecta»Las reglas se configuran por espacio de trabajo en el parámetro conversations.sensitive_rules: un objeto JSON que activa o desactiva cada categoría. Las categorías que no incluyas conservan su valor predeterminado.
{ "phone": true, "email": true, "national_id": true, "password": false}Los nombres de las categorías son credit_card, api_key, private_key, password, iban, national_id, phone, email e ip_address.
Todavía no hay una pantalla para este parámetro. Un administrador del espacio de trabajo con settings.manage puede configurarlo mediante la API de configuración, o bien puede pedirle a soporte que lo configure.
Volver a analizar
Sección titulada «Volver a analizar»Las reglas se aplican a los mensajes almacenados después del cambio. Para aplicar las reglas actuales a una conversación almacenada antes, ábrela y selecciona Re-scan. Se necesita conversations.manage; la acción reemplaza los hallazgos anteriores de esa conversación y queda registrada en el registro de acceso.
Registro de acceso
Sección titulada «Registro de acceso»Access log, en la sección Monitor, enumera cada vez que alguien:
| Acción | Significado |
|---|---|
| Viewed | Abrió una transcripción |
| Revealed | Desenmascaró una o más categorías. Las categorías aparecen en Details. |
| Exported | Descargó una conversación o la lista de conversaciones |
| Re-scanned | Aplicó las reglas actuales a una conversación almacenada |
Cada entrada muestra cuándo, quién, la acción y la conversación. Filtra por Action para acotar los resultados. Para leer el registro se necesita conversations.audit, porque muestra quién consultó qué conversación.
Permisos
Sección titulada «Permisos»| Permiso | Permite | Roles predeterminados |
|---|---|---|
conversations.view |
Ver la lista de conversaciones | admin, user, viewer |
conversations.audit |
Abrir cualquier transcripción, el informe de hallazgos y el registro de acceso | admin |
conversations.pii_reveal |
Revelar valores enmascarados | admin |
conversations.manage |
Exportar, volver a analizar y aplicar la retención | admin |
Consulta la referencia de permisos y la descripción general de seguridad.
