Qué protege
- VERICTO-087, acceso de agentes (Team y Enterprise): una allowlist de tablas y columnas por identidad, en lectura o lectura y escritura. Empieza en observe, pasa a enforce, y todo lo demás se deniega.
- VERICTO-085, columnas sensibles (Team y Enterprise): en el proxy, una columna etiquetada
maskllega enmascarada al agente y unablockno se lee. La API de runtime y MCP devuelven la query aprobada (rewritten_query,approved_query), que tu código debe ejecutar en lugar de la original. - VERICTO-001, 042, 010 y 011: el SQL destructivo que un LLM genera ante un pedido ambiguo.
- VERICTO-090: tautologías como
OR 1=1, típicas de una instrucción inyectada. - VERICTO-050 y 051: SELECT sin LIMIT o SELECT * sin WHERE, que se marcan para que veas qué agentes leen tablas enteras.
La identidad cambia según el modo: en el proxy es el usuario de base de datos de la sesión; en la API de runtime y MCP, la API key. Usa un usuario o una key por agente. La allowlist se impone en el proxy; en los demás modos es una decisión que tu código respeta.
Latencia y disponibilidad
Proxy: un salto de red y la evaluación en su propio proceso.
Para el parsing y la evaluación de reglas, el objetivo de diseño es p99 < 2 ms. Es un objetivo, no una medición: el benchmark de latencia del proxy todavía no está publicado.
API de runtime: una llamada HTTP por sentencia, antes de ejecutarla. No publicamos todavía una cifra para ese round trip: mídelo desde tu región. Tiene un límite de seguridad de 100 solicitudes por segundo por API key. MCP queda fuera del camino de ejecución, y cada statement cuenta en la cuota de validaciones.
La API de runtime, la API de validación y MCP corren en Vericto Cloud, con un SLA de 99,5% en Builder y de 99,9% en Team y Enterprise (99,95% y 99,99% con despliegue dedicado). El estado del servicio, en la página de estado.
Cómo implementarlo
- Crea un usuario de base de datos para el agente y conéctalo a través del proxy TCP (Postgres o MySQL): el agente no cambia, solo su connection string.
- En el dashboard, crea la allowlist del agente en observe, déjalo trabajar y simula la política contra sus queries de los últimos 7 días.
- Etiqueta las columnas sensibles (email, tarjeta, documento) con
maskoblock. - Pasa la allowlist a enforce: lo que queda fuera se bloquea con VERICTO-087.
- Sin proxy (Oracle, SQL Server o un agente que no puedes reconectar), llama a la API de runtime desde la herramienta SQL del agente y ejecuta solo si la respuesta es
200, usandorewritten_querycuando venga. - Para agentes de código (Claude Code, Copilot, Kiro), conecta el servidor MCP para que validen el SQL con
check_sqlmientras lo escriben.
Próximamente: los SDK de Vericto para Python y Node, con integraciones para LangChain y LlamaIndex que consultarán la API de runtime antes de cada ejecución. Todavía no están publicados en PyPI ni en npm; hasta entonces, usa el proxy o la API de runtime directamente.
Cuándo no usar esta opción
- Como única defensa. Vericto es defensa en profundidad: los roles, los permisos y el row-level security de tu base siguen siendo la primera línea. Si el agente solo lee un conjunto fijo de datos, una vista o una réplica de solo lectura con su propio rol puede bastar.
- Para detectar la inyección de prompts. Vericto no ve el prompt: limita lo que una inyección exitosa puede hacer con el SQL.
- MCP como control. Un agente puede ignorar el veredicto. Para imponer las reglas en runtime, usa el proxy.
- Vistas, funciones y triggers. Vericto no conoce tu esquema: una vista o una función sobre una tabla no se resuelve a esa tabla en la allowlist.
Disponibilidad por plan
| Función | Free | Builder | Team | Enterprise |
|---|---|---|---|---|
| Proxy TCP (PostgreSQL y MySQL) | Sí | Sí | Sí | Sí |
| API de runtime | Sí | Sí | Sí | Sí |
| MCP (check_sql) | Sí | Sí | Sí | Sí |
| Validaciones de CLI y MCP | 1K al mes | 10K al mes | Ilimitadas | Ilimitadas |
| Allowlists por agente (VERICTO-087) | — | — | Sí | Sí |
| Columnas sensibles y enmascaramiento (VERICTO-085) | — | — | Sí | Sí |
| SDK de Python y Node (LangChain, LlamaIndex) | Próximamente | |||
Precios y todos los límites en Precios.