Data Scraping ed Evasori Fiscali

Il vice-ministro dell’Economia e delle Finanze con delega al fisco Maurizio Leo ha dichiarato nell’audizione con la Commissione parlamentare di vigilanza sull’anagrafe tributaria:

“L’evasione fiscale è come un macigno, tipo il terrorismo. Quando abbiamo 80-100 miliardi di evasione capiamo che si deve tutti collaborare, nel rispetto dei dati personali. Quello che si deve fare, ed è quello su cui stiamo lavorando con Agenzia delle Entrate e Sogei, è il cosiddetto data scraping, ovvero non fermarci a ragionare solo sui dati relativi all’attività professionale (superando quindi gli attuali Indici sintetici di affidabilità fiscale usati per valutare autonomi e partite IVA, ndr) ma vedere pure gli elementi significativi del tenore di vita: professionisti e imprenditori vanno su internet e sui social e dicono dove sono stati in vacanza o in quale ristorante.”

Probabilmente sarà una modalità di approfondimento legata alla non adesione al concordato

“Quelli che non aderiranno [al concordato], entreranno in liste selettive, per vedere che non hanno potuto realizzare questi compensi. Ma se si vede che ci sono delle anomalie, là si deve intervenire”

Dovrebbe essere disponibile a breve il Resoconto ufficiale della seduta del 31 Gennaio 2024.

Cosa è il data scraping

Il termine “data scraping” si riferisce all’operazione di estrazione automatizzata di dati da pagine web, documenti online (ad esempio file pdf) o applicazioni social con lo scopo di ottenere informazioni strutturate che possano essere successivamente elaborate.

Il termine “scraping” in questo contesto potrebbe essere tradotto come “ritaglio”, facendo riferimento all’analogia con il ritagliare frammenti di giornali per collezionare ed organizzare informazioni utili su un dato argomento.

Tecniche

Tecnicamente l’operazione può essere svolta con due modalità principali:

  • tramite l’analisi del contenuto dei documenti web tramite opportuni programmi che si “trascinano” (crawling) attraverso le pagine e “ritagliano” (scraping) i dati rilevanti,
  • tramite le A.P.I. delle applicazioni social (sono un canale un accesso diretto ai dati che vengono mostrati nella pagine dei social) che sono gestiti dalle aziende social (es. Meta, X, etc.)

Entrambi gli approcci sono strettamente vincolati (quasi ostacolati) dai social perché un acceso aperto (come in altre piattaforme, ad es. FediVerse/Mastodon) andrebbe a vanificare completamente il loro modello di business.

Perché si usa

Le tecniche di “data scraping” sono state largamente utilizzate per poter accedere a dati che sono disponibili pubblicamente ma non in formato aperto.

Dati in formato non elaborabile da un calcolatore oppure non strutturata sono ad esempio:

  • i dati delle dichiarazioni dei redditi dei parlamentari che sono delle scansioni
  • i dati finanziari (es. bilanci) di società pubblicati come scansioni oppure come pdf
  • i dati disponibili su pagine web ma non “aperti” e scaricabili facilmente

Quindi ci sono usi “nobili” di questa tecnica, ad esempio da parte di cittadini attivisti per rendere i dati più facilmente accessibili e scrutinabili.

Talvolta sono utilizzati per aggregare dati disponibili in maniera sparsa e non aperta su portali web (es. annunci case, ebay)

Infine può essere utilizzato per “profilare” le persone con gli scopi più vari.

Estrazione delle informazioni

Il tipo di informazioni estraibili tramite “data scraping” sono molto varie.

Con riferimento alle affermazioni del Vice-Ministro, possiamo pensare che si vogliano estrarre

i dati relativi ai luoghi, sia geografici che locali (ristoranti etc.), ed ai tempi delle visite.

Tali informazioni possono essere estratte a partire da quanto pubblicato sui propri profili social dai soggetti di interesse.

Esempio: luoghi visitati da Instagram

– si cerca il profilo Instagram di un contribuente, non semplice perché spesso ci sono omonimie, profili privati, o non ci sono profili attivi

