title: 9 · El filtro que protege: permisos y ciclo de vida
9 · El filtro que protege: permisos y ciclo de vida
Hay filtros que optimizan la búsqueda y hay filtros que la justifican. Todo lo dicho hasta ahora —dominios, facetas, vigencias— puede aflojarse un día si las métricas lo piden; este capítulo trata de la parte del sistema que no se afloja nunca, porque su función no es que la búsqueda encuentre más sino que no encuentre lo que no debe. En un RAG que responde sobre derechos laborales con documentos de clientes reales, esto no es un capítulo de seguridad añadida al final: es condición de existencia del sistema.
La regla de oro: invisible, no desordenado
Empecemos por el principio, porque aquí es donde más sistemas se descarrilan: lo que un usuario no puede ver no puede aparecer, ni en el puesto veinte, ni penalizado, ni como "resultados que quizá no puedas abrir". La tentación técnica es tratar la confidencialidad como una señal más que ordena resultados: lo accesible primero, lo restringido después con un candadito. Es un error de categoría con consecuencias graves. Primero, porque la pertenencia de un documento a la lista ya es información: que el sistema tenga algo que esconder sobre un asunto concreto le dice al usuario que el asunto existe, está documentado y es restringido; en un despacho, esa meta-información puede valer tanto como el documento. Segundo, porque el candadito acaba cayendo: bastará un relajo del equipo, una prisa, una "solo para esta demo", y lo restringido se abre.
El diseño correcto hace lo contrario de la tentación: la condición de permiso no es un filtro del final del pipeline, es una condición de elegibilidad en el origen —pre-filtrada, como se vio en el capítulo siete, en el nivel de política, no de consulta—. El documento que no corresponde no entra en el universo de la búsqueda como no entra una puerta cerrada en el recorrido de la linterna. Y hay una consecuencia de diseño que conviene enunciar porque no es automática: los vectores también son contenido. Un embedding guarda suficiente señal del texto como para que dos vectores vecinos delaten temas vecinos; por eso el aislamiento que importa no es el del campo visible sino el del índice. Cuando el aislamiento es de verdad crítico —corpus entre clientes—, la frontera es de colección, como dijo el capítulo cinco: la partición física no tiene bypass.
La segunda regla de oro completa la primera: el permiso se aplica al recuperar, no al redactar. Nadie confía el secreto a la última capa del pipeline —al modelo que redacta— esperando que no cite lo que el contexto le pasó. Lo confidencial no llega al contexto, y punto: la generación solo puede revelar lo que la recuperación dejó pasar. Es la única arquitectura donde la promesa del contrato —lo confidencial no se muestra— es verificable por construcción y no por esperanza.
El ciclo de vida en la consulta
La gobernanza no es solo quién puede ver qué; es también qué está vivo. El primer libro dedicó capítulos a la idempotencia documental: un documento no se duplica cuando se actualiza, se sustituye; su versión anterior deja de existir. Ahora toca la mitad de esa historia que vive en el acceso: la versión anterior, mientras exista en el Rack, es una respuesta falsa esperando su momento.
El caso del despacho es el que se cuenta en todos los cursos de derecho y en ningún curso de RAG: la reforma. Una consulta sobre el cálculo de una indemnización recibió, con altísima similitud, el método de cálculo de la normativa anterior —derogada hacía años—. El párrafo era perfecto: claro, exacto, bien escrito, obsoleto. El modelo redactó una respuesta impecable con una regla que ya no existía. Nadie en el pipeline había hecho nada malo en su capa: la similitud ordenó bien, la generación redactó bien; el fallo fue de elegibilidad —un documento muerto participando en una consulta viva—. La vigencia no es un metadato de archivo: en derecho, es parte del significado.
De ahí que el estado del ciclo de vida participe también en el 100 por ciento de las búsquedas de contenido, junto al dominio y al permiso, y que sus valores se piensen con el negocio y no con el gusto técnico: vigente, derogado, en revisión, borrador, cada uno con su política. Lo derogado no se borra —la historia jurídica vale— pero se excluye por defecto y se hace consultable por excepción: "enséñame cómo se calculaba antes de la reforma" es una consulta legítima que el sistema debe poder atender sabiendo que está mostrando historia, con la etiqueta por delante. Lo en revisión y lo borrador son la otra cara: lo que la fábrica del corpus aún no ha dado por bueno no puede asomarse al acceso, o el rigor del Silver se evapora en cuanto alguien consulta antes de la validación.
Y una disciplina que une este capítulo con el anterior libro: la caducidad activa. No basta con que los campos de estado existan; alguien tiene que moverlos. El ciclo de vida del corpus —mantenimiento, regresión, despliegue— debe incluir la revisión de vigencias como tarea programada, y el acceso debe tener su detective: el capítulo veinte contará cómo los logs de consulta delatan vigencias mal cargadas —las respuestas que citan documentos viejos son una alarma, no un detalle—. El filtro protege; la observabilidad vigila que el filtro proteja con datos verdaderos.
Qué aporta este filtro al sistema entero
Vale la pena cerrar el capítulo mirando lo que este filtro hace por el resto del libro, porque su aportación es transversal y suele pasar desapercibida. Al garantizarse que el universo elegible ya cumple el contrato —solo vigente, solo permitido, solo validado—, todas las piezas posteriores trabajan más simples: el rerank del capítulo quince puede concentrarse en la relevancia sin filtrar permisos a la vez; el tope del trece reparte presupuesto solo entre candidatos legítimos; las métricas del dieciocho miden calidad de respuesta sin mezclar incidentes de seguridad. Y el usuario, sin saber nada de esta arquitectura, recibe el efecto que la fideliza: un sistema que nunca le enseña algo que no debe, jamás le responde con una norma muerta y no le obliga a vigilar lo que la máquina debía vigilar. La seguridad bien hecha es invisible; lo que se nota es que se puede confiar.
Criterio de salida
Los tres filtros de gobernanza —permiso, vigencia, estado editorial— participan en el 100 por ciento de las búsquedas como condiciones de origen, no como ordenación posterior; lo confidencial jamás alcanza el contexto del modelo; lo derogado queda excluido por defecto y consultable como historia etiquetada; las vigencias se revisan con cadencia programada y sus fallos son detectables en los logs.
Queda una situación que ninguno de estos filtros resuelve y todos provocan: la búsqueda que se queda vacía. Qué significa un resultado vacío, cuándo es un éxito disfrazado de fallo y cómo se diseña —porque el vacío también se diseña— es el capítulo que cierra esta parte.