Miembros y roles
Invita a compañeros a tu workspace, asigna roles y controla lo que cada miembro puede hacer. Cubre roles del sistema, roles personalizados, invitaciones y ciclo de vida.
Resumen
Los workspaces son colaborativos. Invitas a compañeros, les asignas un rol, y ese rol determina lo que pueden hacer. Esta página trata de los miembros del workspace — personas que inician sesión en el dashboard admin para gestionar tu sitio.
No es lo mismo que los miembros del sitio. Los usuarios finales de tu sitio publicado (visitantes registrados, suscriptores del newsletter, etc.) son un sistema aparte almacenado en otra colección. No tocan el admin. Ver Autenticación de miembros para ese lado.
Roles del sistema
Cada workspace viene con cinco roles integrados. Dos de ellos dan acceso al dashboard admin («roles de plataforma»), tres sirven para clasificar usuarios finales en el sitio público («roles app-user»).
Roles de plataforma (dashboard admin)
| Rol | Descripción |
|---|---|
| Owner | Acceso incondicional a todo. Exactamente uno por workspace. Omite todas las comprobaciones de permisos. Puede transferir la propiedad pero no puede irse sin transferirla antes. Puede eliminar el workspace. |
| Member | Rol por defecto para compañeros invitados. Puede ver/crear/editar páginas, medios, modelos de datos personalizados, tipos de página. Puede ver formularios, envíos de formularios, campañas de email, newsletter, logs. No puede invitar ni eliminar a otros miembros, cambiar ajustes ni gestionar roles sin elevación. |
Roles app-user (sitio publicado)
| Rol | Caso de uso |
|---|---|
| Guest | Visitante anónimo. Se usa para tracking sin autenticar. |
| Member (app) | Visitante registrado. Rol por defecto para cualquiera que se registre en tu sitio publicado. |
| Premium | Visitante de pago/mejorado. Amplíalo con tus propios permisos para contenido de pago. |
Los roles app-user se asignan automáticamente según el flujo de registro de tu sitio público. Rara vez los gestionas a mano.
Modelo de permisos
Cada rol lleva un conjunto de permisos. Cmssy incluye ~50 permisos agrupados por dominio. Un permiso es una capacidad como pages:publish o users:invite.
| Dominio | Ejemplos |
|---|---|
| Páginas | pages:view, pages:create, pages:edit, pages:delete, pages:publish |
| Medios | media:view, media:upload, media:edit, media:delete |
| Usuarios | users:view, users:invite, users:edit, users:remove |
| Roles | roles:view, roles:manage |
| Modelos de datos | models:view, models:create, models:edit, models:delete |
| Formularios | forms:view, forms:create, forms:edit, forms:submissions:manage |
| Marketing | campaigns:manage, campaigns:send, newsletter:manage, email:templates:manage |
| IA | ai:use, ai:configure |
| Workspace | workspace:edit, workspace:billing, workspace:delete, integrations:manage, site:config:edit |
El rol Owner tiene todos los permisos. El rol Member por defecto tiene un subconjunto curado (crear/editar contenido, ver casi todo, pero sin ajustes ni gestión de usuarios). Para conceder más de lo que tiene Member, promociona al usuario a Owner (vía transferencia de propiedad) o crea un rol personalizado.
Invitar a un miembro
- Abre Dashboard → Users.
- Haz clic en Invite.
- Introduce el email del invitado y elige un rol (por defecto Member).
- Haz clic en Send invitation. Sale un email con un enlace de aceptación.
El nuevo miembro aparece en la lista Users con estado pending hasta que acepte. Si invitas el mismo email dos veces, la segunda invitación se rechaza.
Invitar también está limitado por el límite maxUsers de tu plan. Consulta Workspaces para el tope de tu nivel.
Aceptar una invitación
El invitado hace clic en el enlace de su email. Dos caminos:
- Ya tiene cuenta de Cmssy — inicia sesión, aterriza en
/auth/accept-invitation, y el workspace se añade a su cuenta con el rol asignado. El estado pasa aactive. - Aún no tiene cuenta — se le pide registrarse. Tras verificar el email, vuelve al flujo de aceptación y la membresía se vincula a la nueva cuenta.
Un mismo usuario puede aceptar invitaciones a varios workspaces. Cambiará entre ellos mediante el selector de workspace.
Estado del miembro
Cada miembro está en uno de tres estados:
pending— invitado, sin aceptar aún. No puede acceder al workspace.active— aceptado y operativo. Es el estado por defecto tras aceptar la invitación.suspended— acceso revocado pero registro conservado. Útil para bloqueos temporales sin perder la atribución.
Los miembros suspendidos no pueden iniciar sesión en el workspace hasta que su estado vuelva a active.
Cambiar el rol de un miembro
- Dashboard → Users.
- Encuentra al miembro y haz clic en el menú de acciones de su fila.
- Elige un nuevo rol del desplegable.
Los cambios de rol surten efecto en la siguiente petición del miembro — no necesita cerrar sesión y volver a entrar. Requiere el permiso users:edit. El rol del Owner no puede cambiarse así; usa la transferencia de propiedad.
Eliminar a un miembro
El mismo menú que el cambio de rol: Remove from workspace.
La eliminación es irreversible — si el usuario vuelve a necesitar acceso, tienes que invitarlo de cero. Su contenido histórico (páginas que creó, formularios que editó) queda intacto. La atribución en esos objetos permanece, pero el usuario ya no tiene permiso para editar nada nuevo.
El Owner no puede ser eliminado. Transfiere primero la propiedad.
Abandonar un workspace
Cualquier miembro que no sea propietario puede irse voluntariamente. Es independiente del rol — incluso los admins pueden irse.
Dashboard → Users → [tu fila] → Leave workspace. O vía el menú de ajustes de tu cuenta.
El Owner no puede irse sin transferir antes la propiedad. El sistema rechaza los intentos de salida con un error claro.
Roles personalizados
Los dos roles de plataforma del sistema cubren la mayoría de los casos. Cuando necesitas permisos más finos — p. ej. un «Content Editor» que puede editar páginas pero no publicar, o un «Analyst» que solo puede ver informes — crea un rol personalizado.
- Dashboard → Settings → Roles → Create role.
- Rellena:
- Name (p. ej. Content Editor).
- Acceso al dashboard admin (rol de plataforma) o Solo sitio (rol app-user).
- Permisos — lista de casillas agrupadas por dominio.
- Color (opcional, para un reconocimiento visual rápido en la tabla Users).
- Guarda. El rol ya es asignable al invitar o cambiar a un miembro.
Editar roles personalizados
Settings → Roles → elige el rol → edita nombre, permisos o color. Los cambios se propagan a todos los miembros con ese rol en su siguiente petición.
Los roles del sistema son inmutables
Los cinco roles integrados (Owner, Member, Guest, App Member, App Premium) no pueden editarse ni eliminarse. Si lo intentas, la UI rechaza la acción. Los roles personalizados son totalmente editables y eliminables.
Eliminar un rol personalizado
Cuando eliminas un rol personalizado, los miembros asignados a él necesitan un nuevo rol. El diálogo de eliminación te pide elegir un rol de respaldo — cada miembro afectado recibe ese rol antes de que el antiguo se elimine. Esto evita membresías huérfanas.
Relacionado
- Workspaces — transferencia de propiedad, límites de usuarios por plan
- Tokens de API — cómo rol + isSuperAdmin determinan lo que los tokens pueden hacer
- Autenticación de miembros — miembros del sitio (usuarios finales), sistema aparte