Informativa sulla privacy

1. Oggetto e campo di applicazione

Questa informativa spiega come CaptainDNS (il "Servizio", "noi") tratta i dati personali degli utenti ("tu", "Utente") durante l'autenticazione, l'uso delle funzionalità DNS e la consultazione/condivisione dei log tecnici.

2. Sintesi non tecnica

  • Utilizziamo Auth0 per l'autenticazione.
  • Manteniamo un profilo interno (email, nome, nickname, lingua, avatar…) e log tecnici che descrivono le chiamate API (inclusi indirizzo IP e payload).
  • La funzionalità "resolve watch" archivia metadati DNS (qname, qtype, resolver, hash/riassunti delle risposte, diff, latenza, timestamp).
  • Nel browser usiamo solo archiviazioni funzionali (cookie lingua, localStorage, sessionStorage) non impiegate per marketing.
  • I dati sono ospitati nell'UE/SEE su infrastrutture sicure e conformi al GDPR.
  • Alcuni terzi possono ricevere dati in base alle funzioni utilizzate: Auth0 (identità) e resolver DNS pubblici (Cloudflare, Google, Quad9, AdGuard, NextDNS).
  • Conservi tutti i tuoi diritti GDPR (accesso, rettifica, cancellazione, ecc.) e puoi revocare un link pubblico del log tramite il supporto.

3. Dati trattati, finalità e basi giuridiche

A. Autenticazione e profilo

Dati trattati

  • Token Auth0 e attributi restituiti
  • Profilo locale
  • Sincronizzazione front→back

Finalità

  • Creare e mantenere il tuo account/profilo.
  • Erogare il Servizio e le preferenze di visualizzazione.

Base giuridica (art. 6 GDPR)

  • Esecuzione del contratto (art. 6‑1‑b): fornire accesso e funzionalità attese.
  • Interesse legittimo (art. 6‑1‑f): mettere in sicurezza gli accessi (token, verifiche tecniche).

B. Log tecnici backend