– identificato il profilo è possibile analizzare le foto e i dati associati ad esso

– dato un post (che può includere una o più foto) è possibile ottenere alcune informazioni, ad esempio il luogo e la data e i tag, che permettono di caratterizzare un evento

ad esempio con alcune istruzioni Javascript:

date=document.getElementsByTagName("time");
date=date[date.length-1].dateTime;
a=Array.from(document.getElementsByTagName("a"));
place=a.filter( e => e.href.contains("/explore/location") ).map( e => e.textContent );
tags=a.filter( e => e.href.contains("/explore/tag") ).map( e => e.textContent );

– analizzando più post si possono ricostruire il luoghi in cui è stata questa persona nel tempo

Individuazione dei sospetti

A partire dalla lista dai luoghi visitati occorre per prima di tutto individuare i “potenziali evasori”. Ad esempio tramite l’individuazione di una soglia su numero e tipologia dei luoghi. Questo significa avere a disposizione una banca dati con una classificazione delle mete di viaggi o dei locali. Tanto più accurata è questa classificazione tanto più costerà costruirla e mantenerla nel tempo. Questa fase di selezion eragionevolmente potrà essere eseguita in maniera automatizzata, ad esempio con tecniche di Machine Learning.

Questo approccio produce un numero molto alto di falsi positivi, ovvero casi che potrebbero essere evasori ma di fatto non lo sono. Occore quindi ridurre i falsi positivi per identificare quelli che possiamo chiamare *”sospetti evasori”*, in pratica:

  • verificare quali attività sono personali e quindi indicatori del tenore di vita: molte persone viaggiano frequentemente per motivi di lavoro e quindi frequentano spesso luoghi e locali o ristoranti
  • verificare che le attività siano effettivamente legate al reddito o patrimonio del soggetto: molte persone viaggiano con parenti, compagni, amici

Effetuare queste verifiche può risultare non facile e sicuramente richiede un grande lavoro da parte degli addetti umani.

A questo punto occorre condurre delle indagini vere e proprie per accertare l’eventuale evasione. Questa fase richiede un inteso lavoro investigativo che potrebbe essere invano se la lista dei sospetti è poco precisa e contiene tanti falsi positivi.

Update: il collega Cantamessa mi segnala che il rapporto tra riscosso e accertato è intorno al 10%

Limiti dell’approccio

Complessivamente i vari passaggi possono essere visti come modi di ridurre sempre più il cerchio, fino a avere degli evasori accertati:

Limiti di rappresentazione

Quali contribuenti di interesse sono rappresentati nella base di dati raccolti?

Un contribuente è analizzabile se è possibile raccogliere informazioni utili, ovvero solo se:

  • C0: il contribuente ha dei profili social
  • C1: si associa a un contribuente uno o più profili social
  • C2: il profilo è pubblico
  • C3: per i suoi post si associano dei luogo, ovvero:
    • il luogo è indicato esplicitamente nel post
    • il luogo è menzionato nel testo o nei tag
    • i contenuti della fotografia sono riconoscibili

Se il profilo è privato, per poter accedere è necessario trovarsi in una delle seguenti condizioni particolari:

  • chi fa lo scraping è “amico” del soggetto sul quale si stanno raccogliendo informazioni
  • esiste una richiesta di un magistrato per accedere ai dati

Queste condizioni riducono molto il numero di contribuenti per cui è possibile analizzare i dati (errore di rappresentazione).

Limiti di descrizione (misura)

Dato un soggetto su cui sono stati raccolti i dati, questi ne descrivono adeguatamente il comportamento “reale”?

La fondamentale assunzione necessaria perchè questo approccio abbia senso è che i contribuenti postino sui social buona parte delle proprie attività (errore di completezza della misura).

Inoltre, per avere un’idea accurata del tenore di vita dei soggetti, è necessario che i passi di scrematura e verifica siano corretti. Le possibili cause sono: errore umano, difetto o bias del software, errore nei dati di riferimento.

Questi possibilie errori riducono ulteriormente il numero di contribuenti su cui è possibile fare una stima corretta del tenore di vita.

Costi

