LGPD
O Neemias foi projetado com proteção de dados desde a arquitetura. Abaixo, o alinhamento com os princípios da LGPD.
Classificação de Dados Pessoais
| Campo | Tipo de dado | Classificação LGPD | Finalidade | Retenção |
|---|---|---|---|---|
displayName | Nome completo | Dado pessoal | Identificação do aluno | Enquanto o aluno estiver ativo |
photoRef | Foto | Dado pessoal sensível (biométrico) | Identificação visual | Enquanto o aluno estiver ativo |
guardianName / guardianNameAlt | Nome do responsável | Dado pessoal | Contato de emergência | Enquanto o aluno estiver ativo |
birthDate | Data de nascimento | Dado pessoal | Cálculo de idade para alocação em turma | Enquanto o aluno estiver ativo |
phones[].number | Telefone | Dado pessoal | Contato de emergência | Enquanto o aluno estiver ativo |
address.* (7 campos) | Endereço residencial | Dado pessoal | Cadastro e emergência | Enquanto o aluno estiver ativo |
allergies | Alergias | Dado pessoal sensível (saúde) | Segurança da criança | Enquanto o aluno estiver ativo |
specialNeeds | Necessidades especiais | Dado pessoal sensível (saúde) | Acomodação pastoral | Enquanto o aluno estiver ativo |
imageConsent | Consentimento LGPD | Dado pessoal sensível | Autorização de uso de imagem | Permanente (auditoria) |
Campos não-PII: studentId, classId, status, nucleus*, familyMembershipStatus, timestamps.
Autorização de Uso de Imagem e Voz
Desde junho/2026, o app oferece suporte nativo ao Termo de Autorização de Uso de Imagem, Voz e Dados de Menor, em conformidade com:
- LGPD (Lei 13.709/2018): base legal de consentimento do responsável (Art. 7º, I c/c Art. 14, §1º)
- ECA Digital (Lei 15.211/2025): compromissos de proteção em plataformas digitais
Fluxo de cadastro
- Admin/Cadastro abre o formulário de adição de aluno
- Seção "Autorização de Uso de Imagem (LGPD)" exibe:
- Checkbox de autorização
- Campos de CPF e RG do responsável
- Nome e CPF de duas testemunhas
- Upload do termo assinado (PDF ou foto)
- Ao salvar, um registro
imageConsenté criado na tabelaimageConsentsno IndexedDB com statusACTIVE - O ID do consentimento é vinculado ao registro do aluno (
student.imageConsentId)
Revogação
O responsável pode revogar a autorização a qualquer momento via pedido escrito ao contato LGPD indicado na política da instituição. A revogação não prejudica tratamentos já realizados regularmente (Art. 8º, §5º, LGPD).
Renovação
O termo é válido enquanto o menor participar das atividades. Um novo consentimento pode ser registrado a qualquer momento (cria novo registro na tabela, versão anterior arquivada).
Medidas de Proteção
Minimização de Dados
Apenas campos essenciais são armazenados. O sistema não coleta dados desnecessários ou excessivos. Soft-delete preserva o histórico de auditoria sem expor dados ativos.
Criptografia em Repouso
Dados sensíveis no IndexedDB são criptografados com AES-GCM. A chave de criptografia é derivada do hash da senha do usuário via PBKDF2. Campos como changePayload e justification são armazenados apenas como ciphertext.
Controle de Acesso
- RBAC com 4 papéis base + papéis customizados
- Apenas
ADMINacessa todos os dados de alunos CHAMADORvê apenas nome e status para marcação de presença- Auditoria: toda mutação registrada via tabela de eventos
Responsabilidades (Controlador vs Operador)
| Papel | Quem é | Responsabilidades LGPD |
|---|---|---|
| Controlador | Igreja / Escola (instituição usuária do software) | Definir finalidades, obter consentimento, responder a requisições de titulares, notificar ANPD em caso de incidente |
| Operador | Mantenedores do software Neemias | Garantir a segurança técnica do software, processar dados conforme instruções do controlador, manter registro de operações |
A instituição usuária (igreja/escola) é a controladora dos dados nos termos do Art. 5º, VI da LGPD. O software é a ferramenta — a responsabilidade pelo cumprimento da LGPD é da instituição que opera o sistema.
Fluxo de Resposta a Incidentes
| Etapa | Descrição | Prazo |
|---|---|---|
| 1. Detecção | Identificação de vazamento, acesso não autorizado ou perda de dados | Imediato |
| 2. Contenção | Isolamento do sistema afetado, revogação de tokens/senhas comprometidos | 24h |
| 3. Investigação | Análise de logs (local: IndexedDB, servidor: Cloudflare D1) para determinar escopo | 48h |
| 4. Notificação ANPD | Comunicação à Autoridade Nacional de Proteção de Dados | 72h (Art. 48, LGPD) |
| 5. Notificação titulares | Comunicação aos responsáveis dos alunos afetados | 72h |
| 6. Remediação | Correção da vulnerabilidade, melhoria de controles | 7 dias |
Contato para reportar incidentes: conforme SECURITY_CONTACT_EMAIL configurado na instância.
Workflow de Requisição de Titular (Art. 18 LGPD)
| Direito | Como exercer | Funcionalidade no app |
|---|---|---|
| Acesso | Responsável solicita à instituição | Exportar dados do aluno (CSV/JSON) + registro de consentimento |
| Correção | Responsável solicita correção de dado incorreto | Edição de campos na interface de admin |
| Exclusão | Responsável solicita remoção (direito ao esquecimento) | Soft-delete do aluno + revogação de consentimento |
| Portabilidade | Responsável solicita exportação dos dados | Export CSV/JSON de todos os dados do aluno |
| Oposição | Responsável contesta tratamento de dado específico | Revogação de consentimento de imagem |
| Revogação de consentimento | Responsável cancela autorização anterior | Revogação do registro imageConsent |
A instituição deve responder à requisição em até 15 dias (Art. 19, LGPD).
Equivalência LGPD → GDPR
| LGPD | GDPR | Diferenças |
|---|---|---|
| Art. 5º — Dado pessoal | Art. 4(1) — Personal data | Equivalentes |
| Art. 7º — Bases legais | Art. 6 — Lawfulness of processing | Equivalentes (LGPD tem uma base a mais: proteção ao crédito) |
| Art. 11 — Dados sensíveis | Art. 9 — Special categories | Equivalentes |
| Art. 18 — Direitos do titular | Art. 15-22 — Data subject rights | Muito similares; LGPD inclui direito de oposição explícito |
| Art. 41 — Encarregado (DPO) | Art. 37 — Data Protection Officer | Equivalentes |
| Art. 48 — Notificação de incidentes | Art. 33 — Breach notification | Prazos: 72h (LGPD e GDPR) |
| — | Art. 27 — Representative | GDPR exige representante na UE se controlador estiver fora |
Checklist de Due Diligence para Implantação
- [ ] Política de privacidade publicada e acessível aos pais/responsáveis
- [ ] Termo de autorização de uso de imagem preenchido e assinado
- [ ] Contato LGPD designado e divulgado
- [ ] Procedimento de resposta a incidentes documentado
- [ ] Registro de consentimentos armazenado (tabela
imageConsents) - [ ] Auditoria de acesso: quem vê dados de alunos?
- [ ] Revogação testada: pais conseguem solicitar exclusão?
Infraestrutura
- Tráfego: HTTPS obrigatório (Cloudflare)
- Armazenamento: IndexedDB (client-side) + D1 (Cloudflare, servidores nos EUA)
- Backups: D1 backups automáticos diários
- Logs: Sem rastreamento de terceiros. Sem cookies de tracking.
- Fornecedores terceiros: Nenhum dado de aluno é compartilhado com terceiros para fins comerciais
Fonte: packages/schemas/src/entities.ts (PII comments), .specs/project/STATE.md, app/src/db/types.ts (ImageConsent), docs/operations/storage-retention.md