October 2026
Rule simulator: a production dry-run before you enforce
- New The rule simulator replays new or edited custom rules, and changes to standard rules, against the workspace's real query history before you enforce them, over the window you choose: up to 30 days on Builder, 90 on Team and per contract (up to 180) on Enterprise. It groups queries by flow and compares with your rules of today.
- New A report with a verdict (PASS, WARN, FAIL or INCONCLUSIVE): newly blocked, with the legitimate flows that would break apart, newly flagged, rules that stop blocking, and masked samples. Engine drift is reported apart and never attributed to your change.
- New From the dashboard (Rules → Simulations, and “Simulate against production” in the rule editor) and from CI with
POST /api/v1/ci/rules/simulateand an API key with the newrules:simulatescope. Builder, Team and Enterprise plans. - Improved The custom rule preview decrypts events before evaluating them, filters by dialect and database, masks the example query and counts apart the events that cannot be replayed.
October 2026
Agent access: names by dialect and a default schema (vericto-engine 3.8.1, rolling out)
- Improved An entry without a schema means the default schema (
publicon Postgres, or the one you configure), qualified or not in the query, and no longer the table in any schema. A table in another schema needs an entry naming that schema. - Improved Names compare the way your database compares them: on Postgres
User(created quoted) anduserare two tables; on MySQL table and database names compare exactly. The observed schema shows names as traffic does. - Improved Under a policy, the SQL statements
PREPARE,EXECUTEandDEALLOCATEare denied: the allowlist cannot see the statement they run. Drivers' and ORMs' prepared statements are not affected. - New A default schema/database per database, in Agent access. On MySQL, the database your app connects to: with it, Prisma's
`db`.`Table`queries match entries without a schema. For TCP proxy sessions on MySQL, the connection's database wins. - New Requires vericto-engine 3.8.1, vericto-proxy 4.8.1 and vericto-eval 2.4.1, which are rolling out; until then the 3.8.0 name rules apply.
October 2026
Agent access (VERICTO-087): per-identity allowlists, enforced in vericto-proxy 4.8.0 / vericto-eval 2.4.0
- New Agent access, in Databases → Data access → Agent access: give each agent an allowlist on a database, with the tables and columns it may use, read only or read-write. Everything else is denied for that identity. The identity is the calling API key (Runtime API, CLI, Validation API and MCP) or the session's database user (TCP proxy); an identity without a policy behaves as before. Team and Enterprise plans.
- New Enforced: vericto-proxy 4.8.0 and vericto-eval 2.4.0 (vericto-engine 3.8.0) are deployed. A policy in
enforceblocks at the TCP proxy, and the Runtime API, the CLI, the Validation API and MCP return the decision. - New Observe → Enforce: under
observewhat falls outside the allowlist is flagged and never blocked; underenforceit is blocked with VERICTO-087. - New Simulation: before saving or enforcing, replay that identity's queries from the last 7 days with the draft and see how many it would have blocked, with links to each event. Nothing is sent to your database and nothing is recorded.
- Improved Precedence with sensitive columns: a blocked or masked column stays blocked or masked even when allowed.
October 2026
MySQL masking, VERICTO-086 advisory published and proxy 4.7.1
- New MySQL masking (VERICTO-085): with a
masktag, the TCP proxy (vericto-proxy 4.7.0 or later, vericto-engine 3.7.0) sends the rewritten query and MySQL, MariaDB or Aurora MySQL return the value already masked. The Runtime API, the CLI and MCP get the masked query from vericto-eval 2.3.0. - Improved The masks use only functions MySQL 5.7, 8.0, Aurora MySQL and MariaDB all have, and return the same as on Postgres.
- Improved
SELECT *, whole-row references and copies into another table still block undermask: list the columns. - Fix vericto-proxy 4.7.1: the built-in ruleset, the one the proxy applies at startup and without a control plane, is the whole 30-rule catalogue again (VERICTO-085 and VERICTO-086 were missing).
- Fix Security: on October 9, 2026 we published the advisory GHSA-64jm-544q-7f5j for the MySQL rule-evasion fix in vericto-engine 3.7.0 (VERICTO-086; versions before 3.7.0 are affected). If you use Vericto with MySQL, upgrade to vericto-proxy 4.7.1 and vericto-eval 2.3.0.
October 2026
Sensitive columns, VERICTO-086 and new proxy, evaluator and CLI releases
- New Sensitive column protection (VERICTO-085): tag columns per database with the
block,flagormaskpolicy. Withmask, the TCP proxy sends a rewritten query and the database returns the value already masked: first on Postgres (vericto-proxy 4.6.0, vericto-eval 2.2.0), then on MySQL, MariaDB and Aurora MySQL (vericto-proxy 4.7.0, vericto-eval 2.3.0). Team and Enterprise plans. - Fix Security: on MySQL, rule evaluation now follows MySQL's own reading of comments and string escapes. SQL text that MySQL and the engine would read differently is blocked by the new CRITICAL rule VERICTO-086, which cannot be disabled and whose message carries no query text. If you use Vericto with MySQL, upgrade to vericto-proxy 4.7.0 and vericto-eval 2.3.0.
- Improved With at least one column tagged
blockormask, a query that cannot be parsed is blocked, whatever the workspace's action for unparseable queries: it cannot be shown not to read a tagged column. - Fix vericto-proxy 4.6.0: with
PROXY_TLS_MODE=require, a PostgreSQL client that connects in plaintext gets an error (SQLSTATE 28000) and the connection closes before any upstream connection is opened.PARSE_ERRORevents now carry the parser's message. - Improved vericto-proxy 4.7.0: in sanitized mode, telemetry normalizes MySQL queries with the MySQL lexer, so a double-quoted value is no longer reported in clear. Since vericto-proxy 4.5.0, the last good ruleset survives a restart during a control-plane outage.
- New CLI 1.6.0: if it cannot read the workspace configuration, the CLI sends no SQL and exits with code 4 (
--allow-unsanitizedopts out). An exhausted monthly allowance exits with code 3. The pre-commit hook checks the staged content (git show :path) and handles paths with spaces. The sanitizer understands backslash escapes in MySQL and in PostgresE'...'strings. - New vericto-eval 2.2.0 and 2.3.0:
POST /evaluateacceptssensitive_columnsand returnsrewritten_queryand the tagged columns the query reads. A request withoutsensitive_columnsis evaluated exactly as before.
October 2026
Audit log, signed compliance reports and unparseable queries
- New Workspace audit log, under Settings → Audit log, for the owner and admins: who changed what in rules, API keys, members and invitations, SSO and OIDC, databases, workspace settings, enforcement policy, alert destinations and billing, with filters and a diff of the changed fields. The log is append-only.
- Improved The query history is append-only: an event cannot be changed or deleted, except by your plan's retention or a requested deletion. Deleting a database no longer deletes its events: they are kept with the database's name.
- New A signed compliance report PDF with every audit trail export (Team and Enterprise): period summary, most triggered rules, SOC 2 and ISO/IEC 27001:2022 control mapping from the workspace's own evidence, and the configuration at the start and end of the period. On Enterprise, also an automatic signed monthly report, kept for 400 days or whatever the contract sets.
- Improved
GET /api/v1/meta/export-signing-keypublishes Vericto's active signing key and the retired ones, and?key_id=returns the key of a given report, so a key rotation does not stop earlier signed reports from being verified. - New Settings → Unparseable queries: choose fail-open (the default: the query is forwarded and recorded as
PARSE_ERROR) or fail-closed (it is blocked). The owner and admins can change it, on every plan. It applies to the TCP proxy and the Runtime API, and every enforcement policy change is recorded in the audit log. - Improved Each SQL statement counts as one check against the monthly allowance, in the CLI, the Validation API and MCP. If a request needs more checks than remain, it is rejected whole before anything is evaluated, and the error says how many it needs and how many remain. Since CLI 1.5.0, each statement in a file is reported separately, with its real line.
- New Integrations page in the dashboard, with the five modes (TCP proxy, Runtime API, CLI, Validation API and MCP) and their activity. The remote MCP server is at
https://mcp.vericto.com/mcp.
September 2026
Editing and deleting custom rules
- New Custom rules can be edited and deleted from the dashboard. A deleted rule stops being enforced and stops counting toward the plan limit, and past blocks keep its code. The rule's description is now saved.
- Improved A custom rule with an unknown predicate is rejected when it is created or edited, with a specific message.
- Fix VERICTO-019 detects
DISABLE ROW LEVEL SECURITYon PostgreSQL (vericto-engine 3.5.2). - Improved vericto-proxy 4.4.0:
PROXY_TLS_CERTandPROXY_TLS_KEYaccept inline PEM, not only a path.
August 2026
Every violation of each query, and CLI 1.1 to 1.4
- New Each event records every rule the query violated, not only the one that decided the outcome (vericto-engine 3.5.0).
- Improved In checks (CLI, dashboard dry-run and MCP), schema DDL (
DROP,ALTER,TRUNCATE) is reported instead of blocked, because migrations legitimately contain it. ADELETEwithoutWHEREand security findings still block. The TCP proxy is unchanged. - New CLI 1.1 to 1.4: browser login (
vericto login),vericto rules listandrules show, inline SQL with--sql,vericto keys list,vericto docs,vericto feedback, a readable summary when a check fails, and inline annotations in GitHub Actions. - Improved More precise detection of always-true conditions: constant-only
IN,BETWEENandLIKE '%'(vericto-engine 3.3.0). Fixed VERICTO-010 false positives onDROPof objects that are not tables (views, functions, triggers, policies) and VERICTO-040 false positives on a filteredINSERT … SELECT. - Fix Security: a single statement with extreme nesting can no longer stop the evaluator or the proxy. The engine rejects it before parsing it (vericto-engine 3.5.1).
- New OIDC trust policies can be bound to immutable claims of the CI token, such as GitHub's numeric IDs, which survive renaming the organization or the repository. In the dashboard, a latency widget per evaluation channel (TCP, API, CLI and MCP).
July 2026
CLI 1.0, OIDC federation, MCP server and 8 new rules
- New 8 new standard rules (vericto-engine 2.1.0, June 27): VERICTO-017 to 019 (
DROP CONSTRAINT, column type change,DISABLE TRIGGER/ROW LEVEL SECURITY), VERICTO-080 and 081 (COPY … PROGRAMandDOblocks, CRITICAL, on Postgres) and VERICTO-082 to 084 (GRANT/REVOKE,MERGEandCREATE TABLE … AS SELECT). - New First public CLI release (1.0.0):
vericto check, SARIF and GitLab output,doctor,initandverify-receipt, with prebuilt binaries and the@vericto/vericto-clinpm package. - New OIDC federation for CI: the pipeline exchanges its OIDC token for a short-lived key, according to the workspace's trust policies, without storing long-lived API keys. Signed run receipts, verifiable offline with
vericto verify-receipt, and CI run history in the dashboard. - New Remote MCP server: a coding agent checks its SQL with
check_sqlagainst the workspace rules. - Improved Rule codes change from
VETRO-NNNtoVERICTO-NNNand the proxy's environment variables fromVETRO_*toVERICTO_*(vericto-proxy 4.0.0). - Improved Custom rules: predicates go under a
condition:block, and aFuncCallnode matches function calls (vericto-engine 3.1.0).
v1.4.0
Custom YAML rules and hot-reload
- New Custom rules defined in YAML for query patterns specific to your domain. Available on Builder plans and above.
- New Hot-reload for custom rules: changes propagate to the proxy in under 5 seconds with no restart.
- New Custom rule management from the workspace dashboard, plus inspection of the effective catalogue from the CLI with
vericto rules listandvericto rules show <CODE>. - Improved Preview custom rules against query history before enabling them in production.
v1.3.0
CI/CD dry-run mode and command-line SDK
- New CLI
vericto check queries.sql --dialect postgresto validate queries in CI before deploying. Exit code 1 when it detects destructive queries. - New Native GitHub Actions integration: inline PR annotations with the rule code and the suggested fix.
- New Support for validating several migration files at once:
vericto check migrations/*.sql --dialect postgres. - Improved The CLI checks against the workspace's current rules on every run, so a rule change applies on the next check. It needs access to the Vericto API: there is no offline mode.
v1.2.0
Exportable audit trail with Ed25519 signature
- New Audit trail export in CSV and JSON with an Ed25519 signature over the whole file, verifiable offline.
- New Audit trail export from the dashboard and the API, with filters by date range, database and decision.
- New Vericto's public signing key, published at
GET /api/v1/meta/export-signing-key, so auditors can confirm the integrity of exports. - Improved At-rest encryption of query text upgraded to AES-256-GCM with per-workspace derived keys.
v1.1.0
Oracle / SQL Server support and real-time alerts
- New Support for the Oracle and SQL Server (T-SQL) dialects via API and CLI, with dialect-specific semantic rules.
- New Real-time alerts via Slack and webhooks for CRITICAL-severity blocks.
- New Smart notification rate limiting: at most 10/min with an automatic digest.
- Improved
DELETEwithLIMITdetection now differs by dialect: valid on MySQL, blocked on Postgres. - Fix Fixed a false positive on queries with recursive CTEs containing nested SELECTs.
v1.0.0
Vericto public launch
- New Transparent TCP proxy for PostgreSQL and MySQL: onboarding in under 5 minutes by changing only the connection string.
- New Deterministic AST parsing with
pg_queryandsqlparser-rs. Latency <2ms at p99. - New Level 1 destructive-query ruleset: DELETE without WHERE (VERICTO-001), UPDATE without WHERE (VERICTO-042), DROP (VERICTO-010), TRUNCATE (VERICTO-011).
- New Query dashboard with an actionable explanation: the offending AST node, the rule triggered and the suggested safe query.
- New Rule configuration per workspace and per database (production, staging, development).
v0.9.0
Closed beta
- New Closed beta with 30 engineering teams building on LangChain and LlamaIndex over Postgres.
- New First version of the AST parser and the ruleset of 4 CRITICAL rules.
- Improved Iteration on the explanation dashboard based on feedback from the beta teams.
Don't want to miss any release?
Follow us on GitHub to receive notifications for each new release, or subscribe to the technical blog for deep-dives.