Ir al contenido

Descripción general de seguridad

Esta página está dirigida a las personas que evalúan VirtuAI antes de que su empresa lo use. Describe lo que hace el servicio actualmente. Cada sección incluye un vínculo a la página donde un administrador lo configura.

VirtuAI se ejecuta en Google Cloud, en la región us-central1 (Iowa, Estados Unidos).

Componente Servicio de Google Cloud
Aplicación Google Kubernetes Engine (GKE), con al menos dos réplicas
Base de datos Cloud SQL para PostgreSQL, accesible solo desde una red privada
Archivos subidos (documentos de bases de conocimiento, avatares) Cloud Storage

La consola de administración, el chat web y todas las APIs se entregan por HTTPS desde app.imvirtuai.com, con un certificado administrado por Google. La base de datos no tiene una dirección IP pública y solo acepta conexiones cifradas.

Consulta Arquitectura y flujo de datos para ver un diagrama y una tabla que indica dónde se almacena cada tipo de dato.

En tránsito. Los navegadores, los canales y los clientes de la API se conectan a VirtuAI por HTTPS. La aplicación se conecta a la base de datos mediante una conexión cifrada.

En reposo. Google Cloud cifra en reposo la base de datos y Cloud Storage de forma predeterminada.

Secretos. Además, VirtuAI cifra por su cuenta estos valores antes de almacenarlos:

  • Cada parámetro marcado como secreto en la configuración: las claves de los proveedores de modelos, el token de autenticación de Twilio, los archivos JSON de cuentas de servicio y los secretos de clientes de OAuth
  • El secreto de cliente de tu proveedor de identidad
  • Los tokens de OAuth de los servidores MCP a los que se conectan tus agentes
  • Las credenciales de la configuración de Telegram y Slack de un agente: los tokens de bot, el secreto de firma de Slack y el secreto del webhook de Telegram

Los secretos son de solo escritura. Una vez guardados, Settings muestra Configured (not viewable), la configuración de canal de un agente muestra Configured y ninguna API devuelve el valor. El secreto del webhook de Telegram lo genera VirtuAI y nunca se muestra.

Con hash, nunca almacenados. Las contraseñas se almacenan con hash bcrypt. Las claves de integración y los vínculos de invitación se almacenan como hashes con clave, de modo que VirtuAI puede verificarlos, pero no puede volver a mostrarlos. El valor completo aparece una sola vez, cuando se crea.

Encabezados de herramientas personalizadas. Los valores de los encabezados se devuelven solo a las personas que pueden editar herramientas (tools.edit). Todas las demás, incluidos los lectores y quienes ven las herramientas de un agente, reciben los nombres de los encabezados con los valores enmascarados.

Las personas inician sesión en VirtuAI de una de estas maneras:

  • Correo electrónico y contraseña. Las cuentas se crean solo por invitación; no existe el registro de autoservicio. Las contraseñas deben tener al menos 8 caracteres. No existe el restablecimiento de contraseña de autoservicio: un administrador del espacio de trabajo establece una contraseña nueva desde Users.
  • Inicio de sesión único (OIDC). Cada espacio de trabajo puede conectar su propio proveedor de identidad, como Keycloak o cualquier proveedor de OpenID Connect. VirtuAI usa el flujo de código de autorización con PKCE, acepta solo los dominios de correo electrónico que indiques y asigna los grupos de tu proveedor de identidad a roles del espacio de trabajo. Consulta Inicio de sesión único.
  • Identity-Aware Proxy (IAP) de Google Cloud. En un chat web para empleados publicado detrás de IAP, VirtuAI puede aceptar la identidad que afirma IAP en lugar de pedir una contraseña. Es una opción de implementación, no la predeterminada. Si la necesitas, consulta a soporte.

Las sesiones duran, como máximo, 24 horas. Con SSO, una sesión también termina cuando vence el token del proveedor de identidad. Cerrar sesión termina la sesión en el servidor, no solo en el navegador, y VirtuAI acepta el cierre de sesión por canal secundario (back-channel logout) de tu proveedor de identidad, de modo que terminar la sesión de alguien allí también la termina en VirtuAI.

El inicio de sesión con contraseña se puede desactivar en una implementación para que el SSO sea la única vía de acceso. Consulta a soporte.

Todo en VirtuAI pertenece a un espacio de trabajo: agentes, herramientas, bases de conocimiento, conversaciones, configuración, claves de proveedores, presupuestos y roles. Los espacios de trabajo de tu empresa están separados de los de cualquier otro cliente.

En cada solicitud, el servidor verifica que la persona que inició sesión sea un miembro activo del espacio de trabajo que indica la solicitud, y filtra los datos subyacentes por ese espacio de trabajo. Esto no se aplica solo ocultando elementos en la interfaz. Desactivar la membresía de alguien detiene su acceso a ese espacio de trabajo en su siguiente solicitud.

Consulta Espacios de trabajo.

Dentro de un espacio de trabajo, lo que una persona puede hacer depende de su rol. Un rol es un conjunto de permisos, como agents.publish o conversations.pii_reveal. Cada espacio de trabajo comienza con admin, user y viewer, y puedes crear roles personalizados.

Algunos derechos están separados a propósito para que puedan otorgarse por separado:

  • Ver la lista de conversaciones (conversations.view) es distinto de leer la transcripción de otra persona (conversations.audit), y ambos son distintos de desenmascarar valores sensibles (conversations.pii_reveal).
  • Editar un agente (agents.edit) es distinto de publicarlo en todos los canales (agents.publish).
  • Editar conjuntos de datos de evaluación (evaluations.manage) es distinto de ejecutarlos, lo que consume presupuesto de modelos (evaluations.run).

