# EPIC-008: Administracion y Configuracion

**Version:** 1.0.0
**Fecha:** 2025-12-08
**Fase:** 1 - MVP Core

---

## Descripcion

Esta epica cubre la administracion del tenant: gestion de usuarios, roles, permisos, configuracion general, y billing/uso.

---

## User Stories

### US-008-001: Invitar Usuario al Tenant

**Como** owner/admin del tenant
**Quiero** invitar nuevos usuarios a mi organizacion
**Para** que puedan colaborar en la plataforma

**Criterios de Aceptacion:**
- [ ] Formulario con email del invitado
- [ ] Seleccionar rol a asignar
- [ ] Email de invitacion enviado automaticamente
- [ ] Link de invitacion con token unico
- [ ] Invitacion expira en 7 dias
- [ ] Puedo reenviar invitacion si no acepto

**Prioridad:** Must Have

---

### US-008-002: Aceptar Invitacion

**Como** usuario invitado
**Quiero** aceptar la invitacion recibida
**Para** unirme al tenant y comenzar a trabajar

**Criterios de Aceptacion:**
- [ ] Link de invitacion lleva a pagina de registro
- [ ] Datos basicos pre-llenados (email)
- [ ] Crear password y completar perfil
- [ ] Al completar, acceso inmediato al tenant
- [ ] Rol asignado automaticamente
- [ ] Error claro si invitacion expiro

**Prioridad:** Must Have

---

### US-008-003: Ver Lista de Usuarios

**Como** admin del tenant
**Quiero** ver todos los usuarios de mi organizacion
**Para** gestionar el equipo

**Criterios de Aceptacion:**
- [ ] Lista con nombre, email, rol, status
- [ ] Filtro por rol y status
- [ ] Busqueda por nombre/email
- [ ] Ver fecha de ultimo acceso
- [ ] Indicador de usuarios activos/inactivos

**Prioridad:** Must Have

---

### US-008-004: Editar Usuario

**Como** admin del tenant
**Quiero** editar informacion de un usuario
**Para** actualizar su rol o datos

**Criterios de Aceptacion:**
- [ ] Cambiar rol del usuario
- [ ] Cambiar status (activo/suspendido)
- [ ] Ver historial de actividad
- [ ] No puedo editar mi propio rol si soy el unico owner
- [ ] Confirmacion al cambiar rol

**Prioridad:** Must Have

---

### US-008-005: Desactivar Usuario

**Como** admin del tenant
**Quiero** desactivar un usuario
**Para** revocar su acceso sin eliminar su historial

**Criterios de Aceptacion:**
- [ ] Boton de desactivar en detalle de usuario
- [ ] Confirmacion requerida
- [ ] Usuario no puede hacer login
- [ ] Sesiones activas terminadas inmediatamente
- [ ] Datos e historial preservados
- [ ] Puedo reactivar posteriormente

**Prioridad:** Must Have

---

### US-008-006: Gestionar Roles y Permisos

**Como** owner del tenant
**Quiero** ver y entender los roles disponibles
**Para** asignar correctamente a mi equipo

**Criterios de Aceptacion:**
- [ ] Lista de roles predefinidos con descripcion
- [ ] Ver permisos de cada rol
- [ ] Tabla comparativa de roles
- [ ] Roles disponibles: Owner, Admin, Creative, Analyst, Viewer, Client Portal

**Prioridad:** Should Have

---

### US-008-007: Editar Mi Perfil

**Como** usuario
**Quiero** editar mi perfil personal
**Para** mantener mi informacion actualizada

**Criterios de Aceptacion:**
- [ ] Cambiar nombre y apellido
- [ ] Subir/cambiar avatar
- [ ] Cambiar password
- [ ] Configurar preferencias (idioma, timezone, notificaciones)
- [ ] Ver mis sesiones activas
- [ ] Cerrar sesion en otros dispositivos

**Prioridad:** Must Have

---

### US-008-008: Ver Configuracion del Tenant

**Como** owner/admin
**Quiero** ver y editar la configuracion del tenant
**Para** personalizar la plataforma para mi organizacion

**Criterios de Aceptacion:**
- [ ] Ver nombre y slug del tenant
- [ ] Editar nombre de la organizacion
- [ ] Subir logo de la organizacion
- [ ] Configurar colores de branding (opcional)
- [ ] Ver plan actual y limites
- [ ] Ver fecha de renovacion

**Prioridad:** Should Have

---

### US-008-009: Ver Uso y Consumo

**Como** owner/admin
**Quiero** ver el uso de recursos de mi tenant
**Para** monitorear el consumo y planificar

**Criterios de Aceptacion:**
- [ ] Generaciones usadas vs limite mensual
- [ ] Almacenamiento usado vs limite
- [ ] Usuarios activos vs limite
- [ ] Grafico de uso en el tiempo
- [ ] Desglose por usuario (quien consume mas)
- [ ] Alerta visual si cerca del limite

**Prioridad:** Should Have

---

### US-008-010: Ver Historial de Actividad

**Como** owner/admin
**Quiero** ver el audit log de actividades
**Para** tener trazabilidad de acciones importantes

**Criterios de Aceptacion:**
- [ ] Lista de actividades recientes
- [ ] Filtro por tipo de accion
- [ ] Filtro por usuario
- [ ] Filtro por fecha
- [ ] Detalles: quien, que, cuando, desde donde
- [ ] Exportar a CSV

**Prioridad:** Could Have

---

### US-008-011: Cerrar Sesiones Activas

**Como** usuario
**Quiero** ver y cerrar mis sesiones activas
**Para** proteger mi cuenta

**Criterios de Aceptacion:**
- [ ] Lista de sesiones activas
- [ ] Ver dispositivo, ubicacion aproximada, ultima actividad
- [ ] Identificar sesion actual
- [ ] Boton para cerrar sesion especifica
- [ ] Boton para cerrar todas excepto la actual
- [ ] Notificacion si nueva sesion inusual

**Prioridad:** Should Have

---

## Notas Tecnicas

- Roles predefinidos, no editables por usuario
- Permisos basados en roles (RBAC)
- Audit log almacenado por 90 dias minimo
- Sesiones en Redis para invalidacion instantanea
- Integracion con @CATALOG_AUTH, @CATALOG_SESSION

---

## Dependencias

- EPIC-001: Autenticacion base
- Backend: PMC-007-ADMIN module
- Catalogo: @CATALOG_AUTH, @CATALOG_SESSION, @CATALOG_FLAGS

---

## Roles del Sistema

| Rol | Descripcion | Permisos Clave |
|-----|-------------|----------------|
| Owner | Propietario del tenant | Todo, incluyendo billing |
| Admin | Administrador | Todo excepto billing/delete tenant |
| Creative | Usuario creativo | CRM, Generation, Assets, Projects |
| Analyst | Analista | Solo lectura + Analytics |
| Viewer | Solo lectura | Solo lectura de todo |
| Client Portal | Cliente externo | Solo aprobar contenido |

---

**Documento generado por:** Requirements-Analyst
**Fecha:** 2025-12-08
