Resource Hierarchy
Credible organizes resources into two main hierarchies:Governance Hierarchy (Projects & Packages)
Where trusted, version-controlled data models are built and maintained:Collaboration Hierarchy (Workspaces & Documents)
Where analysis and data exploration happen:Groups
Groups organize users and simplify permission management across both hierarchies:Roles by Resource
Each resource type has specific roles that determine what users can do:Organization Roles
Role | Capabilities |
---|---|
Admin | Full control over organization, can create projects/workspaces/groups, manage all settings and members |
Modeler | Can create and modify data models, manage packages |
Member | Basic organization membership |
Project Roles
Role | Capabilities | Inheritance |
---|---|---|
Admin | Full control over project, manage connections, settings, and all packages | Inherits from Organization Admin |
Modeler | Create and update packages, manage versions, use project connections to build models | Project Admin is also a Modeler |
Viewer | Run queries against models, view model source code (measures, dimensions), cannot edit or publish | Project Modeler is also a Viewer |
Package Roles
Role | Capabilities | Inheritance |
---|---|---|
Admin | Full control over package and versions | Inherited from Project Admin |
Modeler | Create, update, and publish package versions | Inherited from Project Modeler |
Viewer | Run queries against models, view model source code | Inherited from Project Viewer |
Workspace Roles
Role | Capabilities | Inheritance |
---|---|---|
Manager | Administrative control over workspace, manage members, settings, and all documents | Inherits from Organization Admin |
Viewer | View workspace and documents, run queries, duplicate documents | Workspace Manager is also a Viewer |
Document Roles
Role | Capabilities | Inheritance |
---|---|---|
Editor | Modify document content, run code, share with others | Inherited from Workspace Manager |
Viewer | View document and source code, run queries, duplicate document to create editable copy | Document Editor is also a Viewer |
Group Roles
Role | Capabilities |
---|---|
Admin | Manage group members, settings, and permissions |
Member | Group membership for permission assignment |
How Permissions Work
Hierarchical Inheritance
Permissions flow down from parent resources to child resources:- Organization Admins automatically become Project and Workspace Admins
- Project Admins automatically become Package Admins
- Workspace Managers automatically become Document Editors
- Groups inherit permissions through the hierarchy
Additive Permissions
When a user has multiple permission sources (e.g., direct access and group membership), their effective permission is the most permissive of all grants.Groups Simplify Management
Instead of granting permissions to individual users, you can:- Create a group (e.g., “Marketing Team”)
- Add users to the group
- Grant the group permissions on resources
- Group members automatically inherit those permissions
Connection Access
Database connections are defined at the project level:- Project Admins can create, update, and delete connections
- Project Modelers can list and use connections in their models
- Queries are governed: Users execute queries through semantic models, not directly against databases
- This provides a safe, consistent layer for data access with centralized security
Requesting Access
Users can request access to resources they don’t currently have permission to view:- When you discover a resource you need access to, you can request permission
- The request is sent to resource administrators for approval
- Once approved, you’ll receive the specified role on that resource
Workspace-Package Linking
Workspaces can be attached to specific packages:- This grants workspace members the ability to query those packages
- Provides document-scoped access without granting project-level permissions
- Enables collaboration on specific models while maintaining governance
Three Layers of Security
Credible implements security at multiple layers:- Application Layer: Role-based access control (admin, modeler, viewer, etc.) determines which resources you can access
- Semantic Layer: Connections and semantic models provide governed access to data
- Data Layer: Fine-grained access controls in Malloy models control row and field-level access (coming soon)