Equipo PEVENDE ·
CRM multiempresa: roles y separación de datos
Una selección de empresa en pantalla no es una autorización. El servidor debe comprobar quién actúa, a qué empresa pertenece y qué operación tiene permitida en cada solicitud.
Definir permisos antes de invitar
Crear una matriz simple: propietario administra la empresa, administrador gestiona equipo y operador trabaja con registros autorizados. El rol de consulta no debe poder modificar. Los nombres de roles no bastan; documentar operaciones concretas.
Comprobar cada solicitud
OWASP recomienda denegar por defecto y verificar permisos en cada solicitud. Un identificador de empresa enviado por el navegador no prueba membresía. Las búsquedas, exportaciones y acciones masivas necesitan los mismos límites que la edición individual.
Prueba negativa
Ejercicio hipotético: una persona pertenece a la empresa A, no a B. Cambiar en una solicitud el identificador de un contacto de A por uno de B debe fallar sin revelar datos. Repetir la prueba en lectura, edición y exportación.
Salir también requiere proceso
Al retirar una membresía, comprobar sesiones, asignaciones, credenciales e integraciones delegadas. Registrar quién autorizó el cambio. No conservar acceso por comodidad cuando una persona deja de operar para la empresa. Revisar también enlaces directos y archivos adjuntos. Ocultar una opción en la interfaz no basta cuando un usuario puede repetir una solicitud o reutilizar una URL obtenida antes de perder acceso.
Checklist para aplicar
- Documentar acciones permitidas por rol.
- Probar acceso cruzado y denegación por defecto.
- Revisar accesos al retirar una membresía.
Fuentes primarias
Consultadas el 2 de octubre de 2026. Las políticas y los productos pueden cambiar; revisar la fuente antes de implementar.