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

# Seguridad

> Autenticación, control de acceso, cifrado y continuidad del servicio

## Seguridad de la Información

La plataforma adopta una estrategia de «seguridad por diseño»: selección de componentes bajo principios de cifrado extremo a extremo, mínimo privilegio y segregación de entornos. Aunque la solución aún no posee certificaciones propias, se apoya en proveedores con acreditaciones (p. ej. Clerk y Vercel: SOC 2 Tipo II, ISO 27001). Se toman como referencia los principios del ENS y del RGPD para la evolución de controles.

## Autenticación y Gestión de Identidades (Clerk)

* IdP-as-a-Service con certificación SOC 2 Tipo II (en progreso ISO 27001).
* Autenticación con JWT RS256 de corta duración; transmisión exclusiva por TLS.
* MFA opcional (TOTP, WebAuthn/FIDO2) configurable por organización.
* Revocación de sesiones en tiempo real y registro de eventos de seguridad.
* Cifrado at-rest AES‑256 para información de identidad y replicación en alta disponibilidad.
* Alineado con autenticación fuerte del ENS y directrices eIDAS.

## Control de Acceso y Multitenancy (InstantDB)

* Aislamiento por organización mediante reglas declarativas de permisos.
* Verificación de JWT en la capa de datos; sin credenciales estáticas.
* Dos modalidades: instancia compartida (us‑east‑1) o dedicada (Azure + VNet).

Modalidades de despliegue:

1. Instancia compartida: multi‑tenant en us‑east‑1 con segregación lógica por organización.
2. Instancia dedicada (Azure + VNet): entorno aislado en red privada; cifrado at‑rest AES‑256 y respaldo georredundante, apto para soberanía de datos UE.

<Mermaid
  chart={`sequenceDiagram;
participant U as Usuario;
participant Clerk;
participant App;
participant DB as InstantDB;

U->>Clerk: Inicia sesión (MFA opcional);
Clerk-->>U: JWT firmado;
U->>App: Solicitud API (JWT);
App->>Clerk: Verifica JWT;
App-->>DB: Consulta aislada con JWT;
DB->>Clerk: Valida firma (Publishable Key);
DB-->>App: Datos;
App-->>U: Respuesta;

alt Plan Enterprise
    App-->>DedicatedDB: Consulta via VNet privada;
else Instancia Compartida
    App-->>SharedDB: Consulta instancia compartida us-east-1;
end;
`}
/>

En cada petición autenticada, la plataforma sincroniza —de forma transaccional— la pertenencia organizacional y los permisos procedentes de Clerk dentro de InstantDB, garantizando consistencia entre identidad y almacenamiento.

## Cifrado

* En tránsito: TLS 1.2+ extremo a extremo (cliente ↔ Vercel ↔ backend).
* En reposo: AES‑256 aplicado por proveedores y almacenamiento; replicación multi‑AZ cuando corresponda.

## Backups y Continuidad

* Instancia compartida: snapshots horarios con retención 7 días.
* Instancia dedicada (Azure): backups automáticos con retención 7–35 días, soporte GRS.
* Objetivos operativos: RPO ≤ 60 min, RTO ≤ 15 min.
