About model governance
Model access: Some models are mature, reusable data productions. Others are your team's implementation details on the way there. Mark models as "public" or "private," to make the distinction clear and to control who else can ref
them.
Model contracts: Guarantee the shape of a model while it is building to avoid surprises or breaking changes for downstream queries. Explicitly define column names, data types, and constraints (as supported by your data platform).
Model versions: When a breaking change is unavoidable, provide a smoother upgrade pathway by creating a new version of the model. These model versions share a common reference name and can reuse properties & configurations.
Project dependencies: enterprise Use cross project dependencies to reference public models across dbt projects using the two-argument ref, which includes the project name.
Model governance features like model access, contracts, and versions strengthen trust and stability in your dbt project. Because they add structure, it can make it harder to roll changes back later (for example, removing model access) and increases maintenance if adopted too early.
Before adding governance features, consider whether your dbt project is ready to benefit from them. Introducing them too soon can make future changes harder if your models are still changing/evolving.