Permissions
Computed Joins are gated by a hybrid permission model: a user's team permission on the parent (left) datastore plus ownership of the Computed Join itself. Editors on the left datastore can manage any Computed Join. Authors can manage only the Computed Joins they own. Reading the joined output requires at least Reporter on the left datastore.
Two Permission Systems
Qualytics has two separate role systems. User Roles (Member, Manager, Admin) control what a user can do across the entire workspace. Team Permissions (Reporter, Viewer, Drafter, Author, Editor) control what a user can do on specific datastores they have access to through team membership. A user needs the right combination of both to manage a Computed Join.
Permissions on the Left Datastore
The Computed Join lives under the left container's datastore, so most checks run against that datastore's team permissions.
| Action | Reporter | Viewer | Drafter | Author | Editor |
|---|---|---|---|---|---|
| View the Computed Join (profile, anomalies, fields) | |||||
| View History and open the Query Diff dialog | |||||
| Create a Computed Join with yourself as the owner | |||||
| Create a Computed Join with another user as the owner | |||||
| Edit a Computed Join you own | |||||
| Edit a Computed Join owned by another user | |||||
| Delete a Computed Join you own | |||||
| Delete a Computed Join owned by another user | |||||
| Reassign the owner to another user | |||||
| Modify quality score settings on a join you own | |||||
| Modify quality score settings on a join owned by another user | |||||
| Run a Scan or Profile against the joined output |
For the full reference of team permissions and how they are assigned, see Team Permissions Overview.
Admin Bypass
Users with the Admin workspace role bypass all team-permission checks and can create, edit, and delete any Computed Join, regardless of team membership or ownership.
Permissions on the Right Datastore (Cross-Datastore Joins)
When the right container lives in a different datastore from the left, the platform also checks the user's team permission on the right datastore.
| Action | Reporter | Viewer | Drafter | Author | Editor |
|---|---|---|---|---|---|
| Use a container from this datastore as the right side of a Computed Join |
Reading the joined output afterwards depends only on permission on the left datastore (Reporter or higher), since the output container lives there.
Ownership Exceptions
- Authors create joins with themselves as the owner. An Author can leave
owner_idblank (the server defaults it to the calling user) or pass their own user id. Only Editors can pass another user's id as the owner. - Authors cannot transfer ownership. Even an Author who currently owns a Computed Join cannot reassign the owner to a different user. Only an Editor on the left datastore can change
owner_id.