L'UFI stampato su un'etichetta CLP sembra un'accozzaglia casuale — QNWM-9X6E-E46N-G4GJ. Non lo è. Quei 16 caratteri sono un codice compatto che chiunque può riconvertire in chi ha presentato la notifica e quale formulazione era. Ecco cosa codifica davvero un UFI e come leggerlo.

Un UFI in una riga

Un UFI — identificatore unico di formula (Unique Formula Identifier) — è il codice di 16 caratteri che stampi su un prodotto pericoloso perché un centro antiveleni possa abbinare l'articolo che ha in mano chi chiama alla formulazione esatta che hai notificato. Se il tuo prodotto ne abbia bisogno è una questione separata, legata al fatto che serva un'etichetta CLP. Questo articolo parla di cosa contiene il codice in sé.

I 16 caratteri non sono casuali

Un UFI è stampato in quattro blocchi da quattro, come QNWM-9X6E-E46N-G4GJ. Il primissimo carattere è un carattere di controllo (checksum); gli altri 15 contengono i dati veri e propri, rimescolati in un ordine fisso e scritti in base 31.

La base 31 è l'indizio che la leggibilità è stata progettata fin dall'inizio. L'alfabeto è composto dalle dieci cifre più 21 lettere — e cinque lettere sono escluse di proposito: B, I, L, O e Z. Sono esattamente i caratteri che una persona, o uno scanner, rischia di più di leggere come 8, 1, 1, 0 e 2. Un UFI deve sopravvivere alla ricopiatura a mano da una piccola etichetta sul retro, quindi i caratteri che causano errori di copiatura semplicemente non fanno parte del set.

Cosa è codificato davvero

Rimetti in ordine i dati e ne escono tre cose:

  • Un identificativo dell'azienda — una partita IVA UE/UK oppure una chiave aziendale numerica che il notificante si è assegnato.
  • Un numero di formulazione — un numero intero, da 0 fino a 268.435.455 (cioè 2²⁸ − 1), che il notificante usa per distinguere le proprie formulazioni.
  • Un campo versione — attualmente sempre 0 nella specifica dell'ECHA.

Niente di tutto questo viene cercato in una banca dati. La decodifica è pura aritmetica — il codice è il dato. Per questo il nostro decodificatore UFI funziona interamente offline, e anche per questo può dirti solo che il codice è ben formato, non se una notifica sia mai stata effettivamente presentata.

Quindi cosa rivela un UFI?

Dipende dal tipo di identificativo aziendale usato dal notificante.

Se ha codificato una partita IVA, l'UFI rivela il Paese di emissione e l'identità IVA registrata. Decodifica QNWM-9X6E-E46N-G4GJ, per esempio, e ne esce una partita IVA greca, GR567438921, con numero di formulazione 66.260.700. Una partita IVA è pubblica e verificabile, quindi un UFI basato sull'IVA è in pratica una firma: dice quale impresa, in quale Paese, sta dietro al prodotto.

Se invece ha codificato una chiave aziendale, l'UFI rivela molto meno — solo un numero opaco scelto dall'azienda stessa, senza alcun Paese associato. Molti notificanti ne usano una proprio perché non rivela nulla.

Leggere l'UFI di qualcun altro

Poiché il codice è stampato in chiaro sull'etichetta e si decodifica senza alcuna ricerca, niente ti impedisce di decodificare un UFI trovato sul prodotto di qualcun altro — è pubblico per progettazione. Tieni però presenti i limiti:

  • Un UFI con chiave aziendale non ti dice nulla su chi sia l'azienda.
  • Il numero di formulazione è un identificativo interno, non un contatore progressivo. I notificanti numerano come vogliono, quindi non puoi leggerlo in modo affidabile come "quanti prodotti hanno notificato".
  • Un UFI valido significa solo che il codice è ben formato. Non conferma che dietro esista davvero una notifica ai centri antiveleni — né, da solo, cosa contenga il prodotto.

Il checksum: perché un UFI digitato male si può scoprire

Quel primo carattere si guadagna il suo posto. Viene calcolato dagli altri 15, quindi se un solo carattere è sbagliato — una svista nella scrittura, un errore di lettura OCR — l'intero codice non supera la validazione. NJC1-671A-UKF3-J0M8 è un UFI valido; cambia l'ultimo carattere in NJC1-671A-UKF3-J0M9 e viene rifiutato. (Quello, guarda caso, è un UFI con chiave aziendale — decodificalo e ottieni solo un numero, senza Paese.) Un checksum non intercetta due errori che si compensano a vicenda, ma trasforma gli errori più comuni su un singolo carattere in un fallimento immediato ed evidente, invece che in una discrepanza silenziosa in un centro antiveleni.

Decodificane uno da solo

Incolla qualsiasi UFI nel nostro decodificatore UFI per vederne il Paese di emissione, l'identificativo aziendale e il numero di formulazione — calcolati in locale dal codice, senza inviare nulla da nessuna parte. Devi creare un'etichetta invece di leggerne una? Il generatore UFI esegue gli stessi calcoli al contrario, trasformando la tua partita IVA e un numero di formulazione in un UFI valido.