È evidente che questa iniziativa avrà dei costi non trascurabili:

  • sviluppo del software di “data scraping”
  • manutenzione e aggiornamento del software
  • attività umane di verifica
  • attività umane di accertamento

Per valutare la convenienza dell’iniziativa occorre capire quanti saranno gli evasori effettivamente accertati e l’ammontare recuperato.

Considerazioni sulla privacy

Mettere in piedi un’iniziativa come quella ipotizzata dal Vice-Ministro comporterà la raccolta di una mole notevole di informazioni su cittadini che, come indicato nelle dichiarazioni, dovrà essere valutata accuratamente dal Garante per la Privacy.

Alcuni di questi dati personali sono:

  • l’associazione massiva di cittadini a profili social, che potrebbe essere usata in maniera impropria per scopi di sorveglianza e profilazione, questa associazione è stata spesso riproposta da politici di tutti gli schieramenti (tutti con scarsa comprensione della privacy), un uso non appropriato o un “leak” di queste informazioni sarebbe gravissimo specie per personi in condizioni più fragili;
  • una estesa raccolta di luoghi frequentati, più o meno abitualmente, con eventuali orari da cui è possibile desumere abitudini e spostamenti.

In generale è importante definire (come da GDPR) chi custodirà queste informazioni, chi vi potrà accedere, e con quali scopi. La tentazione di usare informazioni raccolte con uno scopo iniziale per altri scopi è sempre in agguato e molto problematica per la privacy.

Update: il collega Vetrò mi segnala un caso analogo, anche se non basato su dati social, legato a risk report per servizi di welfare in Olanda: SyRI dove il sistema è stato bloccato da una sentenza perché non conforme al GDPR.

E il solito adagio che chi non ha niente da nasconodere non ha niente da temere è quasi troppo banalmente sbagliato per essere menzionato.

Carlo Blengino scriveva qualche tempo fa:

Io ho qualcosa da nascondere da quando ho ricordi: sono riservatezze variabili a seconda dell’interlocutore, del tempo, del luogo e del contesto. E non voglio per me e i miei figli una società stupidamente disciplinata da una costante sorveglianza e decerebrata dagli algoritmi. Vorrei una società in cui l’asimmetria dell’informazione sia l’esatto opposto dell’attuale, dove purtroppo il cittadino è totalmente trasparente e lo Stato e le sue regole sono opache e incerte.

Conclusioni

Esistono diversi limiti rappresentazione e di misura che riducono il numero di soggetti a cui è effettivamente possibile applicare l’approccio basato sul “data scraping”.

In ogni caso il costo di questa iniziativa potrebbe essere non trascurabile sia per l’avvio che per l’operatività nel tempo.

Ad esempio, potrebbe comportare un lavoro aggiuntivo per gli addetti, che potrebbero non essere in grado di svolgere le altre normali attività di controllo.

Infine ci sono aspetti di privacy non trascurabili. A questo proposito è bene ricordare che una raccolta dati di questo tipo potrebbe essere fatta da chiunque. Quindi la raccomandazione è di mantenere i profili privati o se sono pubblici (ad esempio perchè utili per lavoro) fare molta attenzione a cosa si pubblica.


Questi appunti sono alla base dell’intervista con Margherita Costa per Tagadà su La7

Uno sguardo di sistema sulla “Contact Tracing App”

Versione 1.5 – Originale pubblicato qui.

Premessa

Un argomento caldo in questo periodo sui cui si sono visti molti scontri, non solo tra le persone della strada ma anche tra esperti è la famosa (o famigerata) App di Contact Tracing.

In seguito ai lavori di una commissione di esperti (task force dati) il commissario straordinario Arcuri ha annunciato la scelta di una app, tra quelle proposte in riposta ad una bando congiunto di tre ministeri ( Telemedicina e data analysis ).

La app verrà sviluppata dalla società Bending Spoons e il codice sorgente del sistema di contact tracing sarà rilasciato con licenza Open Source MPL 2.0.

Uno sguardo di sistema

Sebbene buona parte delle osservazioni si siano concentrate su aspetti tecnologici e di impatto sulla privacy, il tema può essere analizzato sotto diverse prospettive.

