menu di navigazione del network

Software Whistleblowing Anticorruzione di ANAC o GlobaLeaks per legge 179/2017?


(Lorenzo Ivaldi) #1

Ciao a tutti,

sono Lorenzo Ivaldi, uno dei responsabili IT dell’Università di Genova, e sto effettuando una analisi tecnologica relativa ai sistemi informativi di whistleblowing, cercando la giusta soluzione applicativa per la segnalazione di illeciti secondo la normativa 190/2012 e la recente 179/2017.

Ho trovato diversi prodotti-servizi basati su tecnologie proprietarie, ma l’ovvia scelta a parer mio sarebbe l’opensource, anche perché ANAC stessa ha fatto questa scelta per il software alla base del suo Servizio di Whistleblowing .

Da più parti mi è stato riferito che per la compliance anticorruzione sarebbe meglio attendere il rilascio in riuso del software OpenWhistleblowing 1.0 di ANAC, vorrei però capire a questo punto che differenze ci sono con GlobaLeaks 3.0?

Guardandoci meglio tecnicamente, ho inteso che ANAC ha basato il proprio servizio sulla base del software GlobaLeaks 2.60.144 del 2016-03-14 (scritto nel Changelog del Github “anticorruzione/openwhistleblowing”) mentre GlobaLeaks trunk è alla version 3.0.2 (scritto nel Changelog del Github “globaleaks/globaleaks”) con diverse pagine di Changelog con circa 2 anni di sviluppo.

GlobaLeaks l’ho installato in una VM Ubuntu, mi è venuto su al volo, e mi pare attivamente sviluppato mentre l’edizione ANAC nel repo “anticorruzione/openwhistleblowing” non ha operatività da 2 anni e ciò mi un po’ mi preoccupa.

Cioè, alla fine può essere che il software di ANAC sia una configurazione (magari anche molto custom, ma sempre config) di GlobaLeaks o ci sono delle differenze di codice particolari/specifiche?

Se si, è possibile che queste siano poi integrate nell’opensource GlobaLeaks per le finalità di riuso, o ci sarà un fork del software e/o delle patch per mantenerli allineati nel tempo?

Visto che da quanto ho capito anche Agid usa GlobaLeaks, voi che avete pensato di fare?

Cordialmente


Lorenzo Ivaldi Eng. Ph.D.
Diten - Univ. di Genova
Email:lorenzo.ivaldi@unige.it


(Fabio (Naif) Pietrosanti) #2

Ciao Lorenzo,

sono Fabio Pietrosanti, uno dei co-fondatori del progetto GlobaLeaks che dal 2012 ne porta avanti lo sviluppo.

Le domande che fai sono più che legittime, ne stiamo ricevendo di simili da molti tecnici di pubbliche amministrazioni e società che a queste erogano servizi IT.

Innanzitutto, nella misura in cui non siamo più coinvolti rispetto ai workshop iniziali con ANAC, manteniamo aggiornata la pagina “Il percorso di GlobaLeaks con l’Autorità Nazionale Anticorruzione” che documenta da fonti aperte tutti gli step passati-presenti-futuri relativi all’adozione tecnologica anticorruzione in Italia e che terremo aggiornata.

Venendo alle domande specifiche, le modifiche apportate nel Bando ANAC Whistleblowing non paiono tanto “funzionali” quanto sistemistico-architetturali (cioè il supporto a RedHat RHEL6 e SQL Server 2008).

Quindi, IMHO ma very IMHO, ti consiglierei di usare GlobaLeaks e configurarlo con il questionario di ANAC, seguendo poi gli updates del software che verranno.

Inoltre, se possibile visto che stai in ambito universitario, sarebbe molto bello cercare di creare un contesto di ricerca con studenti e dottorandi, così da contribuire al progetto opensource e poterlo fare evolvere nel modo quanto più collaborativo possibile.

