Política de privacidad

1. Objeto y ámbito de aplicación

Esta política explica cómo CaptainDNS (el "Servicio", "nosotros") trata los datos personales de los usuarios ("usted", "Usuario") durante la autenticación, al utilizar las funciones de resolución DNS y al consultar/compartir registros técnicos.

2. Resumen no técnico

  • Utilizamos Auth0 para la autenticación.
  • Mantenemos un perfil interno (correo, nombre, alias, idioma, avatar, etc.) y registros técnicos que describen las llamadas API (incluida la dirección IP y los payloads).
  • La función "resolve watch" almacena metadatos DNS (qname, qtype, resolvedor, hashes/resúmenes de respuestas, diffs, latencia, marcas de tiempo).
  • En el navegador sólo usamos almacenamientos funcionales (cookie de idioma, localStorage, sessionStorage) que no se emplean para marketing.
  • Los datos se alojan en la UE/EEE sobre infraestructuras seguras y conformes con el RGPD.
  • Algunos terceros pueden recibir datos según la funcionalidad que utilice: Auth0 (identidad) y resolvedores DNS públicos (Cloudflare, Google, Quad9, AdGuard, NextDNS).
  • Mantiene todos sus derechos RGPD (acceso, rectificación, supresión, etc.) y puede revocar un enlace público de registro a través del soporte.

3. Datos tratados, finalidades y bases legales

A. Autenticación y perfil

Datos tratados

  • Tokens de Auth0 y atributos devueltos
  • Perfil local
  • Sincronización front→back

Finalidades

  • Crear y mantener su cuenta/perfil.
  • Prestar el Servicio y conservar sus preferencias de visualización.

Base jurídica (art. 6 RGPD)

  • Ejecución del contrato (art. 6‑1‑b): proporcionar el acceso y las funcionalidades esperadas.
  • Interés legítimo (art. 6‑1‑f): asegurar los accesos (tokens, verificaciones técnicas).

B. Registros técnicos backend

Datos tratados

  • Middleware: método, ruta, estado, duración, dirección IP (derivada de X-Forwarded-For, X-Real-IP o proporcionada por el frontend), payloads JSON (petición/respuesta o vista truncada), código/mensaje de error, origen (anónimo/autenticado), identificador de usuario (si existe), marcas de tiempo, token público opcional para compartir.
  • Endpoints frontend:
    • /api/requests/history-token/[requestId] (verifica si existe public_token y devuelve un resumen: marca temporal, ruta, estado, código de error).
    • /api/request-history/[token] (proxy de la vista depurada, no-cache).
    • /api/requests/recent (hasta 50 llamadas recientes para un usuario autenticado, tras limpiar los campos esperados).

Finalidades

  • Operación, diagnóstico, seguridad, prevención del abuso, soporte, prueba del servicio, mejora del Servicio.
  • Ofrecer una funcionalidad opcional de compartición de registros (token).

Base jurídica

  • Interés legítimo (art. 6‑1‑f): mantener el Servicio seguro y fiable.
  • Ejecución del contrato (art. 6‑1‑b): permitirle consultar su historial o compartir una vista depurada cuando lo activa.

C. Resolve watches (supervisión)

Datos tratados

  • Propietario (perfil), petición DNS original (qname, qtype, resolvedor), observaciones sucesivas (hashes de respuesta, TTL mínimo/máximo, diff JSON, indicadores de anomalía, marcas de tiempo).

Finalidad

  • Proporcionar monitorización DNS y detección de cambios/anomalías.

Base jurídica

  • Ejecución del contrato (art. 6‑1‑b).

D. Almacenamientos del navegador (solo funcionales)

Datos y duración

  • Cookie NEXT_LOCALE: 180 días, SameSite=Lax, opción Secure; guarda el idioma elegido. La página de inicio también puede leer Accept-Language para orientar a los visitantes sin cookie.
  • localStorage (HistoryService, hasta 500 eventos por par host/qtype): marca temporal, host, tipo, resolvedor, código de estado, latencia, respuestas en texto. (Recordatorio: legible por cualquier script que se ejecute en la página.)
  • sessionStorage: claves anti-reintento (hash de la petición) y marca temporal, limpiadas tras el uso o tras ~15 segundos.

Finalidades

  • Confort estrictamente funcional (persistencia de idioma, prevención de repeticiones).
  • Sin seguimiento publicitario.

