RESTART RESTART 09 Plus vs open source · RAG · moderador privado Ficha 07 Brief 08

Qué hacemos que vos no

El motor es abierto. El plus es lo que el GitHub no factura: alta de N, precio distinto de costo, aislamiento de empresa, alias como contrato, y un moderador privado con reglas de la empresa que corta antes de que el modelo público vea el secreto.

Moderador privado y RAG: destino · demo en el navegador, no el gateway

La pregunta del CTO

«Armo LiteLLM + Open WebUI yo. ¿Qué hacés vos que no pueda hacer yo?»

Un equipo con tiempo puede clonar el motor el fin de semana. El lunes tiene un chat. No tiene: el segundo cliente sin otro proyecto, una factura que no es el costo del proveedor, el modelo de atrás cambiado sin tocar su código, Norte que no se ve en Demo, y alguien de guardia cuando se pega una key. Eso no está en el repositorio. Está en el Control Plane y en el contrato.

No es plus

Chat, API tipo OpenAI, keys, cuotas, spend Open WebUI y LiteLLM ya lo hacen. Si se vende como diferencial, el CTO lo desarma en un minuto.
OSS · no forkeamos el gateway

Sí es plus

Oficio + contrato sobre el motor Alta, precio, techo comercial, aislamiento por organización, alias operado, políticas de fuga, teléfono cuando se rompe.
Control Plane · hop 3 · operación
1 · El cliente N no es un proyecto El OSS da piezas. RESTART da el oficio: slug → chat, base, clave, presupuesto. Git es auditoría, no el trabajo.
2 · Dos keys que el self-host mezcla El cliente autentica con Virtual Key (techo, se revoca). La credencial de MaaS no sale. El primitive es de LiteLLM; el régimen es de RESTART.
3 · Aislamiento de empresa Un chat + una base por organización. Norte no rutea a Demo. No es un usuario más en un OWUI compartido.
4 · El alias es el contrato Compra restart-general. RESTART mueve el backend por costo o caída. Su código no.
5 · Costo ≠ precio LiteLLM mide tokens del proveedor. No emite markup, mínimo ni factura. Sin dueño del gasto no hay producto.
6 · Alguien está de guardia Incidente, cuota, certificado, backup, hard-stop. El OSS no tiene teléfono.

Si el interlocutor ya corre LiteLLM en producción y está contento, no hay plus de planta que cierre. Ahí se vende un oficio encima, o no se pelea esa cuenta.

RAG no es el moderador privado

Se mezclan porque los dos hablan de «datos de la empresa». Hacen el trabajo contrario. El moderador privado son reglas de esa empresa, en nuestra planta, antes del modelo público. No es un humano de RESTART leyendo el chat. DLP es el nombre de categoría.

RAGModerador privado
Qué es Retrieval-Augmented Generation: el chat busca en documentos de esa empresa y le pasa al modelo el trozo útil, no toda la biblioteca. Moderador privado: reglas del contrato. Bloquea u ofusca secretos antes de mandar al modelo (hoy MaaS / Hong Kong).
Dirección Datos de la empresa → hacia el modelo, a propósito, para responder mejor. Secretos de la empresa → que no salgan hacia el modelo.
Necesita Alias restart-embed por el gateway (ADR-012). Sin embed no hay RAG atribuible. Reglas en el hop 3 del gateway, chat y API. No basta un filtro solo en Open WebUI.
Estado Fuera del MVP. No se vende. Destino. Catálogo en el panel (mockup). Esta demo corre en el navegador, no en api.ctrl.

Ejemplo: María sube el contrato de logística (RAG, cuando exista) y en el mismo chat pega sk-… (moderador privado). El primero es conocimiento autorizado. El segundo es una fuga. El modelo público no tiene que ver la key aunque «ayude» con el contrato.

Lo que se viene

Ahora (se vende) Chat por empresa · API con identidad · techo hard-stop · alias · aislamiento · alta desde el panel.
MVP · piloto interno
Siguiente (Fase 2) Primer contrato externo · markup cerrado · planta de producción · moderador privado en el gateway (bloquear / ofuscar / auditar) · OIDC del cliente · CSMS.
dispara CCE
Después Portal del cliente · RAG / restart-embed · alerta al canal · revisión humana de hallazgos · copiloto de un oficio · restart-private solo con inferencia en región.
no prometer residencia hoy

No está en el mapa de venta: marca blanca del chat, recorte de preguntas repetidas como si ya existiera, el moderador privado como si ya cortara en api.ctrl.

Demo: chat y moderador privado

Un lado escribe. El otro mira el hop 3 en vivo: marca la key, la tarjeta, la IP pública, la cuenta. Se elige bloquear (el modelo no ve nada) u ofuscar (llega [TARJETA]). El rastro guarda tipo y acción, no el secreto.

Demo en el navegador · no corta el gateway de producción

Probá los chips, o abrí el flujo en otra ventana y escribí acá.

Patrones de muestra: sk-, certificado PEM, password=, tarjeta (Luhn), cuenta / CBU / CLABE / IBAN, IPv4 pública (no 10/172.16/192.168). Los valores son de juguete.

Cómo se haría en planta

Sí: el moderador privado — reglas de la empresa, por tenant, opt-in Business / Enterprise. No un SKU «Compliance». El lugar correcto es el gateway (pre-call de LiteLLM o un sidecar delante de api.ctrl), porque el chat y la API tienen que verse iguales. Un filtro solo en Open WebUI deja pasar curl.

ReglaEjemploAcción sugerida
API keyssk-, AKIA, ghp_Bloquear
Secretospassword=, aws_secret…Bloquear
PEMBEGIN PRIVATE KEY / CERTIFICATEBloquear
TarjetaPAN con LuhnBloquear u ofuscar
Cuentacuenta / CBU / CLABE / IBANOfuscar (más falsos positivos)
IP públicaIPv4 que no es RFC1918Ofuscar; la privada no se toca
Catálogo del contratoRUT de clientes, nombres de proyectosPor tenant, después

Por qué antes del modelo: la inferencia de los alias actuales sale de Santiago. Si el secreto viaja, ya salió. El moderador privado no es residencia; es el corte en el hop 3.

No vender todavía: esta demo como si fuera api.ctrl · RAG · residencia / modelo privado · marca blanca. El texto canónico está en 09-plus-dlp-rag.md del repo (el sitio no sirve .md).