Si tratta di un sistema complesso e come tale comporta articolati bilanciamenti di vantaggi e svantaggi su molte dimensioni.

Provo ad elencare alcune delle dimensioni che dalla mia personale esperienza, da un punto di vista di Sistemi Informativi e Ingegneria del Software, mi paiono degne di nota:

  • modelli epidemiologici
  • tecnologia
  • qualità dei dati
  • sviluppo software
  • adozione ed efficacia
  • processi e logistica di supporto
  • impatto sociale e giuridico

Queste dimensioni e la loro discussione che segue non vogliono rappresentare una critica ma bensì degli spunti per una riflessione più ampia all’interno della società civile.

L’obiettivo finale è quello di far prendere coscienza della complessità del problema, del fatto che non esiste una soluzione perfetta, sebbene alcune soluzioni siano meno imperfette di altre.

Si tratta di inquadrare il problema in un contesto articolato, dove la risposta alle domande su un sistema complesso deve essere quella del buon ingegnere: “dipende!”. Dipende dal punto di vista e da quale compromesso tra tali punti di vista si voglia scegliere.

Modelli epidemiologici

Ci sono diversi modelli che descrivono le dinamiche del contagio. Quello base è il modello SIR (Susceptible, Infected, Recovered), in cui il parametro R0 indica l’evoluzione del contagio (quanti individui vengono contagiati da ciascun individuo infetto).

Recenti studi hanno stimato l’effetto di un contact tracing digitale. In estrema sintesi, ipotizzando un auto-isolamento immediato, sarebbe sufficiente un livello di adozione della App pari al 60% per garantire un regresso dell’epidemia (in termini SIR, R0 viene abbassato sotto la soglia critica pari a 1).

L’articolo citato considera diversi livelli di efficacia nel contenimento delle persone infette, ma non approfondisce ulteriormente.

Resta il fatto che sui modelli epidemiologici restano grossi punti interrogativi derivanti dal fatto che si conosce ancora poco questo virus. Ad esempio il numero di asintomatici che potrebbe ammontare al 50% (con punte anche molto più elevate). Un altro punto chiave è se i guariti sviluppino immunità e per quanto duri.

Quindi si tratta di stime con un basso livello di confidenze e a cui occorre aggiungere ulteriore incertezza dovuta al fatto che il sistema non sia ideale sotto gli altri aspetti.

Tecnologia

Sono state sviluppate diverse tecnologie per il “contact tracing” digitale ed a livello internazionale sono disponibili alcuni standard (quello più rilevante è probabilmente DP-3T ) di cui la App dovrà tenere conto. Inoltre è stato annunciato lo sviluppo di nuove funzionalità inserite direttamente nei sistemi operativi di Apple e Google.

Questi approcci si basano sullo scambio di piccoli messaggi anonimi tramite BTLE (Bluetooth Low Energy) in modo da poter risalire a chi è stato in contatto con soggetti che si rivelano infetti.

L’uso di altre tecnologie di geolocalizzazione, come GPS o le celle telefoniche, oltre a essere difficilmente conciliabili con la privacy per come è concepita all’interno dell’UE, sono poco precisi, particolarmente al chiuso.

Qualità dei dati

Buona parte dei ragionamenti fatti assume che i dati raccolti tramite le app e poi sfruttati per identificare potenziali contagi siano perfetti. Nella pratica, e lo sa bene chi lavora quotidianamente con grandi moli di dati, la qualità dei dati rappresenta un limite critico.

Usando lo standard ISO/IEC 25012:2008 e, a titolo esemplificativo, escludendo le caratteristiche di qualità che dipendono dai sistemi che le elaborano, considerando solo le caratteristiche intrinseche dei dati:

  • incompletezza (mancano dati su alcuni contatti o in alcuni periodi)
  • incoerenza (dati diversi suggeriscono contatti diversi)
  • mancato aggiornamento (tra app e tra app e sistemi centrali)
  • accuratezza (dei singoli dati, dei tempi, delle distanze)
  • credibilità (per la presenza di fonti di dati non accreditate)

