data-infra
Glossary ↗Data Contract
A data contract is an explicit, enforced agreement between a data producer and its consumers about the shape and semantics of the data: field names, types, allowed values, freshness guarantees, and what counts as a breaking change. It treats a dataset or event stream like an API — with a versioned schema and a promise not to break it silently. The problem it solves is fragile pipelines. In many companies, an engineer renames a column in the app database, and three dashboards and a churn model quietly break downstream because nobody knew they depended on it. A data contract makes those expectations explicit and testable, so a breaking change is caught in CI instead of in production reports. For SaaS builders, contracts matter once analytics and ML start depending on your product's data. Practical note: keep contracts lightweight and enforce them automatically — validate schemas at the pipeline boundary, version them, and fail fast when a producer violates one. Start with your highest-value data flows rather than trying to contract everything at once.
Related terms