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

C1Tratamento geral de dados (essencial)OBRIGATÓRIO

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).

C2Uso do Assistente Bíblico com IAOPCIONAL

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.

C3Transferência internacional de dados (Estados Unidos)OPCIONAL

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.

C4Dado sensível — convicção religiosa (DESTACADO)OBRIGATÓRIO⚠ DESTACADO

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.

C5Comunicações por WhatsApp e e-mailOPCIONAL

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.

C6Cookies não essenciais (analytics agregado)OPCIONAL

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 1Identificação básica

  • Nome completo
  • WhatsApp (com validação OTP)
  • Data de nascimento (derivação automática: maior/menor)
  • E-mail (opcional)

[ Continuar → ]

Etapa 2Consentimentos 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 3Consentimentos 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 4Confirmaçã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

  1. Criar migration 021 — tabela consent_log conforme especificação
  2. Criar endpoints: POST /users/consent (registrar), DELETE /users/consent/:code (revogar), GET /users/me/consents (listar do próprio usuário)
  3. Implementar tela de cadastro em 4 etapas conforme wireframe
  4. Implementar painel de privacidade em /dashboard/settings
  5. Implementar banner de cookies (fora de login) com toggle C6
  6. Implementar job de versionamento: quando um documento legal muda, marcar todos os aceites da versão anterior como "desatualizados" e exigir re-aceite
  7. Implementar exportação JSON no painel do usuário
  8. Testes automatizados garantindo que nenhum checkbox venha pré-marcado (exceto C5, testado separadamente)
  9. Teste de acessibilidade (WCAG AA): contraste, navegação por teclado, leitor de tela
  10. Documentar em /docs/consentimentos.md para revisão anual pelo DPO