Userbox Docs
Concepts

Userbox model

The five-level hierarchy that underlies every Userbox integration.

Userbox model

Userbox manages identity and access for multi-tenant applications. Everything in Userbox is organized around a five-level hierarchy. Understanding this hierarchy is the prerequisite to understanding every other concept in the docs.

The hierarchy

Account
  └── Environments  (development · staging · production)
        └── Workspaces  (access contexts for your users)
              └── Memberships  (user ↔ workspace connections)
                    └── Permissions  (platform or app-defined)

Each level scopes the one below it. A permission check always asks: "Does this user have permission X inside workspace Y?" — never globally.

Account

Your account is the top-level entity in Userbox. It maps to your product or organization. All environments, users, API keys, and configuration belong to a single account.

Most teams have one account. You might have separate accounts for clearly distinct products, but not for development vs. production — that is what environments are for.

→ Continue to Environments

Environments

Every account ships with three environments: development, staging, and production. Environments are fully isolated — data, API keys, and configuration in development never mix with production.

API keys are environment-scoped. A key created in development will not work in production. This is intentional.

→ Continue to Environments

Workspaces

A workspace is an access context inside an environment. Workspaces let you model the organizational boundaries of your application — for example, one workspace per customer organization in a B2B SaaS.

Every permission check in Userbox is workspace-scoped: the same user can have different permissions in different workspaces.

→ Continue to Workspaces

Memberships

A membership connects a user to a workspace. A user can be a member of multiple workspaces. Memberships can carry roles, belong to groups, and receive explicit permission grants.

There is no such thing as a "global" permission that applies across all workspaces. Permissions are always scoped to a membership.

Permissions

Userbox has two kinds of permissions:

  • Platform permissions control access to Userbox itself — the console, user management, API key management. → Platform permissions
  • App permissions are custom permissions you define for your own application — finance.payables.approve, health.reports.view. → App permissions

What's next