1. Objeto e âmbito
Esta política explica como o CaptainDNS (o "Serviço", "nós") trata os dados pessoais dos usuários ("você", "Usuário") durante a autenticação, o uso das funcionalidades DNS e a consulta/partilha de registos técnicos.
2. Resumo não técnico
- Utilizamos Auth0 para autenticação.
- Mantemos um perfil interno (email, nome, apelido, idioma, avatar…) e logs técnicos que descrevem as chamadas à API (incluindo endereço IP e payloads).
- A funcionalidade "resolve watch" armazena metadados DNS (qname, qtype, resolvedor, hashes/resumos das respostas, diffs, latência, timestamps).
- No navegador usamos apenas armazenamentos funcionais (cookie de idioma, localStorage, sessionStorage) que não são usados para marketing.
- Os dados permanecem alojados na UE/EEE em infraestruturas seguras e conformes com o RGPD.
- Alguns terceiros podem receber dados conforme o recurso usado: Auth0 (identidade) e resolvedores DNS públicos (Cloudflare, Google, Quad9, AdGuard, NextDNS).
- Mantém todos os direitos RGPD (acesso, retificação, eliminação, etc.) e pode revogar um link público do log através do suporte.
3. Dados tratados, finalidades e bases legais
A. Autenticação e perfil
Dados tratados
- Tokens Auth0 e atributos devolvidos
- Perfil local
- Sincronização front→back
Finalidades
- Criar e manter a sua conta/perfil.
- Prestar o Serviço e preservar as preferências de visualização.
Base legal (art. 6 RGPD)
- Execução do contrato (art. 6‑1‑b): fornecer o acesso e as funcionalidades esperadas.
- Interesse legítimo (art. 6‑1‑f): proteger os acessos (tokens, verificações técnicas).
B. Logs técnicos no backend
Dados tratados
- Middleware: método, rota, estado, duração, endereço IP (derivado de
X-Forwarded-For,X-Real-IPou fornecido pelo frontend), payloads JSON (pedido/resposta ou prévia truncada), código/mensagem de erro, origem (anónima/autenticada), ID de utilizador (se existir), timestamps, token público opcional para partilha. - Endpoints frontend:
/api/requests/history-token/[requestId](confirma se existepublic_tokene devolve um resumo: timestamp, rota, estado, código de erro)./api/request-history/[token](proxy da vista depurada, no-cache)./api/requests/recent(até 50 chamadas recentes para um utilizador autenticado, após limpeza dos campos esperados).
Finalidades
- Operação, diagnóstico, segurança, prevenção de abuso, suporte, prova de serviço, melhoria do Serviço.
- Disponibilizar a opção de partilha de logs (token).
Base legal
- Interesse legítimo (art. 6‑1‑f): manter o Serviço seguro e estável.
- Execução do contrato (art. 6‑1‑b): permitir consultar o histórico ou partilhar uma vista depurada quando ativada.
C. Resolve watches (monitorização)
Dados tratados
- Proprietário (perfil), pedido DNS original (qname, qtype, resolvedor), observações subsequentes (hashes de resposta, TTL mínimo/máximo, diff JSON, indicadores de anomalia, timestamps).
Finalidade
- Proporcionar monitorização DNS e deteção de alterações/anomalias.
Base legal
- Execução do contrato (art. 6‑1‑b).
D. Armazenamentos no navegador (apenas funcionais)
Dados e duração
- Cookie
NEXT_LOCALE: 180 dias,SameSite=Lax, opçãoSecure; guarda o idioma escolhido. A página inicial também pode lerAccept-Languagepara orientar visitantes sem cookie. - localStorage (HistoryService, até 500 eventos por par host/qtype): timestamp, host, tipo, resolvedor, código de estado, latência, respostas textuais. (Lembrete: legível por qualquer script executado na página.)
- sessionStorage: chaves anti-repetição (hash do pedido) e timestamp, limpos após o uso ou após ~15 segundos.
Finalidades
- Conforto estritamente funcional (persistência de idioma, evitar pedidos duplicados).
- Sem rastreamento publicitário.
Base legal
- Isenção ePrivacy para cookies/armazenamentos estritamente necessários.
- Interesse legítimo (art. 6‑1‑f): garantir experiência estável e prevenir abuso.
E. Chamadas para resolvedores DNS públicos
Dados transmitidos
- Nomes de domínio e parâmetros necessários aos pedidos DNS iniciados (podem incluir elementos identificativos conforme o contexto).
- Fornecedores: Cloudflare, Google, Quad9, AdGuard, NextDNS, etc. (dependendo do preset escolhido).
Finalidade
- Executar os seus pedidos DNS e devolver resultados/análises.
Base legal
- Execução do contrato (art. 6‑1‑b).
4. Destinatários e categorias de destinatários
- Equipa interna autorizada (need-to-know): operações, suporte, segurança.
- Subencarregados (contratos, DPA/SCC ativos):
- Alojamento & base de dados PostgreSQL (EEE).
- Auth0 (Okta) para autenticação e API.
- Destinatários independentes (atuam como responsáveis autónomos para os seus pedidos DNS): Cloudflare, Google, Quad9, AdGuard, NextDNS.
- Fornecedores de email/suporte (quando contacta o suporte).
Não há venda de dados nem transferências para publicidade.
5. Transferências fora do EEE
A infraestrutura principal (aplicação e PostgreSQL) está alojada no EEE. Configuramos Auth0 e os restantes subencarregados em regiões UE sempre que possível.
Se, excecionalmente, for necessária uma transferência fora do EEE (ex.: routing dos resolvedores, operações Auth0), esta é coberta por garantias adequadas (art. 46 RGPD), como Cláusulas Contratuais-Tipo (SCC) com medidas adicionais, ou por uma derrogação (art. 49) quando o pedido parte de si e é necessário para o Serviço.
6. Prazos de retenção
| Categoria | Duração | Observações |
|---|---|---|
| Perfil | Enquanto a conta estiver ativa + 30 dias após a eliminação; depois os dados ativos são removidos. Backups até 90 dias. | Necessário para gestão da conta e rastreabilidade mínima. |
| Logs da API | Até 180 dias (rolling). Extensão possível até 12 meses em incidentes/obrigações legais; depois eliminação ou anonimização. | Inclui IP, payloads, estados, erros, tokens. |
| Resolve watches | Enquanto a monitorização estiver ativa. Após desativação/remoção: purga em 30 dias; possíveis agregados/anónimos. | Diffs/observações detalhadas mantidas por 6 meses. |
| Token público de partilha | Sem expiração automática: válido até revogação via suporte (§ 7). | Pode receber uma expiração configurável futuramente. |
Cookie NEXT_LOCALE | 180 dias | Estritamente funcional. |
| localStorage (histórico DNS) | Armazenamento local (não enviado ao servidor); pode limpá-lo a qualquer momento. | Até 500 eventos por par host/qtype. |
| sessionStorage (anti-repetição) | ~15 segundos, depois limpo após o uso. | Efémero, funcional. |
Nota operacional: quando a purga automática é aplicada, elimina/anonimiza os registos que atingem o prazo. Os backups têm retenções limitadas e acesso restrito.
7. Partilha de logs via link público
O Serviço permite partilhar uma vista depurada através de uma URL com token público:
- Geração/consulta: a API devolve uma vista filtrada que remove chaves sensíveis (
email,password,cookie, etc.) e força cabeçalhos no-cache. - Âmbito: qualquer pessoa que tenha o link pode ver o log correspondente.
- Revogação: para invalidar um token, contacte o suporte em [support@…] indicando o ID do log ou a URL pública. Iremos apagar o log ou revogar o token, tornando o link inutilizável.
- Limites: apesar do no-cache, terceiros podem ter copiado o conteúdo; a revogação impede novas leituras via API, mas não remove cópias externas.
8. Segurança
Aplicamos medidas técnicas e organizacionais alinhadas às boas práticas:
- Cifra em trânsito (TLS) e em repouso (volumes cifrados).
- Controlo de acesso (menor privilégio), isolamento de ambientes, registo de acessos.
- Hardening dos endpoints, rate limiting, deteção de anomalias.
- Gestão segura de segredos no servidor, rotação, armazenamento protegido.
- Acesso restrito a logs com IP/payload; exportações cifradas quando necessário.
- Revisões de código e monitorização de dependências.
Em caso de violação de dados, notificamos a autoridade competente (ex. CNIL) em até 72 horas quando exigido, e os titulares afetados se houver alto risco.
9. Os seus direitos
Nos termos dos artigos 15‑22 do RGPD, tem:
- Direito de acesso aos seus dados.
- Direito de retificação e eliminação ("direito ao esquecimento").
- Direito à limitação e oposição (especialmente para tratamentos baseados em interesse legítimo).
- Direito à portabilidade (dados fornecidos, em formato estruturado).
- Direito a diretivas pós-morte (França).
Para exercer os direitos: escreva para contact@captaindns.com anexando prova de identidade. Respondemos em até um (1) mês (prorrogável por dois (2) meses para pedidos complexos, com aviso).
Pode apresentar reclamação à CNIL (www.cnil.fr) ou à autoridade local.
10. Gestão de cookies e armazenamentos locais
- Desativar/limpar: elimine o cookie
NEXT_LOCALE, limpe o localStorage (histórico DNS) e o sessionStorage nas definições do navegador. - Consequências: a desativação pode degradar certas funções (idioma, anti-repetição).
- Sem publicidade ou perfilagem através destes mecanismos.
11. Dependências frontend e chamadas de rede
As rotas API do Next.js funcionam como proxy: adicionam X-Frontend-User-IP (derivado de X-Forwarded-For, X-Real-IP ou Forwarded) e, quando disponível, o token de acesso Auth0 em Authorization. O proxy autentica-se junto ao backend com um service token dedicado.
Estes cabeçalhos são tratados exclusivamente para segurança e roteamento fiável (base legal: interesse legítimo).
12. Crianças
O Serviço não se destina a menores de 15 anos (França) sem consentimento parental conforme (art. 8 RGPD). Se acredita que um menor nos forneceu dados, contacte-nos para eliminação.
13. Decisões automatizadas
Não tomamos decisões com efeitos jurídicos baseadas exclusivamente em tratamento automatizado dos seus dados.
14. Atualizações desta política
Podemos atualizar esta política para refletir mudanças legais ou técnicas. Em caso de alteração substancial, informamos por email ou na aplicação e, se necessário, solicitamos consentimento.
15. Contactos
- Responsável: ESPIERRE SAS, 60 RUE FRANCOIS IER, 75008 PARIS, FRANÇA
- DPO: Matthieu ESPAZE, matthieu@espierre.fr
- Suporte & revogação de links públicos: contact@captaindns.com
- Pedidos RGPD: contact@captaindns.com
Anexo A - Subcontratados e terceiros
- Auth0 (Okta): fornecedor de identidade (autenticação).
- Alojamento / BD PostgreSQL: Fly.io.
- Resolvedores DNS (controladores independentes): Cloudflare, Google, Quad9, AdGuard, NextDNS, etc. (segundo a configuração).
- Email/suporte: Google Workspace.
Anexo B - Bases legais por finalidade (resumo)
- Execução do contrato (6‑1‑b): criação/gestão da conta, funcionalidades DNS, resolve watches, fornecimento do histórico e da vista partilhada (quando ativada).
- Interesse legítimo (6‑1‑f): segurança (logs técnicos, IP, anti-repetição), prevenção de abuso, melhoria do Serviço, conforto funcional (cookie de idioma).
- Consentimento: não exigido para cookies/armazenamentos estritamente funcionais (isenção ePrivacy).
Informações práticas
- Purga de logs da API: retenção 180 dias (rolling), prolongada apenas para investigação/obrigação legal (máx. 12 meses), depois eliminação ou anonimização.
- Acesso interno a logs completos (IP/payloads) estritamente limitado; exportações cifradas quando necessário.
- Partilha com token público: utilize-a de forma temporária e revogue assim que deixar de ser necessária (suporte: contact@captaindns.com).
- Armazenamentos locais: legíveis por qualquer script na página; evite inserir dados sensíveis.
- DNS de terceiros: os nomes de domínio introduzidos são transmitidos aos resolvedores escolhidos; consulte as respetivas políticas.
Avisos finais
Esta política integra o nosso Registo de atividades de tratamento e o nosso Programa de segurança. Será ajustada se a arquitetura evoluir (ex.: expiração automática dos tokens de partilha).
Última atualização: 04 de novembro de 2025