Most non-trivial setups end up with multiple workspaces: one per environment (development, staging, production), one per product line, or one per customer in heavily isolated deployments. Each workspace has its own URL, its own tokens, and its own resource accounting, so a query running hot in staging never affects production traffic.
Inside a workspace, the data model is flat: every pipe sees every data source, every endpoint shares the same token namespace, and members are added with role-scoped access. Across workspaces, sharing is explicit: data sources can be shared read-only into another workspace when teams need to consume each other's data without merging the underlying configuration.
Workspaces also define the unit of branching. A branch is a copy of one workspace, not of an entire account.
