Multi-Tenancy and Organizations

Organizations manage users and tokens; environments manage assets and objects. Two separate axes, and separating them is what makes multi-tenancy work.

Stairwell supports multi-tenancy, which lets a service provider, or any organization with genuinely separate parts, keep data and access apart. It works through two things that are easy to conflate and are not the same:

  • Organizations manage users and tokens. Who exists, what role they hold, what credentials have been issued.
  • Environments manage assets and objects. Which machines report, which files are held, what prevalence is measured against.

Those are two axes rather than one hierarchy, and nearly every confusing access question comes from treating them as one.

Why does the split matter?

Because the two questions have different answers.

"Can Dana sign in and what can she do" is an organization question, answered by her role. "Can Dana see the files from the Northwind fleet" is an environment question, answered by which environments she has access to.

A Read Only user is read only everywhere. A full User with access to one environment cannot see another at all. The role is not per environment, and the data is not per role.

The practical consequence for a service provider: one organization can hold the people, and one environment per customer holds their data. Analysts get roles once, and access is granted per customer by environment rather than by re-inventing user management for each one.

The consequence for prevalence is worth pausing on. Because prevalence is measured within an environment, keeping customers in separate environments means "rare here" means rare on that customer's fleet, which is the question worth asking. Merging them would make a file common because a different customer runs it, which is not useful to either.

How does this affect tokens?

Directly, and this is where the two axes meet. A token created at a parent level reaches every child environment beneath it. See What Auth Tokens Can Access, which is the page to read before issuing credentials to anything that serves one customer.

What should I read next?


Did this page help you?