# Seguridad — ClickDelivery V0.6.1

## Ya implementado
- RLS multiempresa por `organization_id`.
- RBAC por Superadmin / operator_admin / dispatcher / merchant / customer / driver.
- sesiones con tokens almacenados como hash.
- contraseñas con `scrypt` y salt por usuario.
- idempotencia con hash de payload.
- evidencia privada fuera de `/public`.
- token temporal de upload almacenado como SHA-256 y comparación timing-safe.
- límite de tamaño y allowlist MIME.
- validación de magic bytes JPEG/PNG/WebP/PDF.
- SHA-256 del binario almacenado.
- autorización de descarga ligada al viaje/actor.
- `Content-Disposition`, `no-store` y `nosniff` en descarga privada.
- secretos de conectores referenciados por variable de entorno, no guardados en payload de viaje.
- outbox/retry para no acoplar viajes a push o pagos.
- recuperación de trabajos `sending` abandonados después de un reinicio.
- recuperación de sesiones de upload que quedaron `uploading` por caída del proceso y limpieza de temporales antiguos.
- integridad SHA-256 de logos oficiales.
- refresh tokens móviles almacenados como SHA-256, rotados al usarse y con detección de reuso.
- vínculo opcional del refresh token con `mobile_devices`.
- operaciones offline idempotentes por usuario/ID cliente.
- GPS offline idempotente y validación temporal para evitar sobrescribir ubicación nueva con datos antiguos.
- precios de pedidos recalculados en servidor desde catálogo.
- tokens FCM inválidos `UNREGISTERED` se desactivan.

## Antes de producción pública
- HTTPS/TLS obligatorio.
- MFA para Superadmin.
- rate limiting por IP/usuario/ruta.
- gestión y rotación de secretos en vault.
- escaneo antimalware de archivos si se aceptan PDFs/documentos de terceros.
- backup/restore probado de PostgreSQL y storage.
- observabilidad, métricas y alertas.
- política de retención/borrado de evidencia según contrato y normativa aplicable.
