Sistema de Gestio de Consentiment
Documentacio tecnica del sistema de consentiment legal de LDP.
Arquitectura
Taules
legal_documents: Versions dels documents legals (ToS, Privacy Policy, Cookie Policy)user_consents: Registre de cada acceptacio/retirada amb audit trail complet
Flux de registre
- Frontend envia
tosAccepted=true,tosVersion,privacyAccepted=true,privacyVersion - Backend valida edat >= 14 (LOPDGDD Art. 7)
- Backend valida que els documents existeixen i estan actius
- Es crea
UserConsentamb timestamp, IP, User-Agent per cada document - Es registra
ageVerifiedAt+ageVerificationMethod=SELF_DECLARED
Flux de re-consentiment (login)
ConsentService.hasRequiredConsents(userId)verifica si l'usuari te els consentiments vigents- Si un document ha canviat de versio des de l'ultima acceptacio, retorna
false - Frontend mostra
ConsentRenewalModalamb els documents pendents - L'usuari ha d'acceptar abans de poder continuar
Flux de retirada (GDPR Art. 7.3)
DELETE /api/users/me/consents/{documentType}- Es crea un registre
UserConsentambconsentType=WITHDRAWAL - La retirada es tan facil com l'acceptacio (requisit legal)
Flux d'esborrat (GDPR Art. 17)
POST /api/users/me/data-erasureDataErasureServiceanonimitza l'usuari (veure ADR-004 per detalls de cascada)UserConsentes manté com a prova legal
Endpoints
| Endpoint | Metode | Acces | Proposit |
|---|---|---|---|
/api/legal/documents/current | GET | Public | Documents vigents |
/api/legal/platform-info | GET | Public | Info LSSI-CE Art. 10 |
/api/users/me/consents | GET | Autenticat | Estat consentiments |
/api/users/me/consents | POST | Autenticat | Acceptar document |
/api/users/me/consents/{type} | DELETE | Autenticat | Retirar consentiment |
/api/users/me/data-erasure | POST | Autenticat | Sol·licitud esborrat |
Audit Trail
Cada UserConsent registra:
user_id: Usuarilegal_document_id: Document i versio acceptatsconsent_type: ACCEPTANCE o WITHDRAWALgiven_at: Timestamp exacteip_address: IP del client (X-Forwarded-For si proxy)user_agent: Navegador/clientmetadata: JSONB per informacio addicional futura