Informativa sul trattamento dei dati personali

Versione 1.3 — aggiornata al 2026-08-13

Resa ai sensi degli articoli 13 e 14 del Regolamento (UE) 2016/679 (di seguito «GDPR») e del D.lgs. 196/2003 come modificato dal D.lgs. 101/2018.

1. Titolare del trattamento

Cosimo Luigi Manes, persona fisica, che gestisce il progetto ReactiveNET a titolo personale e non imprenditoriale Domicilio: Via Gherardo Robertoni, 5 — 73012 Campi Salentina (LE), Italia Codice fiscale: MNSCML86R23B506P Email: info@reactivenet.ai

Non è stato designato un Responsabile della protezione dei dati (RPD/DPO): il trattamento non rientra in nessuno dei casi dell’art. 37 par. 1 GDPR, non essendovi né attività di monitoraggio regolare e sistematico su larga scala né trattamento su larga scala di categorie particolari di dati. Per ogni questione relativa ai dati personali si scrive direttamente al titolare agli indirizzi sopra indicati.

2. Il principio che spiega quasi tutta questa informativa

ReactiveNET è una piattaforma per creare applicazioni che girano dentro il browser di chi le usa. I documenti che descrivono le app e i dati che le app raccolgono sono salvati nell’archivio locale del browser (IndexedDB) del dispositivo: non transitano da noi, non sono copiati sui nostri server e non vi abbiamo accesso. L’unica cosa che l’applicazione misura è la visita, in forma aggregata e tramite Pirsch Analytics (§ 3.2); documenti, righe delle collezioni e contenuti continuano a non transitare mai dal titolare, e non esiste codice che lo faccia.

Ne segue che, per l’uso ordinario dell’app, il titolare del trattamento non tratta dati personali. Restano i trattamenti descritti sotto, che riguardano il sito e alcune funzioni facoltative.

Chi crea un’app con ReactiveNET e la usa per raccogliere dati di altre persone è titolare autonomo di quel trattamento, e ne risponde: § 3.11.

3. Trattamenti, finalità e basi giuridiche

3.1 Navigazione del sito reactivenet.ai

Il fornitore di hosting registra, per il funzionamento e la sicurezza del servizio, i log tecnici delle richieste: indirizzo IP, data e ora, risorsa richiesta, codice di risposta, user agent, referente.

3.2 Statistiche di traffico (Pirsch Analytics)

Il sito reactivenet.ai e l’applicazione app.reactivenet.ai misurano le visite con Pirsch Analytics, servizio di Emvi Software GmbH (Germania), configurato senza cookie e senza archiviazione di alcun tipo sul dispositivo. Pirsch non conserva l’indirizzo IP: lo usa, insieme allo user agent, per calcolare un valore di sintesi non reversibile con un elemento casuale rigenerato ogni giorno, che serve solo a non contare due volte la stessa visita nella stessa giornata e che il giorno dopo non è più ricollegabile a nulla. I dati sono elaborati e conservati su server situati in Germania. Nell’applicazione lo script di misurazione e i conteggi passano dal dominio dell’app stessa e sono inoltrati a Pirsch dal server del titolare, quindi il browser dell’utente non contatta alcun host terzo; Pirsch agisce comunque quale responsabile del trattamento.

3.3 Uso dell’applicazione

Nessun trattamento da parte del titolare su documenti e dati. Documenti, righe delle collezioni, preferenze di lingua, tema e palette restano in IndexedDB sul dispositivo. Si cancellano dall’app stessa o svuotando i dati del sito dal browser. Fa eccezione la sola statistica aggregata di visita descritta al § 3.2.

Un’app si può condividere in due modi.