Per Sviluppare c’è una Guida di Sviluppo, usiamo poi sistemi di misurazione automatica della qualità del codice e di continuous integration (travis-ci,coverall).

Fabio Pietrosanti

[…] Segue altro post con considerazioni sul riuso (sorry, c’è un limite ai link per post) […]


(Fabio (Naif) Pietrosanti) #3

Qualche considerazione in merito al riuso del software, su cui è utile dire che all’epoca del nostro workshop pro-bono in ANAC raccogliemmo sotto il Label Github “OpenWhistleblowing” le tante piccole features che parevano utili (di cui 25 su 68 le abbiamo comunque implementate in questi 2 anni), ma queste non divennero requisiti del bando, quindi dubito che siano state realizzate, ma se per caso lo fossero, beh, le integreremmo sicuramente non appena fossero rilasciate :slight_smile:

Sarebbe auspicabile che ANAC facesse un “rilascio del software in riuso” secondo buon senso, ad esempio come fatto dalla Città di Barcellona (Nota bene: Attualmente noi non abbiamo più attiva una collaborazione e scambio di opinioni con ANAC, che ben spero di ripristinare nel loro percorso di riuso opensource)

La Città di Barcellona ha collaborato con il progetto GlobaLeaks integrando tutte le feature software di cui avevano bisogno, tenendo separatamente sul loro GitHub in riuso sia le personalizzazioni grafiche/UX sia le configurazioni inclusi i questionari.

Questo ha fatto sì che l’autorità anticorruzione catalana si è poi scaricata il software opensource GlobaLeaks, ha seguito l’howto della Città di Barcellona per applicare le configurazioni e sono andati online, potendo però avvantaggiarsi della naturale manutenzione evolutiva del software principale usato in tutto il mondo e non solo in Catalunya.

Inoltre con la nuova feature dei “Configuration Profile” di GlobaLeaks, ci siamo impegnati pro-bono a integrare direttamente nel software la loro UX e i loro questionari, così da consentire a tutti gli enti Catalani e Spagnoli di partire dal “Template Barcellona” con un click in fase di attivazione del software.

Ecco, questo sarebbe idealmente il modo migliore con cui fare riuso del software ANAC, facendo un confronto attento di cosa sia stato modificato durante l’esecuzione del Bando Whistleblowing, integrarlo sotto forma di feature (attivabili/disattivabili/configurabili) e impacchettare il tutto dietro un “Configuration Profile ANAC” che si gestisca autonomamente l’IT dell’autorità come change management .

Certamente, in considerazione del bacino di adozione e dell’allineamento dei nostri scopi sociali, qualora ANAC rilasciasse una edizione di software in riuso sia essa basata sul codice vecchio o nuovo, noi ci impegnamo comunque ad integrare le loro modifiche (in modo manutenibile nel tempo), con il fine di metterle a disposizione come parte del software GlobaLeaks.

Se ci saranno evoluzioni a riguardo dell’integrazione delle modifiche software, non mancheremo di aggiornare questo post, ma comunque saranno nel Changelog del software GlobaLeaks!

Fabio Pietrosanti

[…] Segue altro post con riferimenti su come partecipare (sorry, c’è un limite ai link per post) […]


(Fabio (Naif) Pietrosanti) #4

Per community support al deployment di nuove installazioni del software di Whistleblowing è possibile postare sul Forum dove usiamo Discourse (lo stesso sw usato qui da Agid+Team Trasformazione Digitale).

Per chattare con i developers e la comunità at large usiamo Slack e ci si può iscrivere su https://slack.hermescenter.org mentre per i più veteran unix admin siamo su IRC nel canale #globaleaks della rete OFTC irc oftc net (dove si trova anche Tor).

Per nuove richieste di feature o segnalazioni di bug è possibile usare Github issue dove c’è un template che guida l’apertura in modo ordinato.

La Documentazione è su Read The Docs (in inglese), se qualcuno volesse contribuire a realizzare un manuale d’uso in Italiano per l’uso per l’anticorruzione sarebbe meraviglioso!

