Privacidad
AM separa la información personal de los datos de autenticación, para que puedas eliminar PII sin perder referencias necesarias para auditoría.
Cuando un usuario ejerce su derecho al olvido, elimina su identidad, no la evidencia de que existió.
Separación de datos
┌─────────────────────────────────────────┐
│ User │
│ ┌─────────────────┐ ┌──────────────┐ │
│ │ Identity │ │ Credentials │ │
│ │ (Deletable) │ │ (Required) │ │
│ │ │ │ │ │
│ │ - given_name │ │ - email │ │
│ │ - family_name │ │ - password │ │
│ │ - display_name │ │ - verified │ │
│ │ - avatar_url │ │ │ │
│ │ - locale │ │ │ │
│ │ - timezone │ │ │ │
│ │ - external_id │ │ │ │
│ └─────────────────┘ └──────────────┘ │
└─────────────────────────────────────────┘
Operaciones de identidad
| Operación | Endpoint | Propósito |
|---|---|---|
| Get | GET /api/users/:user_id/identity | Obtener PII |
| Update | PATCH /api/users/:user_id/identity | Modificar PII |
| Delete | DELETE /api/users/:user_id/identity | Eliminar PII |
| Recreate | POST /api/users/:user_id/identity | Restaurar identidad |
Derecho al olvido (GDPR Art. 17)
Eliminar identidad preservando:
- User ID (auditoría)
- Credenciales (email + hash)
- Historial de pagos
- Memberships de cuenta
Qué se elimina
| Eliminado | Preservado |
|---|---|
| given_name | user.id |
| family_name | user.application_id |
| display_name | user.status |
| avatar_url | memberships |
| preferred_language | credentials |
| locale | payment records |
| timezone | audit logs |
| external_id |
Minimización de datos
Los campos de identidad son opcionales. Solo recopila lo necesario:
- Los usuarios pueden borrar campos
- Identidad vacía es válida
- Menos datos = menos riesgo
Las credenciales se gestionan por separado vía endpoints de user credentials.
Relacionado
- User Identity - Recurso identidad
- Users - Gestión de usuarios
- User - Recurso usuario