Product Craft Bible
Multi-tenant / Workspace
Inicio SaaS y Admin Multi-tenant / Workspace
SaaS y Admin

Multi-tenant / Workspace

8 reglas Linear Docs, Slack, UX Power ToolsNNGroup, Figma BlogNNGroup, GitLab Pajamas DSAuth0, Linear Docs, WorkOS
127

Multi-tenant / Workspace

8 reglas
1126

Muestra siempre el workspace activo

El espacio de trabajo activo debe ser visible de forma permanente, sin requerir interacción para descubrirlo. Cuando el usuario no sabe en que organización opera, comete errores costosos y pierde confianza. Coloca el identificador (logo + nombre) en una posición fija y reconocible, tipicamente la esquina superior izquierda, antes de la navegación.

Linear Docs, Slack, UX Power Tools
Preferir
Acme Corp
Tu rol: Admin
Dashboard
Issues
Projects
Settings
Evitar
Dashboard
Issues
Projects
Settings
El workspace activo solo aparece dentro de Settings · Profile
1127

Preserva el lugar del usuario al cambiar de workspace

Al cambiar de workspace, el usuario debe retomar su trabajo desde el punto más cercano posible dentro del nuevo espacio. Registra la última ubicación por workspace y restaurala al volver. El coste cognitivo del cambio de contexto es real y medible: NNGroup documenta que quienes alternan tareas tardan más y producen menor calidad.

NNGroup, Figma Blog
Preferir
Acme Corp
Globex (cambiaste aquí)
Globex · Projects · Alpha
Issue #214 · Refactor auth
Restaurado donde estabas en este workspace
Evitar
Acme Corp
Globex (cambiaste aquí)
Globex
Dashboard home
Te devolvio al home, perdiste tu lugar
1128

Confirma el workspace activo antes de acciones destructivas

Antes de ejecutar acciones de alta severidad (eliminar, archivar, exportar, transferir propiedad) muestra el nombre del workspace activo dentro del dialogo. El usuario puede estar operando en el tenant equivocado por habito o por un cambio reciente de contexto. Maximiza la distancia entre la acción destructiva y la benigna, y pide escribir el nombre para confirmar.

NNGroup, GitLab Pajamas DS
Preferir
Eliminar proyecto en Acme Corp
Estas en el workspace Acme Corp. Esto borra el proyecto y sus issues de forma permanente. Escribe Alpha para confirmar.
Evitar
Eliminar proyecto?
Esta acción no se puede deshacer.
1129

Gestiona invitaciones y roles por workspace, no por cuenta global

Las invitaciones y los roles son propiedades del workspace, no del usuario global: un mismo usuario puede ser Admin en uno y Member en otro de forma independiente. El flujo de invitación debe nombrar explicitamente el workspace y el rol, y las invitaciones deben expirar para reducir la superficie de ataque y disuadir registros falsos.

Auth0, Linear Docs, WorkOS
Preferir
Invitación a un workspace
de Acme Corp en Producto
Te han invitado a Acme Corp como Editor.
Esta invitación expira en 72 horas
Aceptar y unirme a Acme Corp
Evitar
Te han invitado a usar el producto.
Aceptar invitación
Sin nombre de workspace, sin rol, sin expiración
1130

Separa identidad global de la membresia en cada tenant

La arquitectura debe separar el usuario (identidad global) de su membresia (relación con un tenant). Así un consultor o empleado multi-empresa opera con una sola cuenta en varios workspaces sin duplicar credenciales. La interfaz refleja la distinción: perfil global unificado arriba, roles y ajustes por workspace abajo. Evita el atrapamiento de "un usuario duplicado por tenant".

WorkOS, Figma Blog, Auth0
Preferir
Tu cuenta (global)
A
Ana Reyes
ana@acme.com
En tus workspaces
Acme Corp Admin
Globex Member
Initech Viewer
Evitar
ana@acme.com (cuenta en Acme)
ana2@acme.com (cuenta nueva para Globex)
Una cuenta distinta por workspace para la misma persona
1131

Permite branding y configuración por tenant

En SaaS B2B cada organización debe poder personalizar su workspace: logo, colores, subdominio propio y plantillas de email. La personalización opera en cascada (el workspace sobreescribe los defaults globales) y se aplica en toda la experiencia, incluidos emails transaccionales, pantallas de login y notificaciones. El branding por tenant es un diferenciador de retención en SaaS empresarial.

Auth0, WorkOS, Developex
Preferir
A
Acme Corp
acme.app.com
G
Globex
globex.app.com
Evitar
S
SaaS
app.saas.com/acme
S
SaaS
app.saas.com/globex
1132

Define permisos scope-aware por workspace

La autorización debe ser consciente del tenant: los roles se asignan por workspace y los recursos se filtran según el tenant activo. Ninguna acción de UI o servicio debe operar sin conocer el contexto. El mismo usuario puede ver el botón Publicar en un workspace y no verlo en otro. Cada tenant puede tener politicas propias (uno exige SSO+MFA; otro permite password).

WorkOS, Linear Docs, Auth0
Preferir
Acme Corp
Tu rol: Editor
Publicar
Globex
Tu rol: Viewer
Publicar
Oculto para tu rol aquí
Evitar
Rol global: Admin
Aplica igual a TODOS los workspaces
Publicar
Un Admin en uno es Admin en todos, sin revisión
1133

Distingue datos compartidos de privados y haz accesible el switcher

El usuario debe identificar visualmente que es privado del workspace actual y que es compartido entre tenants (plantillas globales, integraciones de plataforma, perfil de usuario). El switcher mismo debe ser accesible: aria-haspopup, aria-expanded, label descriptivo y teclado completo (WCAG 2.2 SC 2.1.1). La regla de oro: un tenant nunca debe ver datos de otro, y la UI debe reforzar ese aislamiento de forma visual, no solo técnica.

WCAG 2.2 SC 2.1.1, W3C ARIA11, WorkOS
Preferir
A
Acme Corp
aria-expanded
Plantilla Onboarding Global
Plantilla Q3 Report Este workspace
Integraciones Global
Evitar
<div onclick> Acme Corp   (sin teclado, sin semántica)
Plantilla "Onboarding"
Plantilla "Q3 Report"
Sin distinción entre global y del workspace