2.7 KiB
ADR-003 — Consentimiento granular, versionado e inmutable
- Estado: Aceptado
- Fecha: (completar con fecha de commit)
Contexto
Bajo lógica RGPD / Ley 7593, el consentimiento para datos sensibles debe ser específico, informado y demostrable: hay que poder probar qué consintió cada persona, cuándo, y contra qué texto. Además, el director planteó dos caminos de consentimiento que pueden coexistir y divergir: documentos firmados (empresa/encuestado) y checkboxes in-app.
Decisión
1. El consentimiento es evidencia, no solo UI
Mostrar el checkbox no alcanza. Cada respuesta guarda un registro de consentimiento con: versión del texto, scopes efectivamente aceptados, timestamp. Es inmutable (solo INSERT/SELECT; sin UPDATE/DELETE).
2. Versionado del texto
El texto de consentimiento vive en consent_versions. Si cambia el wording en el futuro, las
respuestas viejas conservan su versión vieja. Nunca se reescribe retroactivamente lo que alguien
aceptó.
3. Granular por capas
Scopes separados por propósito, aceptables independientemente:
operativo (dashboard de su empresa), macro_n1 (agregados anónimos del estudio país), y a futuro
macro_n2 / macro_n3. v1 ofrece solo operativo + macro_n1 (las encuestas son anónimas y
Modo A sin Nivel 3). Un titular puede aceptar operativo y rechazar macro.
4. La elección del titular gana sobre la firma de la empresa
Si la empresa firmó "todos los datos van al macro" pero el empleado destildó macro en la app, la respuesta NO entra al macro. El registro in-app del titular es la fuente de verdad sobre su propio dato.
5. Honestidad sobre derechos en encuestas anónimas
En encuesta anónima:
- No se puede hacer firmar al encuestado nada identificable (destruiría el anonimato) → el registro in-app es el único registro de consentimiento posible; no se complementa con firma del titular.
- No se puede revocar después (no se puede ubicar la respuesta). El texto debe declararlo explícitamente antes de responder: "esta encuesta es anónima; no vas a poder revocar luego".
- El wizard, al togglear anonimato, cambia qué derechos se pueden ofrecer y ajusta el texto.
Consecuencias
- (+) Demostrabilidad ante la ANPDP; trazabilidad por versión.
- (+) Respeta la autonomía del titular sobre su dato sensible.
- (−) Un mismo dato puede estar en el dashboard de la empresa pero excluido del macro (lógica de
reportes debe respetar
granted_scopespor fila — no es opcional). - (−) Encuestas anónimas pierden el derecho de revocación; debe comunicarse con transparencia.
Relación con otros ADR
Implementa el componente de consentimiento de ADR-001. El esquema está en DATA_MODEL.md
(consent_versions, consent_records).