> ## Documentation Index
> Fetch the complete documentation index at: https://internal.softcrum.com/llms.txt
> Use this file to discover all available pages before exploring further.

# R1 · Identity

> El realm organizacional y el plano de control de acceso: quién es el equipo de nuestros clientes, qué puede hacer, y cómo una máquina prueba que puede hacerlo. No depende de nada.

Schema `identity`. **Es la primera entrega porque no depende de nadie y todo lo demás depende de que
exista un permiso que declarar** ([ADR-022](/adr/adr-022-identity-bounded-context)).

|               |                                                                    |
| ------------- | ------------------------------------------------------------------ |
| Feature specs | 9 · [ver módulo](/modules/identity/overview)                       |
| Tablas        | 19 · [modelo de datos](/modules/identity/data-model)               |
| APIs          | [ver listado](/modules/identity/api)                               |
| Depende de    | nada                                                               |
| La necesitan  | las cuatro entregas restantes, para el registro global de permisos |

## Alcance

**Se construye primero** — sin esto no hay consola ni API autenticada:

| Spec                                                                           | Qué entrega                                             |
| ------------------------------------------------------------------------------ | ------------------------------------------------------- |
| [FS-IDN-0001](/modules/identity/features/fs-idn-0001-organizations-and-users)  | Organizaciones, usuarios, membresías e invitaciones     |
| [FS-IDN-0002](/modules/identity/features/fs-idn-0002-permission-registry-rbac) | El registro global de permisos y el RBAC que lo consume |
| [FS-IDN-0003](/modules/identity/features/fs-idn-0003-authentication-methods)   | Métodos de autenticación                                |
| [FS-IDN-0004](/modules/identity/features/fs-idn-0004-sessions-and-devices)     | Sesiones y gestión de dispositivos                      |
| [FS-IDN-0005](/modules/identity/features/fs-idn-0005-mfa)                      | Autenticación multifactor                               |
| [FS-IDN-0006](/modules/identity/features/fs-idn-0006-api-keys)                 | API keys — credenciales de máquina con los mismos roles |

**Completa la propuesta** — se construye después, dentro del mismo release:

| Spec                                                                 | Qué entrega                                                                         |
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [FS-IDN-0007](/modules/identity/features/fs-idn-0007-oauth-provider) | OAuth2 provider: *Sign in with Softcrum* para las integraciones de nuestros tenants |
| [FS-IDN-0008](/modules/identity/features/fs-idn-0008-social-sso)     | Login social y SSO empresarial                                                      |
| [FS-IDN-0009](/modules/identity/features/fs-idn-0009-impersonation)  | Impersonación de soporte, acotada en el tiempo y auditada                           |

## Lo que hace tangible esta entrega

Un equipo puede crear su organización, invitar gente, darle roles, activar MFA y emitir una API key
que un sistema externo usa para autenticarse. Eso se demuestra sin que exista ningún otro módulo.

## Riesgos propios

* **El registro de permisos es global y se consume como constante de build**, no como FK de runtime.
  Si se equivoca su forma, los cuatro módulos siguientes heredan el error.
* **Dos realms de autenticación que nunca se superponen**: el organizacional vive acá y el de member
  vive en `core` (ADR-010). Un token de uno no puede satisfacer al otro **por construcción**, no por
  verificación. Es lo primero que hay que probar.
* **Better Auth se configura dos veces**, en dos lugares. Mantenerlas alineadas es trabajo real.
