Especificação pública e para desenvolvimento
Consentimentos Granulares
Versão 1.0 · 20 de abril de 2026 · Busque e Acharás
Conforme LGPD art. 8º, §4º, o consentimento deve ser "fornecido para finalidades determinadas" — sendo proibido o consentimento genérico. Este documento especifica os consentimentos separados que o Busque e Acharás coleta, seus textos, o fluxo UX e a especificação técnica de armazenamento.
1. Lista de consentimentos separados obrigatórios
Base legal: Execução de contrato + Consentimento · Padrão: não pré-marcado
"Para que eu possa usar o Busque e Acharás (leitor bíblico, planos de leitura, estudos), autorizo o tratamento dos meus dados de cadastro (nome, WhatsApp, e-mail, data de nascimento, preferências) para fins de autenticação, entrega do Serviço e comunicação de rotina."
Observação técnica: Base legal composta — execução de contrato (art. 7º, V) + consentimento para dado sensível inferido (religioso).
Base legal: Consentimento específico · Padrão: não pré-marcado
"Autorizo que as perguntas que eu enviar ao Assistente Bíblico sejam processadas por modelos de inteligência artificial fornecidos por terceiros contratados pelo Busque e Acharás, para gerar respostas de estudo bíblico. Sei que as respostas podem conter erros e não substituem aconselhamento pastoral ou profissional."
Observação técnica: Consentimento separado — sem este aceite, o Assistente Gratuito com busca semântica local permanece disponível; apenas o Premium com IA fica bloqueado.
Base legal: Consentimento específico (LGPD art. 33, VIII) · Padrão: não pré-marcado
"Autorizo a transferência do texto das minhas perguntas ao Assistente para servidores localizados fora do Brasil (Estados Unidos), onde o processamento de IA é executado. Estou ciente das salvaguardas contratuais aplicadas (item 6 da Política de Privacidade) e de que posso revogar este consentimento a qualquer momento."
Observação técnica: Vinculado a C2 — se C2 for negado, C3 é automaticamente desativado.
Base legal: Consentimento específico e destacado (LGPD art. 11, II, "a") · Padrão: não pré-marcado
"Reconheço que o uso deste serviço de estudo bíblico cristão revela interesse em temática religiosa, o que configura dado sensível pela LGPD. Autorizo o tratamento desta informação exclusivamente para a finalidade de entrega do Serviço contratado (leitor bíblico, estudos, Assistente), sem nenhum compartilhamento com terceiros para fins de marketing, publicidade, perfilização externa ou venda de dados."
Observação técnica: Dado sensível exige consentimento destacado — deve aparecer em seção visualmente separada dos demais, com fundo diferenciado e checkbox maior. Jamais pré-marcado.
Base legal: Consentimento — opt-in · Padrão: pré-marcado ✓
"Autorizo o envio de versículos diários, lembretes de plano de leitura e comunicações de serviço para o meu WhatsApp e/ou e-mail cadastrado. Entendo que não receberei publicidade de terceiros. Posso revogar a qualquer momento no painel de Configurações ou respondendo PARE a qualquer mensagem."
Observação técnica: Pré-marcado é aceitável aqui pois é opt-in expresso apenas para comunicações do próprio Serviço — não é publicidade de terceiros. Revogação simples em 1 clique.
Base legal: Consentimento específico — opt-in · Padrão: não pré-marcado
"Autorizo o uso de cookies de análise agregada (estatísticas anônimas, sem identificação individual) para ajudar a equipe do Busque e Acharás a entender o uso da plataforma e melhorá-la. Entendo que cookies técnicos essenciais (autenticação, sessão) são sempre necessários e não requerem consentimento."
Observação técnica: NÃO pré-marcar. Exibir banner de cookies na primeira visita (fora da área logada também).
2. Fluxo UX — Wireframe das telas
O cadastro é dividido em 4 etapas, cada uma com foco único para evitar sobrecarga cognitiva e obter consentimento informado:
Etapa 1 — Identificação básica
- Nome completo
- WhatsApp (com validação OTP)
- Data de nascimento (derivação automática: maior/menor)
- E-mail (opcional)
[ Continuar → ]
Etapa 2 — Consentimentos essenciais
- [ ] C1 — Tratamento geral de dados (essencial, precisa ser marcado)
- [ ] C4 — Dado sensível religioso (DESTACADO em card dourado separado)
- [ ] Aceito os Termos de Uso e Política de Privacidade
[ Continuar → ]
Nota: Cada checkbox é individual. Sem a opção 'Aceitar todos'. Sem pré-marcação em C1 e C4. Link para ler cada documento ao lado do texto.
Etapa 3 — Consentimentos opcionais
- [ ] C2 — Uso do Assistente IA (desbloqueia Premium)
- [ ] C3 — Transferência internacional (só habilitado se C2 marcado)
- [x] C5 — Comunicações por WhatsApp (pré-marcado, pois é serviço próprio)
- [ ] C6 — Cookies de analytics agregado
[ Continuar → ]
Nota: Usuário pode recusar todos e continuar — a camada Gratuita permanece funcional (sem IA Premium).
Etapa 4 — Confirmação
- Resumo visual de cada consentimento: ✓ autorizado / ✗ não autorizado
- Data, hora e IP registrados
- Hash do documento de Termos aceito
- Botão final: "Criar minha conta"
[ Criar minha conta ]
Regras gerais do UX:
- Nenhum checkbox pré-marcado (exceto C5, que é comunicação do próprio serviço)
- Sem botão "Aceitar todos" unificado
- Cada texto precisa ser legível (mínimo 14px, contraste WCAG AA)
- Links para documentos abrem em nova aba (não perdem o progresso)
- Usuário pode voltar e alterar em qualquer etapa
- Tempo médio de cadastro alvo: 90 segundos
3. Especificação técnica — armazenamento
Cada aceite gera um registro imutável no banco:
Table: consent_log ───────────────────────────────────── id UUID PK user_id UUID FK → users consent_code VARCHAR(8) -- C1, C2, C3, C4, C5, C6 consent_version VARCHAR(16) -- "1.0" (versão do texto aceito) text_hash CHAR(64) -- SHA-256 do texto exato aceito granted BOOLEAN -- true = autorizou; false = recusou granted_at TIMESTAMPTZ -- data/hora UTC ip_address INET -- IP do aceite user_agent TEXT -- navegador/dispositivo revoked_at TIMESTAMPTZ -- quando revogado (NULL se ativo) revoked_reason TEXT -- motivo (opcional) INDEX: (user_id, consent_code, revoked_at)
Regras de negócio:
- Imutabilidade: registros de consent_log nunca são editados ou deletados. Revogação cria novo registro ou atualiza
revoked_at. - Versionamento: quando o texto do consentimento muda, incrementa-se
consent_version. Usuários existentes precisam re-aceitar a nova versão. - Hash SHA-256: preserva evidência do texto literal aceito — protege contra alteração retrospectiva de termos.
- Histórico preservado: mesmo após revogação, o registro anterior permanece (para prova de que houve aceite no momento X).
4. Fluxo de revogação por finalidade
No painel de Configurações → aba "Privacidade", o usuário vê:
- Lista de todos os consentimentos dados (com data e versão)
- Status atual: autorizado / revogado
- Botão "Revogar" ao lado de cada item ativo
- Botão "Exportar histórico" (download JSON com seu histórico de aceites)
Efeitos de cada revogação:
- C1 revogado: conta é encerrada automaticamente (não há como operar sem esse consentimento).
- C2 revogado: Assistente Premium fica indisponível imediatamente. Créditos não consumidos são reembolsados proporcionalmente.
- C3 revogado: implica revogação automática de C2 (sem transferência, não há Premium).
- C4 revogado: conta é encerrada (temática religiosa é inerente ao Serviço).
- C5 revogado: comunicações cessam imediatamente. Conta permanece funcional.
- C6 revogado: analytics agregados param. Conta permanece funcional.
A revogação tem efeito prospectivo (art. 8º, §5º LGPD) — não invalida tratamentos realizados legitimamente antes.
5. Auditoria e exportação
A qualquer tempo, titular e DPO podem exportar o log completo de consentimentos de um usuário específico para fins de:
- Prova em contestação administrativa ou judicial
- Atendimento a direito de acesso (LGPD art. 18, II)
- Atendimento a direito de portabilidade (LGPD art. 18, V)
- Relatório interno de conformidade
Formato de exportação: JSON estruturado com todos os campos de consent_log + anexo dos textos literais (com seus hashes) das versões aceitas.
6. Checklist de implementação pelo time de TI
- Criar migration 021 — tabela
consent_logconforme especificação - Criar endpoints: POST /users/consent (registrar), DELETE /users/consent/:code (revogar), GET /users/me/consents (listar do próprio usuário)
- Implementar tela de cadastro em 4 etapas conforme wireframe
- Implementar painel de privacidade em /dashboard/settings
- Implementar banner de cookies (fora de login) com toggle C6
- Implementar job de versionamento: quando um documento legal muda, marcar todos os aceites da versão anterior como "desatualizados" e exigir re-aceite
- Implementar exportação JSON no painel do usuário
- Testes automatizados garantindo que nenhum checkbox venha pré-marcado (exceto C5, testado separadamente)
- Teste de acessibilidade (WCAG AA): contraste, navegação por teclado, leitor de tela
- Documentar em
/docs/consentimentos.mdpara revisão anual pelo DPO