⚖️ cs-quality-regulatory — Quality & Regulatory Compliance (LGPD/Healthcare)
Auditoria técnica e estratégica pela ótica cs-quality-regulatory — Quality & Regulatory Compliance (LGPD/Healthcare). Achados classificados por severidade, plano de ação e matriz de decisão.
Veredito: Dados de saúde (categoria especial LGPD) expostos sem autenticação em rotas críticas — violação direta da Lei 13.709/2018 com risco de multa ANPD.
Clinicafy processa dados de saúde — categoria especial pela LGPD (Art.11). A exposição de rotas /api/pacientes sem auth (HANDOFF.md:91) configura violação direta do Art.46 (segurança adequada) e Art.48 (comunicação de incidente). CSP ausente, CORS aberto, sem DPO nomeado e sem Política de Privacidade específica para dados médicos. O risco legal é crítico para um produto de saúde.
Dimensões Analisadas
Pontuação por área de análise.
LGPD Compliance
Dados de saúde processados sem: DPO, RIPD, Política de Privacidade adequada, consentimento granular.
Segurança de Dados
Auth Firebase robusta mas rotas sem auth expõem todos os dados. CSP ausente. CORS aberto.
CFM / Prontuário Digital
ConsultationPage tem status (draft/finalized/amended) e adendos — alinhado à Resolução CFM 1.821/2007. Sem assinatura digital.
Audit Trail
audit_logs mencionado no HANDOFF mas sem código que escreve nele. Sem rastreabilidade de acesso.
🔎 Achados (5)
2 crítico(s) · 3 alto(s) · 2 bloqueante(s). Clique para expandir.
Dados de saúde acessíveis sem autenticação — violação LGPD Art.46CríticaBloqueanteEsforço medioLGPD Art.46 / OWASP A01
O que é: HANDOFF.md:91-92: rotas /api/pacientes (e outras) respondem sem verifyAuth. Pacientes contêm: CPF, diagnósticos CID10, alergias, medicações, histórico familiar, anamnese — dados de saúde = categoria especial LGPD. Acessíveis sem token.
Onde: HANDOFF.md:91-92 + server.ts (rotas legadas sem auth)
Impacto: Multa ANPD: até 2% do faturamento, limitado a R$50M por infração. Danos à imagem irreparáveis. Responsabilidade civil.
Sem DPO (Encarregado de Proteção de Dados) nomeadoCríticaBloqueanteEsforço baixoLGPD Art.41 / Obrigação Legal
O que é: LGPD Art.41 exige nomeação de Encarregado para controladores que processam dados sensíveis (saúde = sensível). Não há menção de DPO no produto, landing page ou políticas.
Onde: index.html (ausência de referência a DPO) + site (ausência de página de privacidade)
Impacto: Irregularidade direta com a ANPD. Em caso de incidente, ausência de DPO agrava penalidade.
Prontuário sem assinatura digital ICP-BrasilAltaEsforço altoCFM Resolução 1.821/2007 / Prontuário Eletrônico
O que é: ConsultationPage.tsx tem status draft/finalized/amended e adendos (types.ts:165-170) — correto. Mas a Resolução CFM 1.821/2007 exige certificação digital ICP-Brasil para prontuários eletrônicos que dispensem a versão em papel.
Onde: src/types.ts:165-170 + src/pages/ConsultationPage.tsx
Impacto: Prontuário digital sem assinatura ICP-Brasil pode não ter validade jurídica plena. Risco em processos éticos no CFM.
audit_logs sem implementação — rastreabilidade de acesso inexistenteAltaEsforço medioLGPD Art.37 / Registro de Atividades
O que é: HANDOFF.md:46: 'audit_logs: investigado — nenhum código escreve nele; é só regra órfã no firestore.rules.' Sem trilha de auditoria de quem acessou quais dados de pacientes. LGPD Art.37 exige registros de operações de tratamento.
Onde: HANDOFF.md:46
Impacto: Impossível responder a investigação da ANPD ou do paciente sobre 'quem acessou meus dados'. Sem evidência de controle.
Sem Política de Privacidade específica para dados de saúdeAltaEsforço medioLGPD Art.9 / Transparência
O que é: index.html e LandingPage.tsx não incluem link para Política de Privacidade específica para dados de saúde. LGPD Art.9 exige informar categorias de dados, finalidade, prazo de retenção, compartilhamento.
Onde: index.html + src/pages/LandingPage.tsx
Impacto: Não conformidade legal desde o início. Usuários não têm base para dar consentimento informado.
📋 Plano de Ação
Cronograma de implementação recomendado.
Auth em todas as rotas (1 dia) — URGENTE LGPD
1 dia · CRÍTICO
Nomear DPO (1h)
1h · CRÍTICO
Política de Privacidade de saúde (3 dias)
3 dias · CRÍTICO
Audit log table (1 semana)
1 semana
Assinatura digital prontuário (longo prazo)
1-2 meses
Matriz de Decisão
| Critério | Fonte | Status | Bloqueante |
|---|---|---|---|
| LGPD Art.46 (segurança) | cs-quality-regulatory | Rotas sem auth — violação direta | SIM |
| DPO Nomeado (Art.41) | cs-quality-regulatory | Ausente | SIM |
| Política de Privacidade | cs-quality-regulatory | Ausente para dados de saúde | não |
| Audit Trail | cs-quality-regulatory | audit_logs sem implementação | não |
| CFM Prontuário | cs-quality-regulatory | Status/adendo OK, sem assinatura ICP | não |