Senza una valutazione e stima della qualità dei dati è impossibile sapere qual’è il livello di affidabilità dell’applicazione e la sua efficacia nel ridurre l’epidemia.

Sviluppo software

Uno degli aspetti spesso trascurati nello sviluppo del software è rappresentato, al di là delle tecnologie utilizzate, dai processi e dalle metodologie utilizzati.

Quando si sviluppano sistemi “safety critical” (da cui dipende la vita delle persone, come il sw di un aeroplano) le norme internazionali impongono l’adozione di una serie di pratiche di sviluppo. Questo perché il comportamento del sw non è “lineare” (ovvero facilmente estrapolabile da una serie di casi noti) a differenza di buona parte dei prodotti fisici, perciò il collaudo non può essere esaustivo e non può dare alcuna garanzia di correttezza.

Un esempio di pratica, spesso trascurata, ma sicuramente applicabile e fondamentale nel caso della App di tracciamento, è la conduzione di piano di sw testing più esteso possibile e largamente automatizzato. Sappiamo che il test di App mobili è difficile, ma non farlo o farlo in maniera limitata potrebbe avere delle conseguenze estremamente gravi.

Adozione ed efficacia

Una volta che la App sarà pronta, perché sia utile è necessario che sia adottata ampiamente, in modo che i potenziali contagiati siano avvertiti tempestivamente e possano prendere provvedimenti.

Tuttavia, se avviene un contagio tra due persone, affinché l’App possa avvertire la contagiata è necessario che:

  1. entrambi abbiano un telefono
  2. si tratti di modelli recente
  3. sia stato aggiornato il sistema operativo
  4. abbiano installato l’App
  5. avessero il telefono con se al momento del contagio
  6. il telefono fosse carico ed acceso al momento del contagio
  7. avessero l’App attiva quando è avvenuto il contagio
  8. il BTLE abbia funzionato correttamente
  9. che chi ha trasmesso il contagio abbia sviluppato i sintomi o sia stato avvisato dall’app
  10. che abbia preso provvedimenti avvisando il medico o il SSN
  11. che sia stato soggetto ad un “tampone”
  12. che il “tampone” abbia dato esito positivo
  13. che chi è stato contagiato riceva la notifica

Questo elenco non vuole essere esaustivo o sistematico ma solo dare un’idea della quantità e varietà di fattori esterni, al di fuori del controllo di chiunque sviluppi l’App o gestisca il sistema di tracciamento.

È importante avere delle stime sulla probabilità di questi eventi e mettere in campo delle azioni per mitigare i rischi connessi.

App Adoption

 

Processi e logistica di supporto

Una App da sola non è sufficiente a raggiungere un obiettivo ampio quale la riduzione dei contagi. Le App sono inserite nel contesto di un Sistema Informativo, che include altri applicativi (ad es. il registro centralizzato dei contagi) che devono operare sinergicamente.

I sistemi informativi di supporto al momento hanno evidenziato preoccupanti carenze. Sviluppare nuovi sistemi non è facile sia per i tempi ristretti (che porterebbero a non adottare le buone pratiche di ingegneria del software cui si accennava sopra) sia per la necessità di integrarli adeguatamente con quelli esistenti (pena la perdita di informazioni).

Il sistema informativo, a propria volta, è immerso in un contesto complesso: altri sistemi informativi e un’organizzazione. L’organizzazione comprende: procedure, strutture e risorse.

Servono delle procedure, ad esempio l’OMS ha definito le procedure raccomandate per il “contact tracing”, ma per eseguire le procedure servono delle organizzazioni che le mettano in pratica e le organizzazioni hanno bisogno di risorse per poterle attuare. Le risorse sono

  • materiali: laboratori, strumenti di analisi, reagenti e consumabili;
  • umane: deve esserci un numero sufficiente di persone, ma soprattuto, esse devono possedere conoscenze e capacità adeguate ai compiti che dovranno svolgere.

Impatto sociale e giuridico

Per ultimo, ma non ultimo per importanza, è fondamentale valutare l’impatto sociale e giuridico. In primis in termini di privacy ma non solo.

