COMPARATIVA

Vericto vs. roles de base de datos

Los roles y los GRANT son la primera línea, y lo siguen siendo. Deciden qué operaciones puede hacer un usuario sobre qué objetos. No miran la sentencia: a quien puede hacer DELETE en una tabla, la base de datos le deja borrar una fila o todas.

Qué decide cada uno

SituaciónCon roles y GRANTCon Vericto delante
Un DELETE o UPDATE sin WHERESe ejecuta si el rol tiene el privilegio DELETE o UPDATE sobre la tabla.Se bloquea por defecto, antes de llegar a la base de datos.
DROP o TRUNCATESe ejecuta si el rol es dueño de la tabla o tiene el privilegio correspondiente.Se bloquea por defecto.
Leer una columna con datos personalesPrivilegios por columna o vistas, que hay que mantener para cada rol.La columna se etiqueta como sensible: la query se bloquea, se marca o devuelve el valor enmascarado (Postgres y MySQL).
Limitar un agente a ciertas tablasUn rol por agente, con sus GRANT.Una allowlist por agente, de tablas y columnas, evaluada sobre el AST.
Saber qué intentó ejecutar el agenteLos logs de la base de datos, si están activados.Cada decisión en el audit trail, con la regla y el nodo del AST; exportaciones firmadas.
Probar un cambio de políticaSe prueba en otro entorno.El simulador lo evalúa contra el tráfico real, y el modo observación marca sin bloquear.

Por qué un rol de solo lectura no siempre alcanza

Muchos agentes necesitan escribir: crear un registro, actualizar un estado, correr una migración. Darles solo lectura los deja sin poder hacer su trabajo; darles escritura les da también la sentencia destructiva. La base de datos evalúa permisos, no la forma de la sentencia: UPDATE orders SET status = 'paid' WHERE id = 42 y el mismo UPDATE sin WHERE requieren exactamente el mismo privilegio.

Y aun con solo lectura, un SELECT email, card_number FROM customers lleva datos personales y de pago al contexto de un LLM.

Lo que Vericto no reemplaza

  • Los roles con mínimo privilegio, los privilegios por columna, las vistas y el row-level security siguen siendo la primera línea. Vericto es defensa en profundidad.
  • Solo el proxy TCP está entre la query y la base de datos. La API, la CLI y MCP informan el veredicto; para que sea un control, el agente debe llegar a los datos a través del proxy.
  • Por defecto, una query que no se puede parsear pasa y queda registrada (fail-open); el workspace puede cambiar a fail-closed.

Cómo usarlos juntos

  • Un rol por aplicación o por agente, con los privilegios mínimos que necesita.
  • Vericto delante, con el proxy, para las reglas sobre la sentencia: sin WHERE, DROP, TRUNCATE, columnas sensibles y la allowlist del agente.
  • El modo observación primero, para ver qué se bloquearía antes de bloquear.

Pruébalo con tu propio SQL

El plan Free incluye 500K queries al mes y 1.000 validaciones de CLI y MCP, sin tarjeta de crédito.

Empezar gratis