Los administradores de la plataforma son las personas que operan el servicio de VirtuAI. Crean los espacios de trabajo y, en un espacio de trabajo al que pertenezcan, superan todas las verificaciones de permisos. También son las únicas personas que pueden ver los registros de la aplicación del servicio. Los administradores de un espacio de trabajo no pueden otorgar este acceso, y las asignaciones de grupos de SSO tampoco.

Nuestra política sobre cuándo el personal de VirtuAI puede acceder al espacio de trabajo de un cliente, y cómo se aprueba y registra ese acceso, está disponible bajo solicitud en admin@imvirtuai.com.

Consulta Usuarios y roles y la referencia de permisos.

Cada canal que llega a VirtuAI desde el exterior se verifica con el mecanismo que ofrece su plataforma, y se rechazan las solicitudes que no pasan la verificación:

Canal Verificación
WhatsApp La X-Twilio-Signature de Twilio, calculada con tu token de autenticación de Twilio sobre la URL del webhook
Google Chat El token firmado de Google, verificado con el número de tu proyecto de Google Cloud
Slack El secreto de firma de la app de Slack; se rechazan las solicitudes de hace más de cinco minutos
Telegram Un secreto que VirtuAI genera cuando se registra el webhook. Además, el bot solo responde a las personas que se unieron con una invitación.
Chat web Un miembro del espacio de trabajo que haya iniciado sesión
Voz Una clave de integración en el encabezado X-API-Key o en el parámetro api_key, cuando la aplicación obligatoria está activada
A2A Credenciales de cliente de OAuth que tú creas y revocas

Las claves de integración pertenecen a un solo espacio de trabajo, se pueden revocar en cualquier momento y se almacenan con hash.

Consulta Claves de integración y la página de configuración de cada canal.

Cada espacio de trabajo puede agregar sus propias claves para los proveedores que usan sus agentes: Google Gemini, OpenAI o Anthropic, de forma directa o mediante Vertex AI con tu propia cuenta de servicio de Google Cloud. Cuando un espacio de trabajo tiene su propia clave, los prompts y las respuestas van de VirtuAI a ese proveedor con tu cuenta, por lo que se aplican las condiciones y los controles de datos de ese proveedor. Si un espacio de trabajo no tiene una clave para un proveedor, VirtuAI puede usar la clave propia de la plataforma para ese proveedor; agrega tus claves en Settings si necesitas que todas las llamadas se hagan con tu cuenta.

Puedes limitar el uso de tokens y el costo estimado por proveedor o modelo con Presupuestos.

A medida que se almacenan los mensajes, VirtuAI busca en ellos números de tarjetas de crédito, claves de API, claves privadas, contraseñas y cuentas bancarias. También puede buscar números de identificación nacional, números de teléfono, direcciones de correo electrónico y direcciones IP si activas esas categorías. Los valores se enmascaran en el servidor antes de llegar a la pantalla o a una exportación. Para desenmascararlos se necesita un permiso específico, y cada vista de transcripción, revelación, exportación y nuevo análisis se registra en un registro de acceso.

La detección solo afecta lo que las personas ven en la pantalla Conversations y en las exportaciones. El agente, el proveedor del modelo y la persona que participa en el chat siguen viendo el texto original.

Consulta Datos sensibles y Conversations.

Datos Cuánto tiempo se conservan
Historial de conversaciones en Conversations 365 días de forma predeterminada. Un administrador del espacio de trabajo puede establecer entre 1 y 3,650 días con conversations.retention_days.
Historial del chat web que ve la persona que chatea Los últimos 10 mensajes que envió la persona, con las respuestas del agente
Registros de uso de tokens y costos 90 días

La retención de otros datos (registros de mensajes de WhatsApp, Google Chat y voz, memoria de los agentes, archivos de bases de conocimiento), el borrado de datos al terminar una suscripción y las copias de seguridad se describen bajo solicitud en admin@imvirtuai.com.

Además del proveedor de modelos que elijas, algunas funciones envían datos a otros servicios:

  • Los proveedores de canales que conectes, como Twilio para WhatsApp, Google Chat, Slack y Telegram, reciben los mensajes enviados en su canal.
  • La voz puede usar ElevenLabs para el habla y Speech-to-Text de Google Cloud para transcribir los mensajes de voz.
  • Las bases de conocimiento envían el texto de los documentos al proveedor de embeddings configurado en EMBEDDING_PROVIDER (Google, Vertex AI u OpenAI) para crear el índice de búsqueda.
  • Las integraciones opcionales que configures, como el seguimiento con LangSmith, la zona de pruebas de código de E2B, los servidores MCP y las herramientas personalizadas, reciben lo que el agente les envía.
  • Analítica del producto. VirtuAI envía eventos de uso a PostHog, alojado en Estados Unidos. Incluyen el modelo, la cantidad de tokens, el costo, la latencia y el texto del prompt y de la respuesta de las llamadas al modelo.

La lista vigente de subencargados del tratamiento está disponible bajo solicitud en admin@imvirtuai.com.

Para informar una vulnerabilidad o un posible incidente, comunícate con soporte.

La información sobre nuestro proceso de respuesta ante incidentes y las evaluaciones de terceros, si las hay, está disponible bajo solicitud en admin@imvirtuai.com.