Base jurídica

  • Exención ePrivacy para cookies/almacenamientos estrictamente necesarios.
  • Interés legítimo (art. 6‑1‑f): ofrecer una experiencia estable y evitar abusos.

E. Llamadas salientes a resolvedores DNS públicos

Datos transmitidos

  • Nombres de dominio y parámetros necesarios para las consultas DNS que inicia (que pueden contener elementos identificativos según el contexto).
  • Proveedores: Cloudflare, Google, Quad9, AdGuard, NextDNS, etc. (según el preset elegido).

Finalidad

  • Ejecutar sus consultas DNS y devolver los resultados/análisis.

Base jurídica

  • Ejecución del contrato (art. 6‑1‑b).

4. Destinatarios y categorías de destinatarios

  • Equipo interno autorizado (need-to-know): operaciones, soporte, seguridad.
  • Encargados (contratos, DPA/SCC vigentes):
    • Alojamiento y base de datos PostgreSQL (EEE).
    • Auth0 (Okta) para autenticación y API.
  • Terceros independientes (actúan como responsables para sus consultas DNS): Cloudflare, Google, Quad9, AdGuard, NextDNS.
  • Prestadores de correo/soporte (cuando contacta con nosotros).

No hay venta de datos ni transferencias para fines publicitarios.

5. Transferencias fuera del EEE

Nuestra infraestructura principal (aplicación y PostgreSQL) está alojada en el EEE. Procuramos configurar Auth0 y los demás encargados en regiones de la UE.
Si, de forma excepcional, se necesita una transferencia fuera del EEE (p. ej., enrutamiento de resolvedores, operaciones de Auth0), se ampara en garantías adecuadas (art. 46 RGPD) como Cláusulas Contractuales Tipo (SCC) con medidas adicionales, o en una excepción (art. 49) cuando la solicitud la realiza usted y es necesaria para prestar el Servicio.

6. Plazos de conservación

CategoríaDuraciónComentarios
PerfilMientras la cuenta esté activa + 30 días tras la supresión; después se borran los datos activos. Copias de seguridad hasta 90 días.Necesario para la gestión de la cuenta y trazabilidad mínima.
Registros APIHasta 180 días (rolling). Extensión posible hasta 12 meses en incidentes/obligaciones legales; luego supresión o anonimización.Incluye IP, payloads, estados, errores, tokens.
Resolve watchesMientras la vigilancia esté activa. Tras desactivarla/eliminarla: purga en 30 días; pueden mantenerse agregados/anónimos.Los diffs/observaciones detalladas se conservan 6 meses.
Token público de comparticiónSin caducidad automática: vigente hasta revocación vía soporte (ver § 7).Se podrá añadir una caducidad configurable.
Cookie NEXT_LOCALE180 díasEstrictamente funcional.
localStorage (historial DNS)Almacenamiento local (no se envía al servidor); puede limpiarlo cuando quiera.Hasta 500 eventos por par host/qtype.
sessionStorage (anti-reintento)~15 segundos, luego limpieza tras el uso.Efímero, funcional.

Nota operativa: cuando se activa la purga automática, elimina/anonimiza los registros cuyo plazo haya expirado. Las copias de seguridad se gestionan con retenciones limitadas y acceso restringido.

7. Compartir registros mediante enlace público

El Servicio permite compartir una vista depurada de un registro mediante una URL con token público:

  • Generación/consulta: la API devuelve una vista filtrada que elimina claves sensibles (email, password, cookie, etc.) y fuerza encabezados no-cache.
  • Ámbito: cualquier persona que posea la URL puede ver la vista correspondiente.
  • Revocación: para invalidar un token, contacte con soporte en [support@…] indicando el ID del log o la URL pública. Procedemos a eliminar el log o revocar el token, inutilizando el enlace.
  • Límites: pese al encabezado no-cache, terceros pueden haber copiado el contenido; la revocación impide nuevas lecturas desde la API, pero no borra copias externas.

8. Seguridad

Aplicamos medidas técnicas y organizativas acordes con el estado del arte:

  • Cifrado en tránsito (TLS) y en reposo (volúmenes cifrados).
  • Controles de acceso (mínimo privilegio), aislamiento de entornos, registro de accesos.
  • Endurecimiento de endpoints, limitación de tasas, detección de anomalías.
  • Gestión segura de secretos en el servidor, rotación, almacenamiento protegido.
  • Acceso restringido a registros con IP/payloads; exportaciones cifradas si es necesario.
  • Revisiones de código y monitorización de dependencias.

