Privacidad: anonimizar, borrar, exportar y retener¶
Endpoints de /cxs/privacy y afines disponibles en Unomi 3.0.0 (usuario karaf), verificados en el banco de
pruebas. Ejecutarlos desde n8n o a mano por cdp-api con el token de servicio.
| Necesidad | Endpoint | Efecto verificado |
|---|---|---|
| Anonimizar un perfil (conservar el comportamiento, quitar datos personales) | POST /cxs/privacy/profiles/{id}/anonymize?scope=<scope> |
Purga las propiedades etiquetadas personalIdentifierProperties (firstName, lastName, email, phoneNumber, address, ids sociales); conserva el resto |
| Borrar un perfil desvinculando su historial | DELETE /cxs/privacy/profiles/{id}?withData=true |
Borra el perfil; eventos y sesiones quedan con profileId nulo (anonimizados) |
| Borrar un perfil y todo su historial (derecho al olvido) | DELETE /cxs/privacy/profiles/{id}?withData=true&purgeAll=true |
Borra perfil, eventos y sesiones. Tarda ~3 s por perfil |
| Borrar solo el documento del perfil | DELETE /cxs/profiles/{id} |
Los eventos y sesiones quedan huérfanos con el id viejo: no usar para solicitudes de privacidad |
| Bloquear un tipo de evento para un perfil | POST /cxs/privacy/profiles/{id}/eventFilters con ["productView"] |
Los eventos de ese tipo no se persisten para ese perfil |
| Navegación anónima | POST / DELETE /cxs/privacy/profiles/{id}/anonymousBrowsing?scope=<scope> |
Activa o desactiva requireAnonymousProfile |
| Quitar una propiedad | DELETE /cxs/privacy/profiles/{id}/properties/{nombre} |
|
| Exportar perfiles (CSV) | POST /cxs/profiles/export con una consulta (Accept: text/csv) |
Funciona; el endpoint documentado GET /cxs/client/myprofile.* responde 500 en 3.0.0 |
| Buscar perfiles por propiedad | POST /cxs/profiles/search con una condición |
Por ejemplo por correo antes de borrar |
Ejemplo de borrado por solicitud de un cliente identificado por correo:
U=https://cdp-api.compulandia.com.py; A="karaf:$UNOMI_ROOT_PASSWORD" # más cabeceras CF-Access-Client-Id/Secret
curl -s -u "$A" -H 'Content-Type: application/json' -X POST "$U/cxs/profiles/search" \
-d '{"condition":{"type":"profilePropertyCondition","parameterValues":{"propertyName":"properties.email","comparisonOperator":"equals","propertyValue":"ana@ejemplo.com"}},"limit":10}'
# con cada itemId devuelto:
curl -s -u "$A" -X DELETE "$U/cxs/privacy/profiles/<itemId>?withData=true&purgeAll=true"
Coordinar el borrado con Jitsu y con el origen: si SAP o la web vuelven a enviar el mismo profileId, el perfil
se recrea vacío.
Retención automática¶
Configurada por variables del stack de producción: perfiles sin actividad se purgan a los 365 días; eventos y
sesiones a los 400 días; índices mensuales a los 13 meses. Cambiar los valores en .env exige reiniciar Unomi.
Consentimientos¶
Unomi modela consentimientos por perfil (consents) y el evento modifyConsent. No están en uso en el diseño
vigente; documentar aquí cuando se adopten.