Data Contracts

A data contract is a promise with consequences

Someone commits to delivering data in a specific shape, at a specific cadence, within specific bounds. TestGen runs the tests that prove every term. Coming to TestGen May 2026.

“So much of what we do involves business questions that are fire drills. Executives don't trust our analytics. DataKitchen enabled us to deliver over 10,000 data quality validation tests that run every release. Now, they trust us.”

Manager, Data Quality

One view, every contract

Every supplier, every output, every internal pipeline on one page. Pass rate, last run, failing terms. No dashboards to build. No dashboards to maintain.

One view, every contract

Every term, tested and tracked

Each contract breaks down to its terms. Data types, null rules, value ranges, freshness, schema. TestGen runs the tests, tracks enforcement, and shows coverage. When a term fails, you see the table, the column, and the exact threshold it missed.

Every term, tested and tracked

Hand the contract to your supplier

TestGen is open source. Free, no account, no seat count. Send your supplier the tool and the contract. They install it in 10 minutes, run it before they ship, and you never see a broken file. Stop playing goalie.

Start with one contract

Pick the export you're most nervous about shipping, or the supplier who sends you the most garbage. Write one contract. Run it for a month.

Frequently Asked Questions

Common questions about Data Contracts

What is a data contract?

A data contract is an enforceable agreement about what a dataset contains: its schema, value constraints, freshness, and who is accountable when those break. The useful version has a test behind every clause, so the contract is evidence that ran last night rather than a document somebody wrote once.

How do you enforce a data contract?

By turning each clause into a test that runs on a schedule and reports pass or fail. Enforcement is the difference between a contract and a wish. Without the test, a breach is discovered by whoever consumes the data, which is exactly the situation the contract was meant to prevent.

Why do data contract initiatives fail?

Because teams treat them as legal negotiations rather than as receipts. Six weeks of meetings produce a PDF nobody checks. Starting with one dataset, encoding what you already promise informally, and shipping the passing test alongside the data teaches more than a program that tries to contract everything at once.

What should a data contract specify?

Which columns exist and their types, which fields are never null, acceptable value ranges, expected freshness, and expected volume. Each of those maps to a test. Anything you cannot express as a test is a preference rather than a contract term.

Do data contracts help with AI?

Yes, and it is the case that matters most. AI consumes data without a human reviewing it, so there is no step where somebody notices a column changed meaning. A contract is the checkpoint that catches a schema change or shifted value range before it reaches training or inference.

How do you start with data contracts?

Pick one dataset you already ship to somebody and write down what you implicitly promise about it. Turn each promise into a test. Publish the result with the data. One working receipt is more persuasive than a governance framework covering everything.