Welcome to the Vericto documentation

Everything you need to integrate Vericto, configure rules, use the REST API and understand the deterministic AST proxy.

1 Pull the image

Pull the Vericto proxy image:

$ docker pull ghcr.io/vericto/vericto-proxy:latest

Next: deploy →

Getting started

Why Vericto

AST · Deterministic parsing

What is AST and why is it the best option?

Vericto parses every query into its Abstract Syntax Tree (AST), the same structural representation your database uses, via libpg_query, instead of guessing with regular expressions or heuristics. It analyzes the structure of the statement, not its text: that's why it catches what allowlists and regex miss.

  • No false positives by design. Deterministic: the same query always yields the same verdict. No probabilistic models, no variance.
  • Sees what others miss. Multi-statement, data-modifying CTEs (WITH … DELETE), subqueries and tautology injection (OR 1=1), all over the full AST, multi-dialect.
  • Unbeatable performance. Evaluation runs in-process in the TCP proxy, with no network calls on the hot path. P99 < 2 ms.

Interception in the PostgreSQL wire protocol

'P' Parse: prepared statements evaluated at the Parse phase, before values are bound. Protection independent of runtime parameters. 'Q' Simple Query: the full statement is evaluated inline before it runs. The destructive query never reaches the database.
See the full architecture

Ways to connect

Reference

Security & community