Skip to content

Sistema de clasificación

El sistema de clasificación de datos es la base del modelo de seguridad de Triggerfish. Cada dato que entra, se mueve a través de, o sale del sistema lleva una etiqueta de clasificación. Estas etiquetas determinan hacia dónde pueden fluir los datos, y más importante aún, hacia dónde no pueden.

Niveles de clasificación

Triggerfish utiliza una única jerarquía ordenada de cuatro niveles para todos los despliegues.

NivelRangoDescripciónEjemplos
RESTRICTED4 (más alto)Datos más sensibles que requieren máxima protecciónDocumentos de fusiones y adquisiciones, materiales de junta, PII, cuentas bancarias, historiales médicos
CONFIDENTIAL3Información sensible para el negocio o la personaDatos de CRM, finanzas, registros de RRHH, contratos, registros fiscales
INTERNAL2No destinado a compartir externamenteWikis internas, documentos de equipo, notas personales, contactos
PUBLIC1 (más bajo)Seguro para cualquier personaMaterial de marketing, documentación pública, contenido web general

La regla de prohibición de escritura descendente

El invariante de seguridad más importante de Triggerfish:

Los datos solo pueden fluir a canales o destinatarios con un nivel de

clasificación igual o superior. Esta es una regla fija: no se puede configurar, anular ni desactivar. El LLM no puede influir en esta decisión. :::

Jerarquía de clasificación: PUBLIC → INTERNAL → CONFIDENTIAL → RESTRICTED. Los datos solo fluyen hacia arriba.

Esto significa:

  • Una respuesta que contenga datos CONFIDENTIAL no puede enviarse a un canal PUBLIC
  • Una sesión con taint RESTRICTED no puede enviar a ningún canal por debajo de RESTRICTED
  • No hay anulación de administrador, ni cláusula de escape empresarial, ni solución alternativa del LLM

Clasificación efectiva

Los canales y los destinatarios tienen niveles de clasificación. Cuando los datos están a punto de salir del sistema, la clasificación efectiva del destino determina lo que se puede enviar:

EFFECTIVE_CLASSIFICATION = min(channel_classification, recipient_classification)

La clasificación efectiva es la menor de las dos. Esto significa que un canal de alta clasificación con un destinatario de baja clasificación se trata como de baja clasificación.

CanalDestinatarioEfectiva¿Puede recibir datos CONFIDENTIAL?
INTERNALINTERNALINTERNALNo (CONFIDENTIAL > INTERNAL)
INTERNALEXTERNALPUBLICNo
CONFIDENTIALINTERNALINTERNALNo (CONFIDENTIAL > INTERNAL)
CONFIDENTIALEXTERNALPUBLICNo
RESTRICTEDINTERNALINTERNALNo (CONFIDENTIAL > INTERNAL)

Reglas de clasificación de canales

Cada tipo de canal tiene reglas específicas para determinar su nivel de clasificación.

Correo electrónico

  • Coincidencia de dominio: los mensajes @empresa.com se clasifican como INTERNAL
  • El administrador configura qué dominios son internos
  • Los dominios desconocidos o externos se clasifican por defecto como EXTERNAL
  • Los destinatarios externos reducen la clasificación efectiva a PUBLIC

Slack / Teams

  • Pertenencia al workspace: los miembros del mismo workspace/tenant son INTERNAL
  • Los usuarios externos de Slack Connect se clasifican como EXTERNAL
  • Los usuarios invitados se clasifican como EXTERNAL
  • La clasificación se deriva de la API de la plataforma, no de la interpretación del LLM

WhatsApp / Telegram / iMessage

  • Empresa: los números de teléfono cotejados con la sincronización del directorio de RRHH determinan si son internos o externos
  • Personal: todos los destinatarios se clasifican por defecto como EXTERNAL
  • Los usuarios pueden marcar contactos de confianza, pero esto no cambia las matemáticas de clasificación; cambia la clasificación del destinatario

WebChat

  • Los visitantes de WebChat siempre se clasifican como PUBLIC (los visitantes nunca se verifican como propietarios)
  • WebChat está destinado a interacciones de cara al público

CLI

  • El canal CLI se ejecuta localmente y se clasifica según el usuario autenticado
  • El acceso directo por terminal es normalmente INTERNAL o superior

Fuentes de clasificación de destinatarios

Empresa

  • La sincronización de directorio (Okta, Azure AD, Google Workspace) rellena automáticamente las clasificaciones de destinatarios
  • Todos los miembros del directorio se clasifican como INTERNAL
  • Los invitados y proveedores externos se clasifican como EXTERNAL
  • Los administradores pueden anular por contacto o por dominio

Personal

  • Predeterminado: todos los destinatarios son EXTERNAL
  • Los usuarios reclasifican contactos de confianza mediante indicaciones en el flujo o la aplicación complementaria
  • La reclasificación es explícita y se registra

Estados de los canales

Cada canal progresa a través de una máquina de estados antes de poder transportar datos:

Máquina de estados del canal: UNTRUSTED → CLASSIFIED o BLOCKED
Estado¿Puede recibir datos?¿Puede enviar datos al contexto del agente?Descripción
UNTRUSTEDNoNoPredeterminado para canales nuevos/desconocidos. Completamente aislado.
CLASSIFIEDSí (dentro de la política)Sí (con clasificación)Revisado y asignado un nivel de clasificación.
BLOCKEDNoNoProhibido explícitamente por el administrador o usuario.

SEGURIDAD Los canales nuevos siempre se encuentran en el estado

UNTRUSTED. No pueden recibir ningún dato del agente ni enviar datos al contexto del agente. El canal permanece completamente aislado hasta que un administrador (empresa) o el usuario (personal) lo clasifique explícitamente. :::

Cómo interactúa la clasificación con otros sistemas

La clasificación no es una función aislada: impulsa decisiones en toda la plataforma:

SistemaCómo se utiliza la clasificación
Taint de sesiónAcceder a datos clasificados eleva la sesión a ese nivel
Hooks de políticasPRE_OUTPUT compara el taint de sesión con la clasificación del destino
MCP GatewayLas respuestas del servidor MCP llevan clasificación que contamina la sesión
Linaje de datosCada registro de linaje incluye el nivel de clasificación y la razón
NotificacionesEl contenido de las notificaciones está sujeto a las mismas reglas
Delegación de agentesEl techo de clasificación del agente llamado debe cumplir el taint del llamante
Sandbox de pluginsEl SDK de plugins auto-clasifica todos los datos emitidos