Bad data stops before the warehouse
Expectations, schema contracts and redaction run on the way in. Analytics engineers hear about a broken source at the pipeline that loaded it, while the fix is cheap and the warehouse is still clean.
Checks, contracts and redaction
Quality governs the values, contracts govern the shape, and redaction governs what is allowed to land at all. All three run in the pipeline rather than in a dashboard downstream.
Data quality
Declare expectations once. Rows that fail are quarantined before they reach the warehouse, per dataset, table or row.
Checked per dataset, table or row
Contracts
Declare what the warehouse is allowed to receive. Schema changes are accepted, blocked or quarantined by rule, on the run that introduced them.
| Schema change | Dataset | Contract says | |
|---|---|---|---|
| Column added: discount_pct | orders | Allowed, added | |
| Type changed: amount | orders | Blocked, run halted | |
| Table added: refunds | finance | Allowed, added |
Redaction
Mark a column as sensitive and it is redacted before the load, so the raw value never lands in the warehouse.
Run the checks against your own source
Thirty minutes with our team. We put expectations on a table you actually load and show what happens when a row fails.
Load Oracle BICC into Snowflake, hourly
dlthub-router
routed to sql-database
create-sql-database-pipeline
scaffolded oracle_bicc, 14 tables
deploy-workspace
Skills to ensure data quality with dltHub
One of the ten toolkits in the dltHub AI harness. Its skills propose checks, wire them into a pipeline and explain a failure when one occurs.
Called from
Data Quality
Define checks and metrics that run on every load
Start a data quality workflow on a pipeline. Discover tables, read the schema, and propose check candidates.
Paste this into your coding agent
Installs the harness if it is not already set up, then runs the skill.
Add data quality checks to my Stripe pipeline
Free course
Learn to build data quality checks
The agentic data engineering course covers defining expectations, wiring them into a pipeline and handling what happens when a load fails the check.