Se hai difficoltà con il setup o hai dubbi, domande, idee, contributi, qui su ci sono tutte le risorse per contribuire :slight_smile:

Fabio Pietrosanti


(Silva Giromini) #5

Anche noi stiamo cercando di implementare la piattaforma GlobaLeaks, e insieme agli aspetti prettamente tecnici (tutta la struttura è già stata installata ed è funzionante - Torbrowser compreso), mi stavo giusto chiedendo, arrivando “al nocciolo” della funzionalità del portale, come andare ad impostare un questionario fatto bene.
Come posso vedere in che modo è stato impostato il questionario ANAC all’interno della piattaforma GlobaLeaks, o comunque qual è un buon modo di impostare il questionario?


(Giovanni Pellerano) #6

Ciao Lorenzo,

sono Giovanni, il responsabile tecnico del progetto GlobaLeaks e da una veloce analisi tecnica del sistema ANAC ti confermo che si tratta di una versione di GlobaLeaks software integralmente coincidente con quella che hai indicato tu, la 2.60.144.

Lo si evince principalmente da due aspetti:
Sulla piattaforma ANAC sono presenti alcune interfacce REST che furono tolte nelle versioni successive per fini di ottimizzazione: ne è un esempio la risorsa /node all’indirizzo https://servizi.anticorruzione.it/segnalazioni/node
Da una analisi del file https://servizi.anticorruzione.it/segnalazioni/js/javascript.js si vede che le differenze (clientside) tra le due versioni sono di poche righe e coincidenti con sole correzioni grafiche.

Rispetto a quella versione di software sono notevoli i passi avanti e le caratteristiche integrate.

Per un dettaglio completo puoi visionare il changelog completo.

Sicuramente la criticità principale fra l’edizione di allora e quella attuale riguarda la complessità di deployment, cioè all’epoca per avere un Tor Onion Service bisognava installare Tor a mano, per avere un Server Web HTTPS bisogna installare e configurare da command line Tor2web acquistando un certificato digitale.

Con GlobaLeaks 3 invece:

  • Tor viene configurato automaticamente tramite la control port usando TxTorCon
  • il Webserver HTTPS è integrato (basato su Python Twisted), senza necessità di installare Tor2web o configurare reverse-proxy applicativi con Apache o Nginx,
  • il certificato digitale si attiva automaticamente usando l’integrazione di Let’sEncrypt con gli ovvi vantaggi di semplificazioni non tanto in termini di costi quanto di automazione.

Inoltre in GlobaLeaks 2 avevamo delle componenti tecniche destinate a fare una brutta fine, in primis l’ORM Storm che non è più mantenuto, ed è stato sostituito con SQLAlchemy, acquisendo così pieno supporto Multi Database (funziona oltre che SQLite anche preliminarmente su MySQL, PostgreSQL e SQLServer 2016).

Sono state poi rimosse componenti non-python3 compatibili come il Webserver cyclone, appoggiandoci nativamente sul motore ad alte prestazioni Python Twisted, garantendo la compatibilità con la prossima Ubuntu 18.04 LTS (Long Term Support).

Tralasciando la quantità infinita di bugfix e di minor features (si vedano i ticket chiusi), la ciliegina sulla torta è la funzionalità multi-tenancy.

GlobaLeaks 3 ha il supporto per creare molteplici siti di whistleblowing virtuali, anche integrandosi con provisioning API, così da consentire a consorzi di enti pubblici, fornitori di servizi cloud, società IT, enti pubblici che ne controllano altri (es: le Regioni che controllano le ASL) di fornire loro con un solo server (e quindi un solo sforzo sistemistico) molteplici siti.

Ovviamente per fare questo è stato fatto un significativo refactoring della base dati, ora interamente generata dall’ORM con SQLAlchemy senza hard-coded SQL, con l’eliminazione di alcuni problemi prestazionali verificatisi in presenza di una grande quantità di segnalazioni.