Il link lungo contiene l’intero documento nel frammento dell’indirizzo (la parte dopo #), che per come funziona il web non viene mai inviato ad alcun server: chi riceve il link riceve l’app, e nessun intermediario ne registra il contenuto.

Il link breve deposita il documento su un nostro server, cifrato dal browser prima dell’invio (AES-GCM): la chiave viaggia nel frammento del link e non ci raggiunge mai. Sul server resta un blob illeggibile, un identificativo e la data dell’ultima apertura.

3.5 Account e spazi condivisi

Chi vuole sincronizzare un’app fra più persone crea un account sul nostro servizio. L’account è volutamente pseudonimo: non chiediamo l’email, non esiste un elenco degli utenti consultabile, e ciascuno vede solo il proprio profilo. Ai membri di uno spazio sono visibili il nome scelto e la chiave pubblica di chi lo condivide con loro.

I contenuti sincronizzati (documento e righe) sono cifrati end-to-end dal browser: il server conserva testo cifrato che non è in grado di decifrare, oltre ai metadati necessari a farlo funzionare — chi ha scritto una modifica, quando, in quale spazio, con quale ruolo.

3.6 Servizio open data

Le direttive ::od-* interrogano un nostro servizio che espone dataset pubblici italiani in sola lettura. Le richieste contengono la query (parametrizzata) e nessun dato dell’app: le righe salvate sul dispositivo non vengono inviate. Il servizio registra log tecnici come al § 3.1, per capacità e sicurezza.

3.7 Mappe e ricerca di indirizzi

Un documento che usa la direttiva ::map o la geocodifica scarica le mattonelle cartografiche da tile.openstreetmap.org e interroga nominatim.openstreetmap.org, servizi della OpenStreetMap Foundation (Regno Unito). Come per qualunque richiesta a un sito terzo, il loro server riceve l’indirizzo IP del dispositivo, lo user agent e — nel caso della geocodifica — il testo dell’indirizzo cercato. Questo avviene solo per i documenti che usano quelle funzioni, e il titolare non riceve copia di quelle richieste. Si applicano l’informativa e la usage policy della OpenStreetMap Foundation.

3.8 Pacchetti Python

Un blocco ::python che dichiara packages scarica i pacchetti richiesti da cdn.jsdelivr.net (jsDelivr). L’interprete Python è servito dal nostro sito; i pacchetti aggiuntivi no, perché pesano quanto l’intera applicazione. Il CDN riceve l’indirizzo IP del dispositivo e il nome del pacchetto richiesto. Nessun codice e nessun dato dell’app lasciano il dispositivo: il codice Python è eseguito localmente, in una WebAssembly nel browser.

3.9 Server MCP

Il server MCP consente a un assistente AI di scrivere e verificare un’app. È un servizio di sole funzioni pure: riceve il testo del documento da validare e restituisce il risultato, senza memorizzare nulla e senza accesso ad alcun browser. Restano i log tecnici come al § 3.1.

3.10 Assistente AI dentro l’applicazione

L’applicazione contiene un assistente che scrive le app su richiesta. È disattivato finché non lo si configura, e come lo si configura decide se qualcosa esce dal dispositivo:

Con un fornitore remoto vanno a quel fornitore: la domanda scritta, l’intera conversazione precedente, e — quando l’assistente li consulta per rispondere — l’elenco delle app presenti nel browser e il testo completo del documento dell’app aperta. Chi tiene dati personali dentro il documento di un’app tenga presente che chiedere all’assistente di modificarla significa inviarne il testo a quel fornitore.

Le direttive ai-* dentro un’app usano lo stesso modello, e con un fornitore remoto inviano anche le righe. Sono le direttive con cui un’app può riassumere una collezione, rispondere a domande sui propri dati, riempire un modulo da una frase, classificare righe, riformulare un testo o cercare per significato. Che cosa viaggia dipende dalla direttiva, e in ogni caso è un campione delle righe e non l’intera collezione:

Con un modello sul proprio computer nulla di tutto questo lascia la macchina. Per le app che trattano dati personali — e a maggior ragione categorie particolari di dati — quella è la sola configurazione che il titolare raccomanda, ed è il motivo per cui il modello locale è offerto come scelta di pari dignità e non come curiosità.

Un’app che non contiene direttive ai-* non invia nessuna riga: fuori da quelle direttive l’assistente non legge le righe salvate (§ 3.11).

La chiave API è dell’utente e resta in IndexedDB su quel dispositivo: non è mai inviata al titolare, che non la vede e non potrebbe recuperarla. Va trattata come una credenziale sul proprio dispositivo — chi condivide il computer, o importa nel proprio browser app di terzi contenenti codice (::python), scelga il modello locale, che di chiavi non ne ha.

Quel trattamento è disciplinato dall’informativa del fornitore scelto e il titolare non ne è parte. Le richieste dell’assistente al server MCP (§ 3.9) contengono il testo del documento da controllare e nulla di più.

3.11 Dati raccolti dalle app create dagli utenti

Chi crea un’app con ReactiveNET e la usa per raccogliere dati di altre persone — un modulo di iscrizione, un registro, un elenco di contatti — è titolare autonomo di quel trattamento: sceglie finalità e mezzi, e su di sé ricadono informativa, base giuridica, tempi di conservazione e risposta ai diritti degli interessati. Il titolare della piattaforma non ha accesso a quei dati e non è in grado di intervenire su di essi. Se quell’app è sincronizzata in uno spazio condiviso, il titolare della piattaforma agisce quale responsabile del trattamento per la sola conservazione del dato cifrato: il rapporto si disciplina con l’atto di nomina di cui all’art. 28 GDPR, disponibile su richiesta.

3.12 Richieste di contatto

Chi scrive al titolare — per informazioni, segnalazioni, esercizio dei diritti — conferisce i dati contenuti nel messaggio.

4. Natura del conferimento

Nessun dato deve essere conferito per leggere il sito o per usare l’applicazione. È necessario conferire i dati indicati come obbligatori al § 3.5 per creare un account: senza di essi il servizio non può essere erogato.

5. Destinatari e responsabili del trattamento

I dati non sono ceduti né venduti a terzi. Possono essere trattati, per nostro conto e su nostre istruzioni documentate, dai fornitori indispensabili all’erogazione dei servizi, nominati responsabili ai sensi dell’art. 28 GDPR:

Fornitore Ruolo Dove
Aruba S.p.A. hosting del sito, dell’applicazione e dei servizi di condivisione, sincronizzazione e open data, log tecnici, posta elettronica Italia
Emvi Software GmbH (Pirsch Analytics) statistiche di traffico del sito e dell’applicazione Germania

I dati possono inoltre essere comunicati alle autorità pubbliche quando la comunicazione è imposta da una norma o richiesta nelle forme di legge.

L’elenco aggiornato dei responsabili è disponibile su richiesta scritta al titolare.

6. Trasferimenti fuori dall’Unione europea

I servizi sono ospitati nell’Unione europea e i responsabili indicati sopra vi sono stabiliti: il titolare non effettua trasferimenti di dati personali verso paesi terzi. Se un trasferimento dovesse rendersi necessario, avverrebbe sulla base di una decisione di adeguatezza della Commissione europea, ove applicabile, o delle clausole contrattuali tipo di cui alla decisione di esecuzione (UE) 2021/914, accompagnate dalle misure supplementari valutate caso per caso, e questa informativa sarebbe aggiornata prima che il trasferimento abbia luogo. Copia delle garanzie si ottiene scrivendo al titolare.

Le richieste a OpenStreetMap (§ 3.7) e a jsDelivr (§ 3.8) non sono trasferimenti operati dal titolare: sono richieste che il browser dell’utente rivolge direttamente a quei servizi quando il documento aperto le richiede.

Lo stesso vale, e in modo più marcato, per il fornitore di intelligenza artificiale scelto nell’assistente (§ 3.10): è l’utente a indicare l’indirizzo, è il suo browser a inviare la conversazione con la propria chiave, e il titolare non è parte di quel trattamento né in grado di osservarlo. Chi non vuole alcun trasferimento usi un modello sul proprio computer, come descritto in quel paragrafo.

7. Processi decisionali automatizzati e profilazione

Non ne esistono. Nessun dato è usato per costruire profili, per profilazione pubblicitaria o per decisioni automatizzate che producano effetti giuridici o incidano in modo analogamente significativo sulle persone.

8. Minori

I servizi non sono destinati a minori di quattordici anni e non ne sollecitano i dati. Un genitore o tutore che ritenga che un minore abbia conferito dati può scrivere al titolare: i dati saranno cancellati senza indugio.

9. Sicurezza

Le misure tecniche e organizzative adottate ai sensi dell’art. 32 GDPR sono descritte nella «Politica di sicurezza», che è parte integrante di questa informativa: cifratura end-to-end dei contenuti sincronizzati, cifratura in transito, sanitizzazione dell’output e Content Security Policy con Trusted Types, minimizzazione strutturale (i dati restano sul dispositivo), accesso ai sistemi limitato al titolare.

10. Diritti dell’interessato

Sono riconosciuti i diritti di accesso (art. 15), rettifica (art. 16), cancellazione (art. 17), limitazione (art. 18), portabilità (art. 20) e opposizione (art. 21), quest’ultimo in particolare rispetto ai trattamenti fondati sul legittimo interesse.

Si esercitano scrivendo a info@reactivenet.ai. Il riscontro è dato senza ingiustificato ritardo e comunque entro un mese, prorogabile di due mesi per richieste complesse, con informativa sulla proroga.

Un limite va detto con chiarezza: sui contenuti cifrati end-to-end e sui link brevi il titolare non può leggere né rettificare alcunché, perché non possiede le chiavi. Può cancellarli, e lo fa su richiesta.

Resta il diritto di proporre reclamo al Garante per la protezione dei dati personali (Piazza Venezia 11, 00187 Roma — garante@gpdp.it) o di adire l’autorità giudiziaria.

11. Modifiche

Questa informativa può essere aggiornata quando cambiano i servizi o i fornitori. La versione e la data in testa al documento dicono a cosa si sta guardando; le modifiche sostanziali sono comunicate agli utenti registrati prima che abbiano effetto.


Versione 1.2 — 13 agosto 2026. In caso di divergenza fra la versione italiana e quella inglese di questo documento prevale la versione italiana.