Saltar a contenido

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.