Grazie poi ai diversi penetration test ricevuti in questi anni è stato migliorato il security footprint del software (li trovi linkati tutti qui, l’ultimo di Gennaio 2018).

Circa le modalità di riuso, condivido che la scelta “alla Barcellona” sia la migliore, ci vorrebbe che ANAC facesse le pull requests necessarie sul nuovo software per integrare le modifiche o pubblicasse le modifiche della vecchia edizione “openwhistleblowing”, noi ce la studiamo e vediamo di derivarne feature/modifiche mantenibili sulla nuova edizione.

Ai fini del riuso, è in generale importante che non vada in giro una edizione software vecchia più di 2 anni, quindi di difficile manutenzione sia dal punto di vista funzionale che di sicurezza, ma che sia allineata e quindi integrata nella versione principale comunitaria.

Ing. Giovanni Pellerano


[LG-SW] 2. Linee Guida sull'acquisizione di software
(Fabio (Naif) Pietrosanti) #7

Ciao Silva,

allora, per replicare il setup ANAC è grosso modo necessario:
a) configurare un questionario di 5 step come mostrato nella loro interfaccia

b) Per lo step 5, inserire come campo, il campo speciale “campo da template” che si chiama whistleblower identity

Il campo whistleblower identity è un tipo di campo composito speciale che il software tratta in modo particolare che può avere o meno, associata la funzionalità di “custode dell’identità” per impedire che il ricevente possa visualizzare direttamente l’identità del segnalante, ma debba richiederlo tramite un processo autorizzativo (cioè un bottone nella interfaccia del ricevente “Richiede accesso all’identità”) inclusivo della motivazione della richiesta di accesso.

Se volessi anche aggiungere la funzionalità di custode dell’identità, dovresti prima creare un utente di tipo “custode”, eppoi andare nelle impostazioni del campo “whistleblower identity” all’interno del questionario e abilitarlo.
Btw mi permetto di suggerire una feature simile solo in una organizzazione strutturata, dove questo flusso di lavorazione ha un “senso organizzativo” .

Un altro aspetto importante nella configurazione del questionario è che vengono usate tutte le funzionalità avanzate del form builder di GlobaLeaks, cioè i “group field” di tipo “multiplo” .

I Group field sono gruppi di campi che rappresentano un elemento informativo e vengono usati come nell’esempio qui sotto:

Questi possono avere abilitata la funzionalità di tipo “multiplo” che consente di inserire molteplici group field del tipo specificato.

Replicarlo a mio avviso richiede al massimo un paio d’ore di lavoro, anche se mi rendo conto che manca dell’uso di alcune feature che lo renderebbero molto più dinamico, come ad esempio i “campi condizionali” che mostrano una domanda o serie di domande solo in funzione della risposta (Se hai risposto SI alla domanda X, allora ti mostro il group field Y).

In questo mese stiamo finalizzando la funzionalità di “Import / Export” dei questionari per iniziare ad usare la funzionalità dei “Configuration Profile”, quindi ragionevolmente entro il mese di Aprile rilasceremo un configuration profile ANAC selezionabile in fase di “Activation Wizard” o selezionabile come questionari dai “Template dei questionari” .

Quando poi ANAC rilascerà l’edizione software e/o aggiornerà il software e ci farà una pull request, integreremo anche le eventuali minori funzionalità di gestione di backoffice oltre alla terminologia specifica (es: Non usano la parola generica “ricevente” ma “istruttore”) .

Se vuoi fare una sessione di configurazione del questionario, magari migliorandolo anche con l’uso dei campi condizionali, facci sapere che ci interesserebbe poi, con la funzionalità di import-export, integrarlo nel software!

Fabio


(Silva Giromini) #8

