Centro de Privacidad
El Centro de Privacidad es un portal público donde los titulares de datos pueden consultar sus datos, gestionar sus consentimientos y ejercer sus derechos ARSOP. El acceso se realiza mediante verificación de identidad por RUT y correo electrónico, confirmada con un código de un solo uso que se envía a ese correo.
Cómo funciona
1. El titular visita el Centro de Privacidad de la organización
2. Ingresa su RUT y su dirección de correo electrónico
3. DPOLab envía un código de un solo uso (6 dígitos) a ese correo
4. El titular ingresa el código para abrir su sesión
5. Consulta sus datos, gestiona consentimientos y/o ejerce derechos ARSOP
6. Los cambios se reflejan en el panel de la organizaciónLa identidad se verifica con RUT + correo electrónico y un código de un solo uso enviado a ese correo (no se usa contraseña). Es consistente con el módulo descrito en Configuración → Portal de Privacidad.
URL del portal
El Centro de Privacidad está disponible en:
https://app.dpolab.com/portal/privacy-portal/<slug-del-tenant>Puedes encontrar la URL exacta en Configuración → Portal de Privacidad dentro del panel de administración.
Abrir desde el SDK
El SDK incluye un método para abrir el Centro de Privacidad desde cualquier página de tu sitio:
// Abre el portal en una nueva pestaña
DPOLab.openPrivacyPortal();Ejemplo: enlace en el footer
<footer>
<a href="#" onclick="DPOLab.openPrivacyPortal(); return false;">
Gestionar mi privacidad
</a>
</footer>openPrivacyPortal() requiere que el SDK haya sido inicializado con DPOLab.init() previamente.
Verificación de identidad
El acceso usa RUT + correo electrónico con confirmación por código de un solo uso:
- El titular ingresa su RUT (con o sin puntos y guión) y su correo electrónico.
- DPOLab valida el formato del RUT y envía un código de 6 dígitos al correo indicado.
- El titular ingresa el código para abrir su sesión; el código tiene una vigencia limitada.
- La sesión expira automáticamente después del tiempo configurado.
API REST (endpoints públicos)
Todos los endpoints están bajo /api/v1/public/privacy-portal/:tenantSlug.
Sin autenticación
| Método | Endpoint | Descripción |
|---|---|---|
GET | /config | Configuración del portal (organización, propósitos) |
POST | /otp/init | Envía un código de un solo uso al correo (body: rut, email) |
POST | /otp/verify | Verifica el código y retorna el sessionToken (body: rut, code) |
Con session token
Requieren el header Authorization: Bearer {sessionToken}:
| Método | Endpoint | Descripción |
|---|---|---|
GET | /consent | Estado actual de los consentimientos del titular |
POST | /consent | Actualiza preferencias de consentimiento |
POST | /dsar | Crea una solicitud ARSOP |
GET | /dsar | Lista las solicitudes del titular |
GET | /dsar/:id | Detalle de una solicitud |
Ejemplo: solicitar el código
curl -X POST https://api.dpolab.com/api/v1/public/privacy-portal/{tenantSlug}/otp/init \
-H "Content-Type: application/json" \
-d '{
"rut": "12345678-9",
"email": "[email protected]"
}'Ejemplo: verificar el código
curl -X POST https://api.dpolab.com/api/v1/public/privacy-portal/{tenantSlug}/otp/verify \
-H "Content-Type: application/json" \
-d '{
"rut": "12345678-9",
"code": "123456"
}'Respuesta exitosa:
{
"success": true,
"data": {
"sessionToken": "eyJ...",
"expiresAt": "2026-08-15T14:00:00Z"
}
}Ejemplo: crear solicitud ARSOP
curl -X POST https://api.dpolab.com/api/v1/public/privacy-portal/{tenantSlug}/dsar \
-H "Authorization: Bearer {sessionToken}" \
-H "Content-Type: application/json" \
-d '{
"subjectName": "Carlos Muñoz",
"rightType": "ACCESS",
"description": "Quiero saber qué datos tienen de mí"
}'Valores de rightType
| Valor | Descripción |
|---|---|
ACCESS | Acceso a datos personales |
RECTIFICATION | Rectificación de datos inexactos |
DELETION | Supresión de datos |
OPPOSITION | Oposición al tratamiento |
PORTABILITY | Portabilidad en formato estructurado |
BLOCKING | Bloqueo temporal del tratamiento |
AUTO_DECISION | Revisión de decisiones automatizadas |
Errores comunes
| Código | Significado | Solución |
|---|---|---|
NOT_FOUND | Slug de tenant inválido o portal no configurado | Verifica que el slug sea correcto y que el portal esté activo |
VALIDATION_ERROR | RUT con formato inválido, o código incorrecto/expirado | Revisa el RUT y solicita un nuevo código si expiró |
SESSION_EXPIRED | Sesión expirada | El titular debe volver a verificar su identidad |
UNAUTHORIZED | Session token ausente o inválido | Incluir el header Authorization: Bearer {sessionToken} |
Ver también
- Banner de Consentimiento — Banner de cookies
- Checkbox de Consentimiento — Checkbox para formularios
- Formulario ARSOP — Widget embebible de derechos
- Configuración del Portal — Ajustes del nivel de verificación