Immuni è un’applicazione che ha fatto molto discutere: alcune voci sono state semplicemente degli strilli, altre erano ben più pacate perchè supportate da fonti ed evidenze di cui non si può ignorare l’esistenza. Vediamo assieme alcuni aspetti salienti.
L’importanza dell’evidenza
Quando Apple e Google hanno presentato la loro tecnologia di contact tracing, abbiamo affrontato l’argomento con un articolo per spiegare bene il funzionamento del contact tracing. Da quel momento sono accadute molte cose, tra queste c’è l’analisi (del 30 maggio 2020) che Massimiliano Uggeri ha fatto per il sito Infosec News. Uggeri, con un linguaggio semplice e molto diretto, racconta la sua esperienza di utilizzo di immuni, prima ancora che l’app venisse rilasciata negli app store, prelevando il codice pubblicato dalla società incaricata dello sviluppo BendingSpoons, compilandolo e testandolo. Il resoconto di Uggeri è quindi frutto di un test pratico
Il problema della trasparenza
Qualche settimana fa mi sono imbattuto in una discussione su Facebook molto interessante: si parlava della valenza della documentazione di IMMUNI pubblicata sul repository GitHub da Bending Spoons. Al centro della conversazione c’era il fatto che la lingua inglese usata per la documentazione non è giuridicamente valevole essendo noi italiani. I tecnici, dal canto loro, rispondevano affermando che la documentazione tecnica usata per descrivere i progetti informatici è sempre in lingua inglese. Insomma, due mondi divisi: quello tecnico da quello giuridico.
A mio personale avviso la presenza della sola lingua straniera rende inaccessibile il contenuto di quella documentazione a chi quella lingua, per quanto diffusa, non la conosce. Sarebbe stato importante realizzare, in ottica di trasparenza, una documentazione multi-lingua anche perchè il progetto in questione è voluto da un Ministero ed ha una rilevanza pubblica. Vi è quindi, secondo me, un problema di trasparenza che deve essere intesa non solo nella corretta accessibilità tecnica dell’informazione ma anche di “chiarezza descrittiva” del testo che, indubbiamente, risulterebbe più facile da valutare se in lingua italiana oltre che inglese.
È necessaria maggiore integrazione tra l’ambito giuridico e quello tecnico, soprattutto nella valutazione di progetti come IMMUNI che richiedono la collaborazione delle due compagini in modo più armonico possibile.
Il problema di PagoPA
Alcuni lettori mi hanno chiesto come mai dentro il team di sviluppo comparisse anche il nome di PagoPA, lo stesso Uggeri si fa questa domanda.
Sappiamo che il sistema (chiamarlo App non ha nessun senso) è fatta da Bending Spoons, ma di fatto è un “consorzio” di società nel quale è chiaro cosa faccia solo BS. Degli altri attori si sa poco o nulla, se non che sono Jakala, SOGEI, e PAGOPA (che fa pagamenti sicuri? Ma che c’entra?)
In merito c’è da dire che esattamente mese prima dell’articolo di Uggeri (ossia il 30 aprile 2020), il portale Key4Biz pubblicò un interessante articolo a firma di Luigi Garogalo in cui si legge
Paola Pisano, ministro dell’Innovazione, oggi durante l’audizione alla Commissione Affari costituzionali della Camera, ha dichiarato che “i dati raccolti da Immuni saranno conservati in parte sul telefonino degli utenti e in parte all’interno di un server italiano della pubblica amministrazione gestito da Sogei, mentre PagoPa avrà il ruolo di sviluppo dell’app e del coordinamento tecnologico insieme al nostro dipartimento per la trasformazione digitale”[…]”Bending Spoons non avrà accesso ai dati, la società ha fornito il codice sorgente” ha aggiunto Pisano, “sia Sogei che altre società pubbliche stanno collaborando allo sviluppo dell’app”
Sull’argomento si espresse anche Wired che, sempre lo stesso giorno (30 aprile 2020), scrisse in un articolo che il ruolo di PagoPA era quello di:
…un tecnico di fiducia del governo alla supervisione del progetto.
Wired
E la SOGEI? Ecco, per descrivere il ruolo di SOGEI facciamo nuovamente riferimento a quanto riportato da Key4Biz
I dati sono inviati in Sogei, che segue l’architettura del backend per archiviazione, consultazione e protezione dei dati.
Il problema del frontend e del backend
Volendo esemplificare in modo estremo, potremmo affermare che il frontend è quella parte di applicazione che viene mostrata all’utente e che lo guida nell’esperienza d’uso della stessa. Tutto ciò che viene raccolto, però, viene effettivamente inviato e gestito da una seconda parte chiamata per l’appunto backend che non è visibile all’utente finale. Comprenderete la delicatezza del backend per un’applicazione come IMMUNI; sarebbe necessario conoscere tutti i dettagli della parte di backend per poter capire che tipo di elaborazioni vengono svolte su quei dati. Dall’analisi effettuata da Uggeri si legge che:
Si, ma solo delle App – Android e iOS – e niente per il backend, ovvero la parte server che riceve i dati – non si sa quali – che li registra e gestisce. Questo rende molto difficile – diciamo quasi impossibile – capire quali vengano inviati, ma soprattutto non è proprio dato di sapere chi e cosa verrà fatto di questi dati.
La perplessità di Uggeri sul backend, espressa nell’articolo del 30 maggio 2020 è quindi riassumibile nelle seguenti domande:
- quali dati sono inviati al server?
- chi userà questi dati?
- cosa ne verrà fatto di questi dati?
Le domande non sono retoriche se la risposta la cerchiamo nelle evidenze. Non essendoci chiarezza nella logica applicativa, non è possibile confermare alcuna ipotesi con una certezza assoluta.
Il problema del numero di versione
Volendo esemplificare anche questo punto potremmo dire che ogni applicazione viene contrassegnata con un numero di versione che, nel corso di modifiche ed evoluzioni, incrementa per distinguersi dalla versione precedente. Uggeri, dall’analisi condotta sul codice ha notato una discrepanza che meriterebbe un’opportuna correzione da parte della Bending Spoons e la commenta come segue:
fin dal primo rilascio su GitHub la versione è sempre stata “1.0” che già uno dice vabbè, così fino alla RELEASE che hanno – secondo loro – già inviato a Apple. Però dentro c’è scritto 0.9.0: come lo spiegate se non con una “presa per il culo”?
Conclusioni
Le evidenze fanno la differenza sostanziale tra ipotesi e realtà: come è giusto che sia, Immuni è stata oggetto di grandi discussioni ed ipotesi ma forse è ora di cominciare a tirare un po’ le somme di un’analisi reale e basata su fatti.
Indubbiamente è fondamentale che vi sia maggior dialogo tra la parte giuridica e quella tecnica: si deve crescere insieme in un clima di maggior sinergia e flessibilità.
Dall’altra parte, più prettamente tecnica, i dubbi di Uggeri sono tutti molto leciti poichè non sconfessati dal codice sorgente e quindi dalla logica applicativa.
Cosa fare quindi? Uggeri continuerà le sue analisi che vi invito a seguire e lo farà con lo stile diretto e tagliente di chi non si perde dietro a chiacchiere ma cerca risposte concrete scritte “nero su bianco” all’interno del codice.