Ciao Fabio.
Innanzitutto ti ringrazio per aver condiviso il link all’interfaccia del questionario sulla segnalazione fatta ad Anac. E’ un’ottima base di partenza, ma ritengo che vada molto semplificata per le necessità degli Enti Locali. Anac è l’Autorità Nazionale Anticorruzione, noi siamo dipendenti dei singoli Comuni e ogni Comune deve dotarsi di questo software per segnalare al proprio Responsabile della Prevenzione della Corruzione eventuali atti di illecito, prima di arrivare ad Anac.
Ho analizzando i vari passaggi della struttura del questionario di Anac e vorrei chiederti lumi su qualche dubbio:
PASSAGGIO 1 - SEGNALAZIONE
Prima domanda:

  • se già per entrare nel programma devo avere un key-code di una segnalazione precedente o me ne viene assegnata una per una nuova segnalazione, che funzione ha la domanda: hai già effettuato la segnalazione ma hai perso il tuo key code?
  • I quesiti da 1.1 a 1.3, se rapportati a segnalazioni di illeciti di un dipendente comunale all’interno del Comune, appaiono superflui (a meno che si intenda fornire segnalazioni di illecito presso altre amministrazioni)

PASSAGGIO 2 - ALTRI SOGGETTI
Anche qui si chiede se la segnalazione è stata fatta al RPCT (di fatto è quello che sto facendo, inserendo la segnalazione).

Se queste informazioni/suggerimenti possono essere utili per ottimizzare il questionario per gli Enti Locali sarò lieta di vedere con voi come configurare bene il questionario.
Già un po’ ci avevo giocherellato


(Silva Giromini) #9

Scusami, ma questo mi risulta un passaggio che necessita di un ulteriore approfondimento: il nostro Ente (Comune) è strutturato in Settori e Servizi; abbiamo 3 figure Dirigenziali sotto cui stanno i vari Servizi dell’Ente e il Segretario Comunale, che è il RPCT è anch’esso una figura Dirigenziale.
Dovrebbe essere, per la piattaforma, il Ricevente delle segnalazioni.
Il “custode dell’identità” che tipo di figura è?
Visto che è la prima volta che ne sento parlare, in una struttura come quella che sommariamente ti ho descritto, potrebbe essere configurabile o no?
Fisicamente, all’interno della Pianta Organica dell’Ente corrisponde a qualche persona (penso a chi - come i tecnici del Sistema Informatico - mettono in piedi la piattaforma e si prendono tutte le responsabilità del caso) ?


(Fabio (Naif) Pietrosanti) #10

Ciao Silva,

allora il “Custode delle Identità” fu’ implementato 2 anni orsono quando facemmo il workshop presso ANAC, come concetto per rafforzare la separazione dei dati e la riservatezza delle informazioni fra il team dell’ufficio di vigilanza e il responsabile del team.

Di fatto la funzionalità consta nel rendere disponibile l’identità del whistleblower, se fornita, solo su richiesta del ricevente al custode dell’identità con adeguata motivazione. Il custode, senza potere vedere l’identità richiesta, valida la richiesta sulla base delle motivazioni portati, e ne concede l’accesso.

Il tutto con una sequenza implementata già nel software, cui mancano solo queste 2 feature di notifica:

La ratio che c’era dietro è che l’istruttore dovrebbe potere verificare e validare la segnalazione, se adeguatamente circostanziata, anche senza conoscere l’identità del segnalante, che invece dovrebbe essere necessaria come notorietà solo laddove sia realmente necessario per gestire la pratica (approfondimenti e/o false dichiarazioni ad esempio).

Mia considerazione personale, questa funzionalità ha senso laddove la quantità di segnalazioni è così elevata da richiedere un team di gestione delle segnalazioni con una figura di responsabile, ma laddove di fatto le segnalazioni sono ricevute e gestite da una singola persona, IMHO la funzionalità del custode delle identità si può anche lasciare disattivata (è abilitabile/disabilitabile e separata dalla funzionalità whistleblower identity).

Fabio

