Access
An access is an agreement between a data product provider and a consumer to use one of the provider's output ports. It records who may use the data, for what purpose, and under which data contract terms.

Provider and consumer
- The provider is a data product and one of its output ports — the data being shared.
- The consumer is who receives access: a user, a team, or another data product (a data-product consumer creates lineage between products).
Every access also carries a purpose — why the consumer needs the data — and, optionally, a start and end date.
Lifecycle
An access moves through a small lifecycle:
- Requested — a consumer asks for access (see Request Access).
- Approved or Rejected — the providing team decides, governed by the Access Approval Workflow. An output port can also auto-approve.
- Active — once approved and the start date has been reached, the access is active and the consumer should have the data.
- Canceled, then Deactivated — the access is ended and, at its end date, deactivated.
The active flag reflects whether the agreement is currently in force.
From agreement to real access
Approving an access says the consumer should have the data — it does not, by itself, create the grant in the data platform. That is Provisioning: a component you run reacts to the access becoming active, creates the grant, and reports back whether it actually exists.

Managing access
- Request and approval happen in the web UI — see Request Access and the Access Approval Workflow.
- Programmatically, use the Access API to read access state, approve or reject externally, and report provisioning.