Data Provider model¶
A Data Provider is a supplier organization that submits data to you. It is a first-class object, distinct from your own Organization and its members — a provider never sees your configuration surface (entities, transformers, rules), only a scoped submission view.
Members¶
A provider has its own members with roles:
- CONTRIBUTOR — can submit data.
- MANAGER — can also manage the provider's members.
A user who logs in as a provider has their data_provider_id resolved from their
provider membership. If a user belongs to more than one provider, the active one
is selected via an X-Data-Provider-Id header.
Access grants¶
A provider does not get blanket access. You grant access explicitly, scoped to a project + contract pair. That grant is what lets the provider create or contribute to Sessions for exactly that intake — and nothing else.
Why providers are separate from members¶
Suppliers are external. Modelling them as their own entity (rather than as users in your org) keeps the tenancy boundary clean: you can onboard, scope, and revoke a supplier without touching your organization's membership or exposing internal configuration.