Vai al contenuto
CodeQuay

Documenti legali

Accordo sul trattamento dei dati (DPA)

Ultimo aggiornamento: 7 ottobre 2026 · Versione 1.0

Il presente accordo sul trattamento dei dati (“DPA”) regola il trattamento dei dati personali che arimaslab srl effettua per conto dei propri clienti nel fornire la piattaforma CodeQuay, ai sensi dell'articolo 28 del Regolamento (UE) 2016/679 (“GDPR”). Ne riprende la struttura delle clausole contrattuali tipo fra titolari e responsabili del trattamento adottate dalla Commissione europea con la decisione di esecuzione (UE) 2021/915.

1. Parti e conclusione dell'accordo

  • Titolare del trattamento (“Cliente”): la persona fisica o giuridica che usa CodeQuay per sé o per la propria organizzazione, identificata dai dati dell'account e, per i piani a pagamento, dai dati di fatturazione.
  • Responsabile del trattamento (“Fornitore”): arimaslab srl, P.IVA IT02039300666, sede legale Via Tiburtina snc, 67061 Carsoli (AQ), Italia. Contatto per la protezione dei dati: privacy@codequay.it.

Il DPA fa parte delle condizioni con cui il Fornitore mette a disposizione CodeQuay (le condizioni generali di servizio accettate alla registrazione o alla sottoscrizione di un piano, l'eventuale ordine o contratto su misura: insieme, il “Contratto”). Si intende accettato dal Cliente con la creazione dell'account o con la sottoscrizione di un piano, a pagamento o gratuito, e resta in vigore finché il Fornitore tratta dati personali per conto del Cliente. Chi ha bisogno di una copia firmata può chiederla dalla pagina contatti o scrivendo a privacy@codequay.it: inviamo il DPA in PDF sottoscritto dal Fornitore, nella versione in vigore.

2. Oggetto, ambito e interpretazione

  1. Il DPA garantisce il rispetto dell'articolo 28, paragrafi 3 e 4, del GDPR per i trattamenti descritti nell'allegato I. Gli allegati I, II e III sono parte integrante del DPA.
  2. I termini definiti nel GDPR (dato personale, trattamento, violazione dei dati personali, interessato, ecc.) hanno nel DPA lo stesso significato. Per “Dati del Cliente” si intendono i dati personali trattati dal Fornitore per conto del Cliente nell'ambito del servizio.
  3. In caso di contrasto fra il DPA e il Contratto, per la protezione dei dati personali prevale il DPA. Il DPA non limita gli obblighi che il GDPR pone direttamente al Fornitore.
  4. Un contratto su misura (per esempio del piano Sovereign) può contenere un accordo sul trattamento dei dati negoziato: in quel caso, per quel Cliente, prevale l'accordo negoziato.

3. Obblighi del Fornitore

3.1 Istruzioni

Il Fornitore tratta i Dati del Cliente soltanto su istruzione documentata del Cliente, salvo che lo richieda il diritto dell'Unione o dello Stato membro a cui è soggetto: in tal caso lo comunica al Cliente prima del trattamento, a meno che quel diritto lo vieti per motivi di interesse pubblico. Costituiscono istruzioni documentate il Contratto, il DPA e le scelte che il Cliente fa usando il servizio (configurazione di organizzazioni, progetti, repository, membri, integrazioni e funzioni facoltative). Il Fornitore informa senza ritardo il Cliente se ritiene che un'istruzione violi il GDPR o altre norme sulla protezione dei dati.

3.2 Limitazione delle finalità

Il Fornitore tratta i Dati del Cliente solo per le finalità indicate nell'allegato I. Non li vende, non li usa per pubblicità o profilazione e non li usa per addestrare modelli di intelligenza artificiale.

3.3 Sicurezza del trattamento

Il Fornitore adotta almeno le misure tecniche e organizzative descritte nell'allegato II, per garantire un livello di sicurezza adeguato al rischio ai sensi dell'articolo 32 del GDPR, comprese la protezione da violazioni della sicurezza che comportino accidentalmente o in modo illecito la distruzione, la perdita, la modifica, la divulgazione non autorizzata o l'accesso ai dati. Le misure possono evolvere con il progresso tecnico, senza ridurre il livello complessivo di protezione.

3.4 Riservatezza

Il Fornitore concede l'accesso ai Dati del Cliente solo al personale che ne ha strettamente bisogno per fornire, mantenere e proteggere il servizio, con accessi nominativi. Queste persone sono vincolate alla riservatezza da un obbligo contrattuale o di legge.

3.5 Categorie particolari di dati

CodeQuay è progettato per ospitare codice sorgente e informazioni di sviluppo, non categorie particolari di dati (articolo 9 GDPR) né dati relativi a condanne penali e reati (articolo 10). Se il Cliente li carica comunque, ne valuta l'adeguatezza sotto la propria responsabilità; a questi dati si applicano le misure dell'allegato II.

3.6 Documentazione, verifiche e ispezioni

  1. Il Fornitore mette a disposizione del Cliente le informazioni necessarie a dimostrare il rispetto del DPA e dell'articolo 28 del GDPR: il presente documento, la descrizione delle misure di sicurezza, gli esiti delle prove di ripristino e, su richiesta motivata, ulteriori informazioni e gli estratti dell'audit log relativi al Cliente.
  2. Il Cliente può svolgere, o far svolgere da un revisore indipendente vincolato alla riservatezza, verifiche e ispezioni, anche presso i locali del Fornitore, con un preavviso scritto di almeno 30 giorni, in orario lavorativo, di norma non più di una volta l'anno e a proprie spese, senza accedere ai dati di altri clienti né compromettere la sicurezza del servizio. Il preavviso e il limite annuale non si applicano dopo una violazione dei dati personali che riguarda il Cliente o se lo richiede un'autorità di controllo.
  3. Le parti mettono le informazioni di questa sezione a disposizione delle autorità di controllo che le richiedono.

3.7 Sub-responsabili

  1. Il Cliente concede al Fornitore un'autorizzazione scritta generale a ricorrere ai sub-responsabili elencati nell'allegato III.
  2. Il Fornitore comunica ogni aggiunta o sostituzione di sub-responsabili con un preavviso di almeno 30 giorni, per email agli owner degli spazi e aggiornando l'allegato III con la data di ultimo aggiornamento. Entro il preavviso il Cliente può opporsi per motivi ragionevoli legati alla protezione dei dati, scrivendo a privacy@codequay.it. Le parti cercano in buona fede una soluzione; se non la trovano, il Cliente può recedere senza penali dal servizio interessato prima che il nuovo sub-responsabile tratti i suoi dati.
  3. Il Fornitore impone a ogni sub-responsabile, con un contratto scritto, obblighi di protezione dei dati sostanzialmente equivalenti a quelli del DPA, in particolare garanzie sufficienti sulle misure tecniche e organizzative. Su richiesta del Cliente fornisce le informazioni rilevanti su tali contratti.
  4. Il Fornitore resta pienamente responsabile verso il Cliente dell'adempimento degli obblighi dei propri sub-responsabili.

3.8 Trasferimenti internazionali

I Dati del Cliente sono conservati e trattati nell'Unione europea. Di norma non vengono trasferiti al di fuori dello Spazio economico europeo. Le eccezioni sono indicate nell'allegato III (in particolare la review AI, se il Cliente la attiva, e i pagamenti): in questi casi il trasferimento avviene solo in presenza di una decisione di adeguatezza, compreso il Data Privacy Framework UE-USA per i destinatari certificati, oppure delle clausole contrattuali tipo adottate dalla Commissione europea (decisione di esecuzione (UE) 2021/914), con le eventuali misure supplementari, nel rispetto del capo V del GDPR. Lo stesso vale per eventuali accessi da paesi terzi da parte di società del gruppo dei sub-responsabili.

4. Assistenza al Cliente

  1. Richieste degli interessati. Se riceve direttamente una richiesta di un interessato relativa ai Dati del Cliente, il Fornitore la inoltra senza ritardo al Cliente e non risponde nel merito senza la sua autorizzazione. Il servizio consente al Cliente di gestire da solo gran parte delle richieste (gestione dei membri e degli account, modifica e rimozione dei contenuti, esportazione dei repository con git clone --mirror e tramite API); per il resto il Fornitore assiste il Cliente con misure tecniche e organizzative adeguate, nei limiti del possibile, ai sensi degli articoli da 12 a 22 del GDPR.
  2. Sicurezza, valutazioni d'impatto e consultazione preventiva. Tenuto conto della natura del trattamento e delle informazioni di cui dispone, il Fornitore assiste il Cliente nel rispetto degli articoli da 32 a 36 del GDPR, fornendo le informazioni utili a una valutazione d'impatto sulla protezione dei dati e, se necessaria, alla consultazione preventiva dell'autorità di controllo.
  3. Dati inesatti o obsoleti. Il Fornitore informa senza ritardo il Cliente se viene a sapere che i Dati del Cliente che tratta sono inesatti o obsoleti.

5. Violazioni dei dati personali

  1. In caso di violazione dei dati personali che riguarda i Dati del Cliente, il Fornitore la notifica al Cliente senza ingiustificato ritardo e comunque entro 48 ore da quando ne è venuto a conoscenza, all'email dell'owner dello spazio interessato e degli eventuali contatti indicati dal Cliente.
  2. La notifica contiene almeno: la natura della violazione, con le categorie e il numero approssimativo di interessati e di registrazioni coinvolti, se possibile; un punto di contatto presso il Fornitore; le probabili conseguenze; le misure adottate o proposte per porvi rimedio e attenuarne gli effetti. Le informazioni non disponibili subito sono fornite in fasi successive, senza ulteriore ingiustificato ritardo.
  3. Il Fornitore adotta senza ritardo le misure necessarie a contenere la violazione e assiste il Cliente negli obblighi di notifica all'autorità di controllo (articolo 33 GDPR) e di comunicazione agli interessati (articolo 34), che restano del Cliente. Documenta ogni violazione, comprese le circostanze, le conseguenze e i provvedimenti adottati.

6. Durata, fine del servizio, cancellazione e restituzione

  1. Il DPA ha la durata del Contratto e resta efficace finché il Fornitore conserva Dati del Cliente.
  2. Per tutta la durata del servizio il Cliente può esportare i propri dati in formati standard: i repository con git clone --mirror (storia completa, branch e tag), il resto tramite API e console.
  3. Alla fine del servizio, su scelta del Cliente, il Fornitore restituisce i Dati del Cliente (assistendo l'esportazione) oppure li cancella, e cancella le copie esistenti salvo che il diritto dell'Unione o dello Stato membro ne imponga la conservazione. La cancellazione dai sistemi in produzione avviene entro 30 giorni dalla fine del servizio o dalla richiesta del Cliente, se successiva; su richiesta il Fornitore ne dà conferma scritta.
  4. Le copie di backup non si modificano singolarmente: i Dati del Cliente spariscono con la rotazione ordinaria descritta nell'allegato I (backup cifrati fuori sede: al massimo 12 mesi). Fino ad allora restano cifrati, inaccessibili al servizio e utilizzabili solo per il ripristino in caso di disastro; se un ripristino li riportasse in produzione, il Fornitore li cancella di nuovo.

7. Inadempimento e risoluzione

Se il Fornitore non adempie agli obblighi del DPA, il Cliente può chiedergli di sospendere il trattamento finché l'inadempimento non viene sanato. Se il trattamento non torna conforme entro un termine ragionevole, e in ogni caso entro un mese dalla sospensione, o in caso di violazione grave o persistente del DPA o del GDPR, il Cliente può risolvere il Contratto per la parte relativa al trattamento dei dati. Il Fornitore può risolverlo per la stessa parte se il Cliente insiste nell'esecuzione di istruzioni che violano la legge.

8. Responsabilità

La responsabilità delle parti per il DPA è regolata dalle clausole sulla responsabilità del Contratto (sezione 17 delle condizioni generali), salvo ciò che la legge non consente di limitare e fermo quanto previsto dall'articolo 82 del GDPR nei confronti degli interessati.

9. Modifiche

Il Fornitore può aggiornare il DPA per adeguarlo a cambiamenti normativi, a indicazioni delle autorità o all'evoluzione del servizio, senza ridurre il livello di protezione dei Dati del Cliente. Ogni versione ha un numero e una data, indicati in cima alla pagina (versione in vigore: 1.0). Le modifiche sostanziali sono comunicate con un preavviso di almeno 30 giorni; i cambiamenti di sub-responsabili seguono la sezione 3.7.

10. Legge applicabile e foro competente

Il DPA è regolato dalla legge italiana, fatte salve le norme imperative del GDPR. Per le controversie è competente il foro indicato nel Contratto (sezione 23 delle condizioni generali); in mancanza, il foro della sede legale del Fornitore, salvi i fori inderogabili previsti dalla legge. Resta fermo il diritto di proporre reclamo a un'autorità di controllo. Il DPA è redatto in italiano: in caso di discrepanze con le traduzioni prevale la versione italiana.

Allegato I — Descrizione del trattamento

Categorie di interessati

  • Utenti del servizio autorizzati dal Cliente: dipendenti, collaboratori, consulenti, ospiti invitati e account di servizio (bot) dell'organizzazione.
  • Persone i cui dati compaiono nei contenuti caricati dal Cliente, per esempio autori e committer citati nella storia git o persone menzionate in codice, issue, commenti e wiki.
  • Referenti del Cliente per l'amministrazione e la fatturazione.
  • Utenti finali delle applicazioni del Cliente, solo se il Cliente invia a CodeQuay gli eventi di errore delle proprie applicazioni (error tracking) o pubblica siti con Pages (indirizzi IP nei log di accesso).

Categorie di dati personali

  • Dati dell'account: nome utente, nome visualizzato, email, immagine del profilo, lingua, password (solo come hash argon2id), chiavi pubbliche delle passkey e SSH, segreto per l'autenticazione a due fattori (cifrato), token di accesso (solo come hash), identificativo presso il provider di accesso usato, appartenenze e ruoli, preferenze di notifica.
  • Contenuti caricati dal Cliente, che possono contenere dati personali: repository git compresi i metadati dei commit (nomi ed email di autori e committer, date), issue, merge request, commenti, wiki, snippet, release e allegati, pacchetti, immagini container, log e artefatti delle pipeline CI/CD, segreti e variabili delle Actions (cifrati), configurazioni e consegne dei webhook, eventi di errore, siti di Pages.
  • Dati tecnici e log: indirizzo IP, user agent, data e ora, risorsa richiesta (senza query string), sessioni e dispositivi collegati, esito delle richieste.
  • Audit log: chi (utente o nome tentato), cosa (azione e oggetto), quando, da dove (indirizzo IP), esito (consentito, negato, errore), compresi i tentativi negati.
  • Dati di fatturazione: nome e email del referente, ragione sociale, partita IVA, indirizzo di fatturazione, codice destinatario SDI o PEC, piano, posti e fatture. I dati delle carte e degli altri strumenti di pagamento li tratta Stripe: CodeQuay non li vede mai.
  • Email transazionali: destinatario, oggetto e testo dei messaggi inviati dal servizio (verifiche, inviti, notifiche, allarmi).

I dati di fatturazione e i dati necessari agli adempimenti fiscali e contabili del Fornitore sono trattati dal Fornitore anche come titolare autonomo, per adempiere ai propri obblighi di legge.

Natura e finalità del trattamento

Fornitura del servizio CodeQuay secondo il Contratto: ospitare, conservare e rendere disponibili repository e contenuti; autenticare gli utenti e applicare permessi e protezioni; controllare i push (compreso il blocco dei segreti nel codice); eseguire le pipeline CI/CD; indicizzare per la ricerca; inviare email transazionali; registrare l'audit log; eseguire backup, prove di ripristino e monitoraggio; gestire abbonamenti e pagamenti; dare assistenza; prevenire abusi e garantire la sicurezza. Con la review AI attivata dal Cliente su un repository: invio delle modifiche delle merge request al fornitore del modello per ottenere commenti di revisione.

Durata e conservazione

Il trattamento dura quanto il Contratto. Alcuni dati hanno una conservazione più breve (valori predefiniti del servizio):

DatiConservazione
Contenuti, account, audit logPer la durata del Contratto; cancellazione entro 30 giorni dalla fine (sezione 6)
Log delle pipeline CI/CD90 giorni
Artefatti delle pipeline CI/CD30 giorni
Consegne dei webhook30 giorni
Eventi di errore (error tracking)30 giorni, configurabile fino a 365
Email inviateTesto 7 giorni, registrazione dell'invio 90 giorni
Log dei serviziRotazione automatica per dimensione (5 file da 20 MB per servizio)
Backup locali sul serverAl massimo 14 giorni
Backup cifrati fuori sedeGiornalieri 30 giorni, mensili 12 mesi, pre-aggiornamento 14 giorni

Allegato II — Misure tecniche e organizzative

Cifratura

  • Cifratura in transito: solo TLS 1.2 e 1.3 con cifrari AEAD e HSTS per console, API e git su HTTPS; git anche su SSH.
  • Backup fuori sede cifrati con age sul server prima del caricamento: il server ha solo la chiave pubblica e non può decifrarli; la chiave privata è custodita dal Fornitore fuori dal server.
  • Password conservate solo come hash argon2id, token di accesso solo come hash crittografico, segreti a riposo (segreti delle Actions, segreto del secondo fattore, chiave del fornitore AI) cifrati con AES-256-GCM.

Identità e controllo degli accessi

  • Passkey (WebAuthn) e autenticazione a due fattori; single sign-on per organizzazione con il provider di identità del Cliente.
  • Limiti di frequenza sulle API e sugli accessi, con blocco temporaneo dopo tentativi falliti ripetuti; token con scadenza.
  • Permessi per organizzazione, progetto e repository con ruoli ereditati e restrizioni per utente, applicati allo stesso modo a console, API e protocollo git; chi non è membro riceve 404 come per un repository inesistente. L'isolamento è verificato da una suite di test automatici dedicata.

Minimo privilegio e protezione dei sistemi

  • L'applicazione si collega al database con un ruolo limitato, che sull'audit log può solo aggiungere e leggere; il database non è esposto su internet.
  • Servizi in container non privilegiati, file system in sola lettura dove possibile; segreti dell'istanza in file separati con permessi ristretti, mai nelle immagini.
  • Firewall con le sole porte necessarie, protezione dai tentativi di accesso ripetuti, aggiornamenti di sicurezza del sistema operativo automatici.
  • Accesso amministrativo ai server riservato al personale autorizzato del Fornitore, con chiavi SSH personali protette da passphrase.

Tracciabilità

  • Audit log append-only a livello di database: le righe si aggiungono, non si modificano né si cancellano, nemmeno con l'utente del database dell'applicazione. Registra anche i tentativi negati.
  • Log di accesso senza query string; eventi di sistema con allarmi agli amministratori.

Sviluppo sicuro e gestione delle vulnerabilità

  • Protezioni dei branch e blocco dei segreti nel codice applicati dal server a ogni push.
  • Verifica automatica prima di ogni rilascio (test, analisi delle dipendenze); rollback documentato.
  • Segnalazione responsabile delle vulnerabilità a security@codequay.it, pubblicata anche in security.txt.

Disponibilità e ripristino

  • Backup completo ogni notte (dump del database e bundle git di ogni repository) e prima di ogni aggiornamento, con checksum SHA-256; copia cifrata fuori sede verificata dopo il caricamento.
  • Prova di ripristino automatica ogni settimana in un ambiente separato (database, migrazioni, clone dei repository e controllo con git fsck), con report e allarme in caso di esito negativo.
  • Controllo dell'istanza ogni 5 minuti e monitoraggio esterno di disponibilità e certificati, con allarmi via email.

Minimizzazione e protezione dei dati fin dalla progettazione

  • Nessun tracciamento, analisi o pubblicità di terze parti nella piattaforma.
  • Review AI disattivata per impostazione predefinita, attivabile per singolo repository; i segreti riconosciuti non vengono inviati al fornitore del modello.
  • Conservazioni limitate per log, artefatti, email ed eventi (allegato I).

Misure organizzative e fisiche

  • Personale vincolato alla riservatezza, accessi nominativi e limitati a ciò che serve.
  • Procedure operative documentate per backup, ripristino, gestione degli incidenti e rotazione delle chiavi.
  • Sicurezza fisica dei data center affidata ai fornitori di hosting dell'allegato III, secondo i loro impegni contrattuali.
  • Revisione periodica delle misure, in particolare dopo cambiamenti rilevanti del servizio.

Allegato III — Sub-responsabili

Sub-responsabileAttivitàLuogo del trattamento
DigitalOcean, LLC Hosting del servizio: server, archiviazione, backup del server, object storage per i backup cifrati fuori sede; macchine virtuali per i runner CI/CD condivisi e dedicati, se usati UE: Francoforte, Germania (fra1); per i runner anche Amsterdam, Paesi Bassi (ams3). Società con sede negli USA: eventuali accessi da paesi terzi coperti dalle garanzie della sezione 3.8
Hetzner Online GmbH Macchine virtuali per l'esecuzione delle pipeline CI/CD (runner), solo se eseguite su questo provider UE: Germania (Falkenstein, Norimberga) o Finlandia (Helsinki)
Sendinblue SAS (Brevo) Invio delle email transazionali (verifiche, inviti, notifiche, allarmi) UE (Francia)
Stripe Payments Europe, Limited Abbonamenti, pagamenti e fatture dei piani a pagamento (vedi sotto) UE (Irlanda); trasferimenti verso Stripe, Inc. (USA) con le garanzie della sezione 3.8
Anthropic, PBC Review AI delle merge request, solo per i repository in cui il Cliente la attiva: modifiche del codice e testo della merge request USA, con le garanzie della sezione 3.8

Titolari autonomi e destinazioni scelte dal Cliente

  • Stripe agisce anche come titolare autonomo per i dati di pagamento (prevenzione delle frodi, obblighi antiriciclaggio e regolamentari), secondo la propria informativa.
  • Google, Microsoft, Apple e LinkedIn intervengono solo come provider di accesso scelti dall'utente per autenticarsi: sono titolari autonomi del trattamento e ricevono solo ciò che serve all'accesso. Lo stesso vale per il provider di identità configurato dal Cliente per il single sign-on della propria organizzazione.
  • Le destinazioni configurate dal Cliente (webhook, push mirror verso altri servizi come GitHub, runner gestiti dal Cliente, ambienti di deploy) ricevono i dati per istruzione del Cliente e non sono sub-responsabili del Fornitore.
  • GitHub ospita una copia del codice sorgente di CodeQuay, cioè del software del Fornitore: non contiene Dati del Cliente e non è un sub-responsabile.