↩ Sumário · Decisões (ADR)
ADR 0010 — Consentimento em camadas: continuidade e contato são coisas diferentes
- Status: aceita (2026-08-08) — aprovada pelo editor; implementada na spec 093
- Feature:
093-progresso-e-contato - Emenda a: ADR 0009, cuja "fronteira explícita" exigia justamente esta ADR para ser movida
Contexto
O editor pediu três coisas que, juntas, mudam a natureza do e-mail no livro:
- o convite para guardar progresso está discreto demais e deve aparecer de verdade;
- ele quer guardar os e-mails para avisar sobre livros futuros — "desde que eles aceitem";
- o leitor deve ver o próprio progresso, de forma simples.
O item 2 colide de frente com o que já foi prometido. Hoje, em três lugares do código que o leitor lê, está escrito: "Um e-mail, um link. Sem senha, sem cadastro, sem informativo" — e o e-mail que ele recebe diz "você não receberá mais nada". A ADR 0009 registrou isso como fronteira e determinou que movê-la exigiria nova ADR. É o que este documento faz.
O ponto delicado não é o pedido — é quem já disse sim ao acordo antigo. Essas pessoas aceitaram uma coisa e receberiam outra. Nenhuma redação nova apaga isso.
Decisão
Dois consentimentos distintos, nunca embutidos um no outro.
| Continuidade | Contato | |
|---|---|---|
| Para quê | e-mail como chave de progresso | avisar sobre livros novos |
| Quando | ao assinar (spec 080) | perguntado depois, à parte |
| Mensagens | só o link mágico | novidades, quando houver |
| Padrão | — | desmarcado |
| Sem ele | não há continuidade | continuidade segue inteira |
Consequências que decorrem disso, e que são a decisão de verdade:
- Ninguém é migrado. Quem assinou sob "sem informativo" não entra na lista de contato por efeito desta ADR. É perguntado, uma vez, sem bloqueio, e o silêncio vale não.
- Consentimento é registro append-only, não flag. Um booleano perde a história; a LGPD pede prova de quando a pessoa consentiu e a que texto. Cada "dei" e cada "revoguei" vira linha. O estado atual é a última linha por (e-mail, finalidade).
- Revogar contato não revoga continuidade. São finalidades separadas; misturá-las puniria quem só não quer receber novidade.
- Toda mensagem de contato leva link de descadastro, e o descadastro é um clique — sem login, sem formulário, sem "conte por que está saindo".
- A lista é exportável só com
ADMIN_TOKEN, e traz apenas quem tem contato ativo.
Alternativas avaliadas
- A — Um consentimento só, redação ampliada ("guardar progresso e receber novidades"). Mais simples de construir e o que a maioria dos sites faz. Rejeitada: transforma um consentimento técnico em consentimento de marketing por tabela, e força quem só quer continuidade a aceitar contato. Consentimento forçado não é consentimento, e o livro ensina o contrário disso no cap. 07.
- B — Caixa marcada por padrão. Rejeitada pelo mesmo motivo, com o agravante de explorar a desatenção. O editor escreveu "desde que eles aceitem" — aceitar é ato, não é omissão.
- C — Migrar os assinantes atuais e avisar depois. Rejeitada: é exatamente quebrar a promessa que a ADR 0009 registrou. O custo de perguntar é baixo (a base é pequena); o custo de trair uma promessa escrita é o único ativo que um livro sobre evidência tem.
- D — Dois consentimentos (escolhida). Mais trabalho, e o número de e-mails na lista de contato será menor que o de assinantes. É a intenção: uma lista pequena de quem quis vale mais que uma lista grande de quem não percebeu.
Consequências
- Positivas: o pedido do editor é atendido sem quebrar promessa; a base de contato nasce limpa e defensável; a arquitetura suporta finalidades futuras sem nova migração de schema.
- Custos aceitos: uma pergunta a mais no fluxo; lista menor; uma tabela nova.
- Reversibilidade: alta. Desligar contato é parar de perguntar e de exportar — a continuidade não depende dele.
- Nova fronteira, que substitui a da ADR 0009: o e-mail pode ser usado para avisar sobre publicações do autor, e nada além disso, apenas para quem consentiu nessa finalidade específica. Venda de lista, repasse a terceiro e mensagem de patrocinador continuam fora — e mudar isto exige, de novo, nova ADR.