A questo proposito è molto chiara la lettera aperta su tracciamento dei contatti e democrazia promossa dal Centro Nexa su Internet & Società e sottoscritta da un ampio numero di esperti.

È probabilmente da attribuire alla tempestività di tale lettera quello che è stato percepito come un cambiamento di rotta da parte del governo su alcuni punti critici.

Queste genere di considerazioni sono fondamentali nello scegliere quali sono le priorità che devono guidare la scelta di pesi e compromessi tra i diversi punti di vista. Un buon ingegnere del software deve ricordare sempre che “ogni linea di codice rappresenta una scelta morale”.

Conclusioni

Queste sono, senza pretesa di completezza, diverse dimensioni che è importante considerare quando si analizza una App che abbia una portata ampia come quella di “contact tracing”, ma “mutatis mutandis” si applicano a tante altre applicazioni. Si tratta di prospettive dovrebbero essere evidenti per chi ha la sensibilità che deriva dalla cultura di sistema, che dovrebbe essere propria di un buon ingegnere del software.

Si tratta di capire che, citando una bella riflessione di Luca Sofri, quando ci si chiede “Di che colore è il mare?” non sempre la risposta è “Blu.”.


Note:

Versioni dei telefoni e sistemi operativi

I telefoni devono essere modelli recenti per due motivi principali:

  • spesso una App sviluppata per funzionare su versioni recenti di iOS o Android è non compatibile e può essere installata su versioni vecchie (un esempio banale: tante API “vecchie” vengono deprecate e quindi non più usate portando a incompatibilità)
  • se la App utilizzerà le nuove API Apple+Google per forza dovrà essere installata una versione nuova del sistema operativo

Purtroppo se i telefono sono vecchi è probabile che non si riescano ad installare versioni nuove del sistema operativo e quindi la App non funziona.

Osservando il livello di diffusione delle diverse versioni di Android  si può vedere come esista una certa frammentazione.

Update:

Aggiornato il 19/10/2020 in seguito ad una conversazione su twitter in cui sono emersi anche altri fattori:

https://platform.twitter.com/widgets.js 

Repository pubblicazioni istituzionale

Aggiornato: 12/1/2018

Asterix nella casa che rende folli

Il 20 Dicembre scorso è arrivata via email una comunicazione relativa al repository istituzionale delle pubblicazioni per il Politecnico di Torino.

 

Da Gennaio il vecchio sito (porto.polito.it) basato su EPrints sarà sostituito dal repository IRIS sviluppato da Cineca.

Devo dire che, come ricercatore, sono perplesso da questo cambiamento nella direzione di un sistema che non risponde quasi per nulla alle esigenze di un repository istituzionale.

Nel visualizzare le pubblicazioni personali si è passati da questa versione Porto a quest’altra versione IRIS.

IRISvsPorto

Provo ad argomentare meglio qui di seguito. Continua a leggere

Una Strategia IT per l’Ateneo – Esternalizzazione

All’interno della strategia che un nuovo Rettore propone per un Ateneo, deve trovare posto una proposta per l’Information Technology (IT).

Uno degli aspetti fondamentali riguarda l’esternalizzazione dell’IT che qui provo a declinare con riferimento ai sistemi informativi di un ateneo ma che si applica ad un qualunque sistema informativo.

Cosa significa esternalizzare l’IT?

L’argomento è relativamente complicato, ma volendo semplificare, l’esternalizzazione dell’IT può essere applicata su due livelli:

  • a livello di infrastruttura di calcolo (on-premise vs. cloud)
  • a livello di fornitura di servizi (in-house vs. outsourcing)

Continua a leggere

Inaugurazione AA 16/17 PoliTo

Oggi (15/2/2017) si è tenuta l’inaugurazione dell’A.A. del Politecnico di Torino alla presenza delle autorità cittadine e regionali, e del Ministro dello Sviluppo Economico Carlo Calenda.

Come sensazione generale, condivisa da colleghi alla fine della cerimonia, devo dire che questa inaugurazione è apparsa molto interessante e coinvolgente, più del solito.

Qui le mie impressioni abbastanza a caldo..

Continua a leggere