Docs / Reference / Roles and permissions
Reference For everyone

Roles and permissions

Everybody can read everything: the record is not hidden from anybody who may sign in. What a role restricts is who may decide — answer a demand, accept the agreement, promote a release. A role cannot approve its own request, which is why the three gates belong to three different roles. How a person gets a role is in Identity.

This page is generated from dpf/domain/rbac.py.

Roles

Role Who Decides
Use Case Team (use_case) Asks for the data product and lives with what it promises. Writes the brief, states the requirements, and signs the contract. the brief, requirements, the contract signature
Source System (source_system) Owns data somebody wants. Signs their section of the data contract's v0.1 and the access request — and is the only role that can, because a team cannot approve its own ask. the data contract v0.1, access requests
Data Hub (data_hub) Builds the product: the design, the model, the contract text, the release. Accountable for it working, not for whether it was wanted. the design, descriptions, releases and promotion
Administrator (admin) Everything, plus managing people. Exists so a workspace of one is usable; a real deployment gives it to as few people as possible. everything

Permissions

An administrator holds every permission. Anything not listed is denied.

Permission Lets you Held by
product.create Start a new data product. Use Case Team, Data Hub
product.edit Change a product's delivery context: freshness, history, retention, sensitivity, consumers and business questions. Use Case Team, Data Hub
requirement.write Write, revise and retire requirements, and accept drafted ones. Use Case Team, Data Hub
source.scope Choose the source systems and tables a product draws on. Use Case Team, Data Hub
demand.send Send a source system's owner their section of the data contract v0.1. Use Case Team, Data Hub
access.raise Raise an access request for a source system. Use Case Team, Data Hub
demand.decide Sign your section of the data contract v0.1 — grant, grant with conditions, or deny — for a system you own. Source System
access.decide Approve or refuse an access request for a system you own. Source System
design.edit Change the data model. Data Hub
description.write Write what a column means to the business. Data Hub, Use Case Team
description.approve Sign off a column's business description. Data Hub
contract.write Draft and edit the data contract. Data Hub
agent.run Ask an agent for a draft. Data Hub, Use Case Team
release.build Build and validate a release, push the build plan to a tracker, and push quality checks to Databricks. Data Hub
release.promote Approve, promote and roll back a release. Data Hub
contract.sign Accept the data contract, and sign off the integration test, on behalf of the consumer. Use Case Team
user.manage Add people, change their roles, send sign-in links, and change connection settings. Administrator

A source owner may only answer for the system they own: holding the role is not the same as owning the data.

Documentation for version 0.2.0 Reviewed 2026-10-19 Covers dpf/domain/rbac.py