Abierto a posiciones de AI Engineer remoto o híbrido
Competencia

Guardrails y seguridad en IA: controles fuera del prompt

Un guardrail que depende de que el modelo obedezca no es un guardrail. Así pongo los controles en el código y en la base de datos en AgendaGo, y cómo los planeé para la plataforma, que está en construcción.

Dónde la apliqué

Qué son los guardrails

Son los controles que rodean al modelo, a la entrada y a la salida: qué puede recibir, qué puede llamar y qué se le permite devolver. Pedirle al modelo en el prompt que se porte bien ayuda, pero no alcanza. Lo que no puede salir mal conviene que lo garantice algo que el modelo no controla.

AgendaGo: las capas que están en producción

  • Lista blanca de herramientas y un filtro por rol.
  • El negocio sale del JWT, nunca del modelo. Los parámetros prohibidos (ids de negocio, tokens, banderas de admin) se descartan antes de ejecutar.
  • El texto de clientes y de archivos se envuelve como dato, no como instrucción.
  • Un detector de entidades inventadas y la procedencia de cada afirmación.
  • El texto de rechazo lo arma el código, no el modelo.
  • Límite de tasa en el borde, y un único control en la base para el presupuesto mensual por negocio.
  • RLS de Postgres habilitado en todo el esquema, y RPC SECURITY DEFINER con search_path fijo.

Dónde vive cada control

Los controles críticos están en la base y no en el prompt. Aplicar un cambio propuesto por el asistente exige una función SECURITY DEFINER solo para el rol admin; el sobreturno lo bloquea un trigger; y el stock solo se mueve cuando una persona confirma lo que leyó el modelo.

El costo es código y migraciones por cada regla. A cambio, ninguna de esas garantías depende de que el modelo haga caso.

La plataforma y Nux: en construcción

La plataforma de agentes de IA para empresas está en construcción, en fase 0, y es un diseño: prevé un guardrail de entrada contra prompt injection y uno de salida que valida y cita, una SQL Tool de solo lectura con lista blanca, SQL validado, timeout y límite de filas, y RLS por tenant_id.

En Nux, el asistente de Bonuxo, las escrituras requieren confirmación humana, algunas con confirmación fuerte, y respetan los permisos del usuario. Su capa de LLM está construida pero apagada en producción.

Stack relacionado

  • PostgreSQL
  • Supabase Edge Functions
  • JWT