En caso de violación de datos, notificaremos a la autoridad competente (p. ej., CNIL) en un plazo de 72 horas cuando sea obligatorio, y a las personas afectadas si existe alto riesgo.

9. Sus derechos

De acuerdo con los artículos 15‑22 del RGPD, dispone de:

  • Derecho de acceso a sus datos.
  • Derecho de rectificación y supresión ("derecho al olvido").
  • Derecho a la limitación y oposición (especialmente para tratamientos basados en interés legítimo).
  • Derecho a la portabilidad (datos que nos haya facilitado en formato estructurado).
  • Derecho a definir directrices post mortem (Francia).

Para ejercer sus derechos: escriba a contact@captaindns.com adjuntando un justificante de identidad. Respondemos en un (1) mes (prorrogable dos (2) meses para solicitudes complejas, previa información).
Puede presentar una reclamación ante la CNIL (www.cnil.fr) o su autoridad local.

10. Gestión de cookies y almacenamientos locales

  • Desactivar/purgar: elimine la cookie NEXT_LOCALE, borre el localStorage (historial DNS) y el sessionStorage desde su navegador.
  • Consecuencias: la desactivación puede degradar ciertas funciones (idioma, anti-reintento).
  • No existe publicidad ni perfilado mediante estos mecanismos.

11. Dependencias frontend y llamadas de red

Las rutas API de Next.js actúan como proxy: añaden X-Frontend-User-IP (derivado de X-Forwarded-For, X-Real-IP o Forwarded) y, cuando existe, el token de acceso Auth0 en Authorization. El proxy se autentica contra el backend con un service token dedicado.
Estos encabezados se tratan exclusivamente por motivos de seguridad y enrutamiento fiable (base jurídica: interés legítimo).

12. Menores

El Servicio no está dirigido a menores de 15 años (Francia) sin el consentimiento parental correspondiente (art. 8 RGPD). Si cree que un menor nos ha proporcionado datos, contáctenos para su supresión.

13. Decisiones automatizadas

No se toman decisiones con efectos jurídicos basadas únicamente en procesamientos automatizados de sus datos.

14. Modificaciones de esta política

Podemos actualizar esta política para reflejar cambios legales o técnicos. En caso de modificación sustancial, le informaremos por correo electrónico o en la aplicación y, si es necesario, recabaremos su consentimiento.

15. Datos de contacto

Anexo A - Encargados y terceros

  • Auth0 (Okta): proveedor de identidad (autenticación).
  • Alojamiento / BD PostgreSQL: Fly.io.
  • Resolvedores DNS (responsables independientes): Cloudflare, Google, Quad9, AdGuard, NextDNS, etc. (según su configuración).
  • Correo/soporte: Google Workspace.

Anexo B - Bases legales por finalidad (recordatorio)

  • Ejecución del contrato (6‑1‑b): creación/gestión de la cuenta, funcionalidades DNS, resolve watches, provisión del historial y de su vista compartida (si la activa).
  • Interés legítimo (6‑1‑f): seguridad (registros técnicos, IP, anti-reintento), prevención del abuso, mejora del Servicio, comodidad funcional (cookie de idioma).
  • Consentimiento: no requerido para cookies/almacenamientos estrictamente funcionales (exención ePrivacy).

Información práctica

  • Purgado de registros API: retención 180 días (rolling), prolongada solo para investigación/obligación legal (máx. 12 meses), luego supresión o anonimización.
  • Acceso interno a registros completos (IP/payloads) estrictamente limitado; exportaciones cifradas si se necesitan.
  • Compartición con token público: prefiera un uso temporal y revóquelo en cuanto deje de ser necesario (soporte: contact@captaindns.com).
  • Almacenamientos locales: legibles por cualquier script que se ejecute en la página; evite introducir información sensible.
  • DNS de terceros: los nombres de dominio introducidos se transmiten a los resolvedores elegidos; consulte sus políticas.

Menciones finales

Esta política forma parte de nuestro Registro de actividades de tratamiento y de nuestro Programa de seguridad. Se actualizará si la arquitectura evoluciona (p. ej., caducidad automática de los tokens de compartición).

Última actualización: 04 de noviembre de 2025