CLITCP proxySDK (coming soon)Partly coming soon

Data pipelines: dbt in CI and every Airflow SQL task

A pipeline runs SQL nobody looks at: a model that replaces a table, a task that deletes instead of filtering. Vericto checks dbt SQL in CI, before deploy, and evaluates every Airflow SQL task that goes through the TCP proxy, without changing the DAGs.

Part of this architecture is coming soon. Available today: the CLI in CI, with the PostgreSQL, MySQL, Oracle, SQL Server, Snowflake and SQLite dialects, and the TCP proxy for Postgres and MySQL. Coming soon: vericto-dbt check, the Airflow operator and cluster policy, which come with the Python SDK (not published yet).

Diagram: data pipelines with dbt, Airflow and VerictoAbove, dbt: a pull request with dbt models triggers a CI job that runs the SQL dbt compiled through vericto check; the Validation API, in Vericto Cloud, returns the verdict. vericto-dbt check is coming soon. Below, Airflow: with the DAGs unchanged, each task's connection points at the Vericto proxy, which evaluates every statement before PostgreSQL or MySQL. The Airflow operator and cluster policy are coming soon.dbt: in CI, before deployAirflow: every SQL taskallowedPull requestdbt modelsvericto checkSQL compiled by dbtValidation APIin Vericto CloudEvaluates herevericto-dbt checkComing soonAirflowDAGs unchangedVericto proxythe connection's hostEvaluates hereDatabasePostgreSQL or MySQLAirflow operatorComing soonDiagram: data pipelines with dbt, Airflow and VerictoAbove, dbt: a pull request with dbt models triggers a CI job that runs the SQL dbt compiled through vericto check; the Validation API, in Vericto Cloud, returns the verdict. vericto-dbt check is coming soon. Below, Airflow: with the DAGs unchanged, each task's connection points at the Vericto proxy, which evaluates every statement before PostgreSQL or MySQL. The Airflow operator and cluster policy are coming soon.dbt: in CI, before deployAirflow: every SQL taskallowedPull requestdbt modelsvericto checkSQL compiled by dbtValidation APIin Vericto CloudEvaluates herevericto-dbt checkComing soonAirflowDAGs unchangedVericto proxythe connection's hostEvaluates hereDatabasePostgreSQL or MySQLAirflow operatorComing soon
  • SQL statement path
  • Where Vericto evaluates
  • Vericto component that does not evaluate
  • Coming soon: not available yet
Above, dbt: the CI job runs the compiled SQL through the CLI and deploys only if the check passes. Below, Airflow: the task's connection points at the proxy, which evaluates every statement.

What it protects

Latency and availability

In CI, the check runs outside the runtime and does not affect how the pipeline runs. The CLI sends SQL in batches of up to 500 statements, and each statement counts as one validation.

In Airflow with the proxy, each statement adds the hop to the proxy and its in-process evaluation.

For parsing and rule evaluation, the design target is p99 < 2 ms. It is a target, not a measurement: the proxy latency benchmark is not published yet.

How to implement it

  1. dbt: install the CLI in the CI job (installation) and store an API key with the ci_dryrun:execute scope as a secret.
  2. Compile the project (dbt compile writes the SQL to target/compiled) and run it through vericto check with your warehouse's dialect: PostgreSQL, MySQL, Oracle, SQL Server, Snowflake or SQLite.
  3. Deploy (dbt run) only if the check passes: exit code 1 fails the job.
  4. Airflow: deploy the proxy next to the workers or as a service and point the Airflow connection's host and port (Postgres or MySQL) at the proxy. The DAGs do not change.
  5. Give the pipeline its own database user, to see its traffic separately and, on Team and Enterprise, give it its own allowlist.

Coming soon: vericto-dbt check, which will read the dbt project directly, and for Airflow an operator and a cluster policy that will evaluate every SQL task through the Runtime API, also on dialects with no proxy.

When not to use this option

  • Transformations that are not SQL (Spark, pandas): Vericto evaluates SQL statements, nothing else.
  • Materializing tables through the proxy. If the pipeline creates tables with CREATE TABLE AS SELECT through the proxy, VERICTO-084 blocks them by default: disable it or change its severity in that pipeline's workspace, and simulate the change first.
  • Airflow tasks on Snowflake through the proxy. Snowflake has no proxy: until the Airflow operator and cluster policy arrive (coming soon), call the Runtime API from the task. See data warehouse.

Plan availability

FeatureFreeBuilderTeamEnterprise
CLI and GitHub ActionYesYesYesYes
CLI and MCP validations1K per month10K per monthUnlimitedUnlimited
TCP proxy (PostgreSQL and MySQL)YesYesYesYes
Queries per month (proxy and Runtime API)500K5M50MUnlimited
Rule simulator—Up to 30 daysUp to 90 daysPer contract (up to 180 days)
vericto-dbt, Airflow operator and cluster policyComing soon

Prices and every limit on Pricing.

Try it with your own SQL

The Free plan includes 500K queries a month and 1,000 CLI and MCP validations, with no credit card. For deployments in your VPC, SSO and dedicated SLAs, talk to sales.