Configura los primeros guardrails SQL de tu agente en 5 minutos
Un prompt no puede imponer permisos de base de datos. Claix Guard comprueba los cambios propuestos por tu agente contra reglas aprobadas y devuelve allow o deny antes de que tu código los ejecute.
Claix · Actualizado noviembre de 2026. Producto: Claix Guard (https://www.claix.dev/es/guard). Check SQL: https://www.claix.dev/es/documentation/check-sql.
Consultar una base de datos y modificarla son dos responsabilidades distintas. Un agente puede entender bien una petición y aun así proponer una operación que tu negocio no debería permitir: un descuento demasiado alto, una actualización sobre la columna equivocada o un borrado que nadie había autorizado. Escribir “no hagas cambios peligrosos” en el prompt no convierte esa instrucción en una comprobación obligatoria.
Claix Guard permite definir reglas para los cambios que un agente propone y comprobarlas antes de ejecutar SQL. Tú decides la política; Guard devuelve una decisión; tu aplicación controla la ejecución. Un prompt no puede imponer permisos de base de datos.
| Aspecto | Funcionamiento de Claix Guard |
|---|---|
| Operaciones principales | INSERT, UPDATE y DELETE |
| Configuración | Reglas en lenguaje natural que se convierten en propuestas precisas |
| Activación | Revisión y aprobación de las reglas |
| Decisión | Comprobación determinista, sin un modelo decidiendo en cada llamada |
| Resultado | Permitir o denegar, con el motivo |
| Ejecución SQL | La realiza tu aplicación |
| Supervisión | Decisiones registradas en Guard Traces |
| Bases de datos documentadas | PostgreSQL, MySQL y MariaDB |
Qué es Claix Guard y qué problema resuelve
Claix Guard es un servicio gestionado que comprueba cambios de base de datos propuestos por agentes de IA. Su función no es juzgar si la conversación “parece segura”. Analiza una sentencia SQL y sus parámetros frente a las reglas activas de una conexión, y devuelve si la operación está permitida. Así, “los descuentos no pueden superar el 20%” puede convertirse en una condición revisable. Si el agente propone un 35%, la operación puede denegarse con la regla incumplida. Guard no sustituye los permisos de base de datos, las restricciones del esquema ni el control de acceso de tu aplicación.
Qué reglas puedes definir
La documentación describe reglas sobre operaciones, columnas, valores, condiciones y otros límites de negocio. También contempla casos que se deniegan para que tu propio workflow los derive a una persona. La regla que debes evaluar es la condición exacta que Claix propone y tú apruebas, no solo la frase inicial.
| Regla de negocio | Qué quieres controlar |
|---|---|
| Los agentes nunca pueden eliminar pedidos | Una operación sobre una tabla |
| El descuento no puede superar el 20% | Un límite sobre un valor |
| El agente puede cambiar el estado, pero no el precio | Las columnas modificables |
| Una actualización debe identificar el pedido por su ID | Las condiciones de la sentencia |
| Un reembolso superior a cierto importe debe revisarlo una persona | Una denegación que tu workflow deriva a revisión |
| Solo se permiten determinados estados | Un conjunto de valores válidos |
Antes de empezar: separa la propuesta de la ejecución
Para que Guard tenga efecto, el agente no debería poder escribir directamente en la base de datos. El agente propone la operación. Un ejecutor controlado por tu aplicación conserva las credenciales, consulta Guard y decide si ejecuta. Si el agente tiene otro acceso con permisos de escritura, puede saltarse la comprobación. También necesitas una conexión activa y reglas activas. La documentación especifica que, si no hay guards activos, la escritura se permite.
Paso 1. Escribe una primera regla en lenguaje natural
Empieza por un límite que puedas comprobar con ejemplos claros. “El descuento de un pedido no puede superar el 20%” permite un caso permitido y otro denegado. Claix utiliza un modelo para convertir la descripción en propuestas de reglas exactas. Después puedes aceptarlas, rechazarlas o modificarlas. La decisión de cada comprobación posterior no depende de volver a preguntarle a un modelo.
Paso 2. Revisa y activa la regla exacta
Comprueba la tabla, la columna y la unidad del valor. Un descuento del 20% puede almacenarse como 20 o como 0.20. Revisa también qué operaciones cubre. Claix recomienda que una persona apruebe las reglas y que los agentes puedan proponerlas. Un agente no debería poder flexibilizar por sí mismo los límites que después se le aplican.
Paso 3. Prueba casos permitidos y denegados en el Sandbox
Antes de conectar el ejecutor, prueba la regla en el Sandbox de Guard, incluidas sentencias que deberían denegarse.
| Caso de prueba | Resultado esperado según esa política |
|---|---|
| Actualizar un pedido con descuento 10 | Permitido |
| Actualizar un pedido con descuento 20 | Permitido |
| Actualizar un pedido con descuento 35 | Denegado |
| Enviar un valor no contemplado por tu política | Revisar el resultado y ajustar la regla |
| Modificar otra columna | Comprobar si existe una regla que cubra esa modificación |
| Intentar una operación fuera de la cobertura prevista | Detectar la falta de cobertura antes de producción |
Paso 4. Llama a Guard antes de ejecutar SQL
El endpoint documentado es POST https://claix.dev/check-sql. La petición incluye la sentencia en sql y los valores de sus placeholders en params. Si tu cuenta tiene varias conexiones activas, indica connection_id. En MySQL y MariaDB se utilizan placeholders ? en lugar de $1, $2.
curl -X POST "https://claix.dev/check-sql" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sql": "UPDATE shop.orders SET discount_percent = $1 WHERE id = $2",
"params": [35, 4821]
}'Si tu política establece un máximo de 20, la comprobación debería denegar el valor 35 conforme a la regla aprobada. La respuesta incluye allowed, un código de decisión, el motivo y un identificador para localizar la comprobación.
Paso 5. Comprueba allowed, no solo el estado HTTP
Una operación denegada también puede devolver HTTP 200. El 200 indica que la comprobación se completó. La autorización está en el campo allowed. Ejecuta la misma sentencia y los mismos parámetros que enviaste a Guard.
| Respuesta | Qué debe interpretar tu aplicación |
|---|---|
| HTTP 200 y allowed: true | Guard permite la operación comprobada |
| HTTP 200 y allowed: false | Guard deniega la operación |
| HTTP 401 | Hay un problema de autenticación |
| HTTP 400 | La petición contiene un error |
| Error de red, timeout o respuesta inválida | No has obtenido una autorización válida |
Qué significa que los guardrails sean deterministas
Un modelo puede ayudar durante la creación de las reglas, pero no decide en cada comprobación si una escritura está permitida. La comprobación utiliza las reglas aprobadas. No interpretes “determinista” como una promesa de latencia fija. La ventaja práctica es que la autorización no depende de convencer a otro modelo de que una operación “parece razonable”.
Cómo integrar Claix Guard con MCP, n8n o tu backend
La pregunta es qué componente tiene realmente la capacidad de escribir. El paso con credenciales debe exigir una decisión válida, no confiar en que el agente llame a Guard voluntariamente.
| Entorno | Dónde colocar la comprobación |
|---|---|
| Backend propio | En la función que ejecuta los cambios |
| Herramienta de un agente | Dentro de la implementación controlada de esa herramienta |
| n8n o Make | Antes del paso que escribe, con una condición sobre allowed |
| Cliente MCP | En un flujo donde el agente no pueda eludir la comprobación |
| Sistema con varios agentes | En el punto de ejecución común o en todos los ejecutores autorizados |
Qué puedes revisar en Guard Traces
Cada comprobación devuelve un decision_id. La respuesta también puede incluir la operación, la tabla, el SQL comprobado, reglas evaluadas, infracciones y latencia. Una decisión registrada no demuestra que la escritura se haya ejecutado: tu aplicación debe registrar por separado el resultado real.
| Dato | Para qué sirve |
|---|---|
| SQL comprobado | Revisar la operación propuesta |
| Decisión | Saber si Guard permitió o denegó |
| Motivo | Entender la causa |
| Infracciones | Identificar reglas incumplidas |
| decision_id | Correlacionar la comprobación con tus registros |
| Latencia | Medir el coste temporal del check |
Qué no resuelve Claix Guard
Guard no ejecuta las sentencias, no sustituye los permisos de base de datos y no protege cambios que se realicen por otra vía. Tampoco observa toda la lógica interna de la base, como los efectos de triggers.
| Necesidad | Papel de Guard |
|---|---|
| Comprobar un UPDATE frente a una regla aprobada | Es su función |
| Impedir escrituras sin una aprobación válida | Tu ejecutor debe imponerlo |
| Restringir permisos del usuario SQL | Se configura en la base de datos |
| Proteger una API de infraestructura | Requiere controles distintos |
| Garantizar invariantes de los datos | Mantén constraints y controles del esquema |
| Gestionar acceso de lectura | Corresponde a Retrieve y a los permisos aplicables |
Preguntas frecuentes sobre Claix Guard
- ¿Claix Guard ejecuta mis INSERT, UPDATE o DELETE?
- No. Guard devuelve una decisión. Tu código ejecuta la sentencia con sus propias credenciales.
- ¿Necesita las credenciales de escritura de mi base de datos?
- No necesita tus credenciales de escritura para ejecutar cambios, porque no los ejecuta. La API sí requiere una conexión activa configurada sobre la que comprobar las reglas.
- ¿Puedo escribir las reglas en lenguaje natural?
- Sí. Claix propone condiciones precisas a partir de tu descripción y tú las revisas, modificas o apruebas antes de aplicarlas.
- ¿Un modelo decide si mi SQL está permitido?
- No durante la comprobación. La decisión se realiza contra reglas aprobadas, de forma determinista. La ayuda de un modelo se utiliza en la propuesta inicial de reglas.
- ¿Qué ocurre si todavía no he activado ninguna regla?
- La documentación indica que, sin guards activos en la conexión, la escritura se permite. Comprueba que tienes reglas activas y que cubren las tablas y operaciones que quieres limitar.
- ¿Guard incluye aprobación humana?
- Guard devuelve allow o deny. Si quieres que una persona revise un caso, configura la regla correspondiente y deriva la denegación a un flujo de revisión de tu aplicación.
- ¿Qué diferencia hay entre Guard y Retrieve?
- Retrieve controla el acceso de lectura y devuelve datos. Guard comprueba cambios propuestos mediante INSERT, UPDATE y DELETE antes de que tu aplicación los ejecute.
- ¿Puedo proteger un agente que conserva credenciales de escritura directas?
- No basta con añadir Guard como una herramienta opcional. Si el agente puede acceder a la base sin pasar por el ejecutor que exige el check, puede eludirlo.
Empieza por una regla que puedas verificar
Elige un cambio que tu agente necesita realizar y un límite que tu negocio no puede permitirse incumplir. Configura esa regla, prueba un caso permitido y otro denegado y conecta la comprobación al componente que ejecuta la escritura. Empieza en https://www.claix.dev/es/guard y usa la documentación de Check-SQL en https://www.claix.dev/es/documentation/check-sql.
También te podría interesar…
Guía · Retrieve
Configura el retrieval de tu agente en 5 minutos con Claix Retrieve
Seguridad · Guardrails
Cómo evitar que un agente de IA borre tu base de datos: guía de guardrails y reglas (2026)
Seguridad · Guardrails
El agente de IA de Replit borró una base de producción durante un code freeze: qué pasó y cómo evitarlo
Comparativa · Seguridad
Claix Guard frente a frameworks de guardrails de IA de código abierto: ¿qué capa de seguridad de base de datos deberías usar?