p.s. Per ulteriori temi, come hai già fatto, possiamo anche proseguire nella categoria Anticorruzione del forum GlobaLeaks https://forum.globaleaks.org/c/anticorruzione .


(Fabio (Naif) Pietrosanti) #11

Ciao Silva,

in merito ai questionari di segnalazione, convengo con te che quello attualmente sul servizio ANAC vada sicuramente adeguato e adattato ai contesti d’uso specifici.

Se vuoi su questo tema, possiamo sviluppare dei questionari che siano adatti in modo specifico per i Comuni e integrarli nel software come “configuration profile” ?

Considera ad esempio che per le ASL c’è l’ottimo questionario di Transparency di Curiamo la Corruzione www.curiamolacorruzione.it .

Sarebbe molto interessante fare un lavorio di realizzazione di N-questionari per N-Contesti di segnalazione specificamente adattati per i Comuni, per i loro ambiti di rischio corruttivo come processi-procedure e integrarli nel software affinché un comune possa con pochi click configurarselo e trovare qualcosa di adatto alle sue esigenze, con una barriera all’ingresso ulteriormente ridotta.

Quando dico N-questionari per N-Contesti mi riferisco in particolare alla funzionalità “multi-contesto” di GlobaLeaks dove è possibile per ogni categoria creare un questionario diverso e anche associarci dei destinatari di segnalazioni diverse, con lo scopo di realizzare dei questionari particolarmente verticali per aumentare la qualità informativa di specifici illeciti.

Tuttavia si può anche fare un questionario unico specifico per i comuni, potremmo chiamarlo " Anticorruzione Comuni Italiani" e inserirlo nel software.

Considera che, con le funzionalità del GlobaLeaks corrente, è possibile fare anche campi di tipo condizionale, quindi avere un livello qualitativo visuale decisamente più avanzato di quello attualmente sul servizio ANAC.

Se hai voglia di contribuire e realizzarlo, vieni sulla chat Hermes con Slack (ti consiglio mobile o desktop app) https://slack.hermescenter.org/ :slight_smile:

Fabio


(Glauco Rampogna) #12

Buongiorno Silva, noi utilizziamo internamente Globaleaks da un anno e mezzo, e ho avuto l’opportunità di installarlo di recente in altri enti locali.

Vista la notevole flessibilità del software e le nuove features previste in uscita, potrebbe essere utile istituire un piccolo gruppo di lavoro per creare un questionario adatto agli Enti Locali, in modo da facilitare l’utilizzo in nuove installazioni.

Che ne dici?


(Silva Giromini) #13

Ciao @glauco. Ho letto il tuo post; stavo pensando di iscrivermi alla chat Hermes con Slack:

potresti unirti anche tu e contribuire a creare lì dentro i questionari personalizzati


(Glauco Rampogna) #14

Lo pensavo anche io, e mi sono iscritto 2gg fa: se vuoi iniziare, sono in servizio questo pomeriggio.


(Fabio (Naif) Pietrosanti) #15

Ciao a tutti,

volevo condividere che abbiamo lanciato un servizio gratuito di Whistleblowing per la PA Italiana (e sue controllate) assieme a Transparency International chiamato WhistleblowingPA su https://www.whistleblowing.it .

Il servizio è gratuito, basato sul Software OSS GlobaLeaks, fornisce all’ente una istanza virtuale pre-configurata per compliance 190/2012 e 179/2017 per la PA con la conoscenza specifica di Transparency (noi come Centro Hermes facciamo i tecnologhi) https://NOME-ENTE.whistleblowing.it .

Il servizio è replicabile interamente con il software opensource (non ci sono componenti private), quindi consorzi di enti, società in-house, grandi PA con tante controllate, possono a loro volta replicarselo in casa gratuitamente (se preferiscono non aderire direttamente a WhistleblowingPA).

Saluti
Fabio Pietrosanti
Whistleblowing PA https://www.whistleblowing.it