Multi-Tenancy Entity Model

Wristband enforces a strict tenancy architecture. Each tenant in Wristband has a unique tenant identifier ("tenantId"). Users must always be assigned to a tenant, and a single user cannot belong to multiple tenants, ensuring complete isolation and tenant-specific control over users.

Multi-Tenant Entity Model

Tenants and User Uniqueness

There are 3 fields within User entities that must be unique within a tenant:

  • email
  • username
  • externalId

User Uniqueness in a Tenant

Users in the same tenant can have the same email, username, and externalId values as long as they are provisioned in different identity providers.

For example, if Tenant A has a user with email [email protected] in the Wristband identity provider, creating another user with the same email in the same provider will fail due to a uniqueness violation.

Unique Users in Same Tenant Error

However, creating another user with the same email in the Google Workspace identity provider will succeed, as they are distinct entities.

Unique Users in Same Tenant Success

User Uniqueness Across Tenants

Users with the same email can exist in different tenants, even within the same identity provider. For instance, creating a user with [email protected] in Tenant B's Wristband identity provider will succeed, even if it exists in Tenant A.

Unique Users Across Tenants

Types of Tenants

In Wristband, there are three different types of tenants: STANDARD, GLOBAL, and STANDALONE. The tenant type can be chosen at the time of tenant creation, but keep in mind that type is immutable.

Different Tenant Types

Standard Tenants

Standard tenants are used to represent organizations within a multi-tenant application. Each standard tenant has its own login page that is fully customizable. Users belonging to standard tenants must log in to your application using their tenant-specific login page. Users are able to discover which standard tenants they belong to by going through the tenant discovery flow.

Standard Tenants

Standard tenants will see both application-specific and tenant-specific language on the Wristband-hosted Tenant Login Pages and in the transactional email templates.

Standard Tenant Login Page

Standard Tenant Login Page


Global Tenant

Global tenants are meant to store consumer users that are not associated with an organization. Only one global tenant can be created per application.

🚧

Global Tenant Differences

Global tenants are excluded from tenant discovery results when a user enters an email address on the Tenant Discovery Page that is associated with multiple tenants. They also cannot have Enterprise External Identity Providers because a 1-to-1 scoping to an organization is not possible.

Global Tenant

All users of a global tenant share the same Tenant Login Page. For global tenants, any hosted pages and transactional emails will offer a consumer-like login experience by removing tenant-specific language from the UI. Typically, users will navigate directly to the Global Tenant Login Page URL when accessing your application.

Global Tenant Login Page

Global Tenant Login Page


You can also enable the Login Workflow Policy to display a "Log In with Your Organization" link on the Global Tenant Login Page which will send users to the Tenant Discovery Page. This provides a seamless hybrid experience for both consumer and organization-specific needs throughout your application.

Global Tenant Login Page With Org Link

Global Tenant Login Page with Organization Login Link


Stand-alone Tenants

Stand-alone tenants can be used to provide a completely white-labeled experience. There's no restriction on the number of stand-alone tenants that can be created for an application.

Stand-alone Tenants

For stand-alone tenants, any language regarding the application is removed from all hosted pages and transactional emails. Only the tenant-specific information will be displayed. Likewise, any links that allow for changing to a different Tenant Login Page will be removed.

Stand-alone Tenant Login Page

Stand-alone Tenant Login Page