Dati trattati

  • Middleware: metodo, rotta, stato, durata, indirizzo IP (derivato da X-Forwarded-For, X-Real-IP o fornito dal frontend), payload JSON (richiesta/risposta o anteprima ridotta), codice/testo di errore, origine (anonimo/autenticato), identificativo utente (se disponibile), timestamp, token pubblico opzionale per la condivisione.
  • Endpoint frontend:
    • /api/requests/history-token/[requestId] (verifica l'esistenza di public_token e restituisce un riepilogo: timestamp, rotta, stato, codice di errore).
    • /api/request-history/[token] (proxy della vista depurata, no-cache).
    • /api/requests/recent (fino a 50 chiamate recenti per un utente autenticato, dopo pulizia dei campi attesi).

Finalità

  • Operatività, diagnostica, sicurezza, prevenzione degli abusi, supporto, prova del servizio, miglioramento del Servizio.
  • Fornire un'opzione di condivisione dei log (token).

Base giuridica

  • Interesse legittimo (art. 6‑1‑f): mantenere il Servizio sicuro e affidabile.
  • Esecuzione del contratto (art. 6‑1‑b): consentirti di consultare lo storico o condividere una vista depurata quando lo attivi.

C. Resolve watches (monitoraggio)

Dati trattati

  • Proprietario (profilo), richiesta DNS originale (qname, qtype, resolver), osservazioni successive (hash delle risposte, TTL min/max, diff JSON, indicatori di anomalia, timestamp).

Finalità

  • Fornire monitoraggio DNS e rilevamento di variazioni/anomalie.

Base giuridica

  • Esecuzione del contratto (art. 6‑1‑b).

D. Archiviazioni lato browser (solo funzionali)

Dati e durata

  • Cookie NEXT_LOCALE: 180 giorni, SameSite=Lax, opzione Secure; memorizza la lingua scelta. La home può leggere Accept-Language per orientare i visitatori senza cookie.
  • localStorage (HistoryService, fino a 500 eventi per coppia host/qtype): timestamp, host, tipo, resolver, codice di stato, latenza, risposte testuali. (Promemoria: leggibile da qualsiasi script caricato sulla pagina.)
  • sessionStorage: chiavi anti-repeat (hash della richiesta) e timestamp, cancellati dopo l'uso o dopo ~15 secondi.

Finalità

  • Comfort strettamente funzionale (persistenza lingua, prevenzione richieste duplicate).
  • Nessun tracciamento pubblicitario.

Base giuridica

  • Esenzione ePrivacy per cookies/archiviazioni strettamente necessarie.
  • Interesse legittimo (art. 6‑1‑f): garantire un'esperienza stabile e prevenire abusi.

E. Chiamate verso resolver DNS pubblici

Dati trasmessi

  • Nomi di dominio e parametri necessari alle richieste DNS avviate (che possono contenere elementi identificativi in base al contesto).
  • Provider: Cloudflare, Google, Quad9, AdGuard, NextDNS, ecc. (a seconda del preset scelto).

Finalità

  • Eseguire le tue richieste DNS e restituire risultati/analisi.

Base giuridica

  • Esecuzione del contratto (art. 6‑1‑b).

4. Destinatari e categorie di destinatari

  • Team interno autorizzato (need-to-know): operations, supporto, sicurezza.
  • Responsabili esterni (contratti, DPA/SCC attivi):
    • Hosting e database PostgreSQL (SEE).
    • Auth0 (Okta) per autenticazione e API.
  • Destinatari indipendenti (agiscono da titolari autonomi per le tue richieste DNS): Cloudflare, Google, Quad9, AdGuard, NextDNS.
  • Provider email/supporto (quando ci contatti).

Nessuna vendita di dati e nessun trasferimento per pubblicità.

5. Trasferimenti fuori dallo SEE

La nostra infrastruttura principale (applicazione e PostgreSQL) è ospitata nello SEE. Configuriamo Auth0 e gli altri responsabili in regioni UE ove possibile.
Se, eccezionalmente, serve un trasferimento fuori SEE (es. routing dei resolver, operazioni Auth0), viene coperto da garanzie adeguate (art. 46 GDPR) come Clausole Contrattuali Standard (SCC) con misure supplementari, oppure da una deroga (art. 49) quando la richiesta parte da te ed è necessaria per il Servizio.

6. Tempi di conservazione

CategoriaDurataNote
ProfiloPer tutta la vita dell'account + 30 giorni dopo la cancellazione; successivamente i dati attivi vengono rimossi. Backup fino a 90 giorni.Necessari per gestione account e tracciabilità minima.
Log APIFino a 180 giorni (rolling). Estensione possibile fino a 12 mesi per incidenti/obblighi di legge, poi cancellazione o anonimizzazione.Include IP, payload, stati, errori, token.
Resolve watchesFinché il monitoraggio è attivo. Dopo disattivazione/eliminazione: purga entro 30 giorni; possibili aggregati/anonimizzati.I diff/osservazioni dettagliati restano per 6 mesi.
Token pubblico di condivisioneNessuna scadenza automatica: valido finché revocato via supporto (§ 7).Potrà essere aggiunta una scadenza configurabile.
Cookie NEXT_LOCALE180 giorniStrettamente funzionale.
localStorage (storico DNS)Solo archiviazione locale (non inviata al server); puoi svuotarla in ogni momento.Fino a 500 eventi per coppia host/qtype.
sessionStorage (anti-repeat)~15 secondi, poi ripulito dopo l'uso.Effimero, funzionale.

Nota operativa: le purghe automatiche eliminano/anonimizzano i record alla scadenza. I backup seguono retention limitate con accesso ristretto.

Il Servizio consente di condividere una vista depurata del log tramite una URL con token pubblico:

  • Generazione/consultazione: l'API restituisce una vista filtrata che rimuove le chiavi sensibili (email, password, cookie, ecc.) e impone gli header no-cache.
  • Portata: chiunque possegga l'URL può visualizzare il log depurato.
  • Revoca: per invalidare un token, contatta il supporto a [support@…] indicando l'ID del log o l'URL pubblica. Procederemo a cancellare il log o revocare il token, rendendo il link inutilizzabile.
  • Limiti: nonostante l'header no-cache, terzi potrebbero aver copiato il contenuto; la revoca blocca nuove letture via API ma non rimuove copie esterne.

8. Sicurezza

Applichiamo misure tecniche e organizzative allo stato dell'arte:

  • Cifratura in transito (TLS) e a riposo (volumi cifrati).
  • Controlli di accesso (least privilege), isolamento degli ambienti, audit trail.
  • Hardening degli endpoint, rate limiting, rilevamento anomalie.
  • Gestione sicura dei segreti lato server, rotazione, storage protetto.
  • Accesso ristretto ai log con IP/payload; export cifrati quando necessario.
  • Code review e monitoraggio dipendenze.

In caso di violazione dei dati, notifichiamo l'autorità competente (es. CNIL) entro 72 ore quando richiesto, e gli interessati se esiste alto rischio.

9. I tuoi diritti

Ai sensi degli artt. 15‑22 GDPR hai diritto a:

  • Accesso ai tuoi dati.
  • Rettifica e cancellazione ("diritto all'oblio").
  • Limitazione e opposizione (in particolare per trattamenti basati sul legittimo interesse).
  • Portabilità (dati forniti, in formato strutturato).
  • Direttive post mortem (Francia).

Per esercitare i diritti: scrivi a contact@captaindns.com allegando un documento identificativo. Rispondiamo entro un (1) mese (estendibile di due (2) mesi per richieste complesse, previa informativa).
Puoi presentare reclamo alla CNIL (www.cnil.fr) o all'autorità locale.

  • Disattivazione/pulizia: elimina il cookie NEXT_LOCALE, svuota il localStorage (storico DNS) e il sessionStorage dalle impostazioni del browser.
  • Conseguenze: la disattivazione può degradare alcune funzioni (lingua, anti-repeat).
  • Nessun uso per pubblicità o profilazione.

11. Dipendenze frontend e chiamate di rete

Le route API di Next.js fungono da proxy: aggiungono X-Frontend-User-IP (derivato da X-Forwarded-For, X-Real-IP o Forwarded) e, se presente, il token di accesso Auth0 in Authorization. Il proxy si autentica verso il backend con un service token dedicato.
Questi header sono trattati solo per sicurezza e instradamento affidabile (base giuridica: interesse legittimo).

12. Minori

Il Servizio non è destinato a minori di 15 anni (Francia) senza il consenso genitoriale conforme (art. 8 GDPR). Se ritieni che un minore ci abbia fornito dati, contattaci per la cancellazione.

13. Decisioni automatizzate

Non prendiamo decisioni con effetti giuridici basate esclusivamente su trattamenti automatizzati dei tuoi dati.

14. Aggiornamenti dell'informativa

Possiamo aggiornare questa informativa per riflettere cambiamenti legali o tecnici. In caso di modifiche sostanziali, ti informeremo via email o in-app e, se necessario, richiederemo il consenso.

15. Contatti

Allegato A - Responsabili e terzi

  • Auth0 (Okta): identity provider (autenticazione).
  • Hosting / DB PostgreSQL: Fly.io.
  • Resolver DNS (titolari indipendenti): Cloudflare, Google, Quad9, AdGuard, NextDNS, ecc. (in base alla configurazione).
  • Email/supporto: Google Workspace.

Allegato B - Basi giuridiche per finalità (promemoria)

  • Esecuzione del contratto (6‑1‑b): creazione/gestione account, funzionalità DNS, resolve watches, fornitura dello storico e della vista condivisa (quando la attivi).
  • Interesse legittimo (6‑1‑f): sicurezza (log tecnici, IP, anti-repeat), prevenzione abusi, miglioramento del Servizio, comfort funzionale (cookie lingua).
  • Consenso: non richiesto per cookies/archiviazioni strettamente funzionali (esenzione ePrivacy).

Note pratiche

  • Purge log API: conservazione 180 giorni (rolling), estesa solo per indagini/obblighi di legge (max 12 mesi), poi cancellazione o anonimizzazione.
  • Accesso interno ai log completi (IP/payload) strettamente limitato; export cifrati se necessari.
  • Condivisione con token pubblico: preferisci uso temporaneo e revoca appena non serve (supporto: contact@captaindns.com).
  • Archiviazioni locali: leggibili da qualsiasi script sulla pagina; evita di inserirvi dati sensibili.
  • DNS di terzi: i nomi di dominio inseriti vengono trasmessi ai resolver scelti; consulta le loro policy.

Note finali

Questa informativa fa parte del nostro Registro dei trattamenti e del Programma di sicurezza. Verrà aggiornata se l'architettura evolve (es. scadenza automatica dei token di condivisione).

Ultimo aggiornamento: 04 novembre 2025