European personal data regexp patterns

2012-04-20 00:00:00 +0100


I’ve spent some time browsing through publicly available sources to find out what are various identification numbers across Europe, especially those that can be treated as “personal data”. The numbers listed below include national identification, tax, health, social security and bank codes that I was able to identify. I’ve been also trying to build a regular expression pattern for each number. This should work well for detection in Intrustion Prevention Systems and Data Leakage Prevention systems. I’d appreciate any corrections and updates to this list.

</tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </tbody> </table>
Region</td> Name</td> Description</td> Regex</td> Example</td> </tr> </thead>
Austria</td> ZMR-Zahl National identification number - Zentrales Melderegister (Central Register of Residents - CRR) [0-9]{12} 000247681888
Austria</td> ASVG Social insurance number [0-9]{10} 1234030869
Austria</td> ssPIN New national identification number [A-Za-z0-9+/]{22}[A-Za-z0-9+/=][A-Za-z0-9+/=] MDEyMzQ1Njc4OWFiY2RlZg==
Belgium</td> BE.ID Identification number of the National Register. Also used on SIS (social security) card [0-9]{2}\.?[0-9]{2}\.?[0-9]{2}-[0-9]{3}\.?[0-9]{2} 70.01.16-287.31
Bulgaria</td> EGN Uniform Civil Number (Bulgarian: Единен граждански номер [0-9]{2}[0,1,2,4][0-9][0-9]{2}[0-9]{4} 7608010133
Czech, Slovakia</td> Birth Number (Rodné číslo) [0-9]{2}[0,1,5][0-9][0-9]{2}/?[0-9]{4} 685229/4449
Czech, Slovakia</td> ČOP Citizen's Identification Card Number (Číslo občianskeho preukazu) [A-Z]{2}[0-9]{6}
Denmark</td> CPR CPR-nummer (personnummer) [0-9]{2}[0,1][0-9][0-9]{2}-[0-9]{4} 020955-2017
Estonia</td> IK Isikukood (personal code) [1-6][0-9]{2}[1,2][0-9][0-9]{2}[0-9]{4} 47111119876
Europe</td> IBAN ISO 13616 with ISO 3166 country code prefix in compact format [A-Z]{2}?[ ]?[0-9]{2}[ ]?[0-9]{4}[ ]?[0-9]{4}[ ]?[0-9]{4}[ ]?[0-9]{4}[ ]?[0-9]{4} PL 10 1140 2017 0000 4202 0971 5311
Finland</td> HETU Personal identity code (henkilötunnus) [0-9]{2}\.?[0,1][0-9]\.?[0-9]{2}[-+A][0-9]{3}[A-Z] 101052-719E
France</td> NIR Social security number (INSEE) [1,2][ ]?[0-9]{2}[ ]?[0,1,2,3,5][0-9][ ]?[0-9A-Z]{5}[ ]?[0-9]{3}[ ]?[0-9]{2} 1 51 02 46102 043 25
Germany</td> PK Personenkennziffer (Bundeswehr) [0-9]{2}[0,1][0-9][0-9]{2}-[A-Z]-[0-9]{5} 261083-C-20917
Germany</td> Steuer-ID Steuer-Identifikationsnummer [0-9]{3}/?[0-9]{4}/?[0-9]{4} 316/5756/0463
Germany</td> VSNR, RVNR Versicherungsnummer, Rentenversicherungsnummer [0-9]{2}[0-9]{2}[0,1][0-9][0-9]{2}[A-Z][0-9]{2}[0-9] 65170839J003
Greece</td> Tautotita Tautotita [A-Z][ -]?[0-9]{6} P 000007
Hungary</td> TAJ Social insurance number (TAJ szám) [0-9]{3}[ ]?[0-9]{3}[ ][0-9]{3} 123 456 789
Hungary</td> Szam Personal identfication number (Személyi szám) [1-8][ ]?[0-9]{2}[0,1][0-9][0-9]{2}[ ]?[0-9]{4} 1 651105 6666
Ireland</td> PPS Personal Public Service Number [0-9]{7}[A-Z]W? 1234567A 1234567FW
Italy</td> CF Codice fiscale [A-Z]{6}[0-9]{2}[A-E,H,L,M,P,R-T][0-9]{2}[A-Z0-9]{5} PLDTLL47S04L424T
Latvia</td> PK Personal no (Personas kodas) [0-9]{2}[0,1][0-9][0-9]-[0-9]{5} 161171-22345
Lithuania</td> AK Personal code (Asmens kodas) [3-6][0-9]{2}[0,1][0-9][0-9]{2}[0-9]{4} 45911231023
Netherlands</td> BSN Burgerservicenummer, sofinummer (Citizen's Service Number). [0-9]{9} 987654321
Norway</td> FN Fødselsnummer [0-9]{2}[0,1][0-9][0-9]{2}[ ]?[0-9]{5} 010168 46647
Poland</td> PESEL National identification number [0-9]{4}[0-3]{1}[0-9}{1}[0-9]{5} 44051401458
Romania</td> CNF Nr personal [1-8][0-9]{2}[0,1][0-9][0-9]{2}[0-9]{6} 2121212121218
Spain</td> DNI Documento Nacional de Identidad [0-9,X,M,L,K,Y][0-9]{7}[A-Z] 99999999-R
Sweden</td> Personnr Personal id number [0-9]{2}[0-1][0-9][0-9]{2}[-+][0-9]{4} 610321-3499
Switzerland</td> AVS Old AVS format with personal data encoded [0-9]{3}\.?[0-9]{2}\.?[0-9]{3}\.?[0-9]{3} 324.65.242.000
Switzerland</td> AVS 2008 New AVS format (16 digits with constant prefix 756, which is ISO 3166-1 country code) 756\.?[0-9]{4}\.?[0-9]{4}\.?[0-9]{2} 756.5152.7017.84
UK</td> NI National identification number [A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]? JG103759A
UK</td> NINO National insurance number ^([ACEHJLMOPRSW-Yacehjlmoprsw-y][A-CEGHJ-NPRSTW-Za-ceghj-nprstw-z]|[Bb][A-CEHJ-NPRSTW-Za-cehj-nprstw-z]|[Gg][ACEGHJ-NPRSTW-Zaceghj-nprstw-z]|[Kk][A-CEGHJ-MPRSTW-Za-ceghj-mprstw-z]|[Nn][A-CEGHJLMNPRSW-Za-ceghjlmnprsw-z]|[Tt][A-CEGHJ-MPRSTW-Za-ceghj-mprstw-z]|[Zz][A-CEGHJ-NPRSTW-Ya-ceghj-nprstw-y])[0-9]{6}[A-Da-d ]?$ JG 12 13 16 A, AB123456C
UK</td> NHS UK NHS Number [0-9]{3}[ -]?[0-9]{3}[ -]?[0-9]{4} 401 023 2137