Ogni giorno migliaia e migliaia di applicativi sfornano codici fiscali: li calcolano dai dati personali del soggetto, li salvano e li attribuiscono alle persone. Ed è qui – il grande Bardo direbbe – che c'è l'intoppo.
Un po' di anni fa, per un progetto relativo alla formazione edile, scoprii che esiste un grosso problema con i codici fiscali: l'omocodia. L'omocodia si verifica quando un codice fiscale risulta uguale a quello di un'altra persona.
Nel dicembre 1976, il ministero delle finanze spiegava il “sistema di codificazione dei soggetti da iscrivere all'anagrafe tributaria”, ovvero il sistema per calcolare una stringa alfanumerica di 16 caratteri che identificasse univocamente ogni cittadino italiano.
Già a quell'epoca l'omocodia era stata prevista ed erano note le metodologie per gestirla, immaginando che due persone aventi stesso sesso, stessa data e luogo di nascita e nome e cognome molto simili era un caso non impossibile, ma abbastanza raro.
Al giorno d'oggi uno degli elementi sociali che più hanno influito sul problema delle omocodie è l'immigrazione: nel calcolo del codice fiscale fornito agli stranieri, viene preso in considerazione il paese di nascita e non il comune; questo fa sì che, in presenza di persone con dati simili, le varianti della stringa siano molto inferiori rispetto a quelle per le persone nate in Italia.
Il 10 febbraio di quest’anno, il direttore dell’agenzia delle entrate ha realizzato un’indagine sulla problematica delle omocodie e di altri problemi legati all’uso del codice fiscale.
Il numero di omocodie gestite è di 35.800, molto basso in relazione al numero della popolazione totale, ma certamente significativo.
Nel grafico che segue è possibile vedere l'aumento, anno per anno delle omocodie:
La problematica principale è la gestione dei codici fiscali esteri, come detto precedentemente.
Il grafico che segue illustra la differenza tra l'aumento delle omocodie dei cittadini italiani e quelle dei cittadini esteri:
L'agenzia delle entrate gestisce le omocodie nel seguente modo:
Le basi delle omocodie, ovvero i codici fiscali di partenza, vengono annullati e resi inutilizzabili perchè continuerebbero a causare omocodie.
Molte banche dati si basano, per identificare univocamente l'utente, sul codice fiscale.
Il problema enorme, però, è la sua autogenerazione da parte dei software.
Se sei uno sviluppatore e hai realizzato, o usato, uno script per calcolare automaticamente il codice fiscale, beh, sappi che hai contribuito a inquinare le banche dati e ad accrescere il problema.
Sei in buona compagnia: moltissimi software di gestione utenti hanno il calcolo automatico del codice fiscale (anch'io lo facevo tanto tempo fa).
A volte accade persino che ai cittadini stranieri venga calcolato il codice fiscale in un negozio e che non venga, quindi, attribuito dall'agenzia delle entrate ( o dagli Sportelli Unici per l’Immigrazione, o dalle Questure).
Il risultato è che quel cittadino straniero presenterà quel codice fiscale come suo a chi gliene farà richiesta: puoi facilmente immaginare le conseguenze.
L'autogenerazione è quindi il male. E' incrociare i flussi. Non farlo più.
Ma cosa si fa, allora, in questi casi? Soprattutto per validare il codice fiscale in fase di inserimento dati?
Ci sono diverse soluzioni, alcune infruttuose, altre più valide:
^[a-z]{6}[0-9]{2}[a-z][0-9]{2}[a-z][0-9]{3}[a-z]$
.Se il codice fiscale è il dato su cui si basa il tuo sistema deve essere corretto e univoco: un codice attribuito ad una persona diversa può creare scenari imprevedibili.
Purtroppo, per i limiti che si porta dietro l'algoritmo, è possibile solo cercare di forzare l'utente a controllare il dato che inserisce.
Ovviamente una soluzione molto affidabile ci sarebbe: un bel webservice dell'agenzia delle entrate da interrogare all'occorrenza.
Ma al momento non c'è, mettiti il cuore in pace.
C'è la verifica online, ma non è utilizzabile con automatismi ed è solo per utenti umani (compila il captcha!): la trovi a questo indirizzo.