Cosa genera esattamente questo strumento
UUID versione 4: 128 bit di cui 122 casuali, nel formato canonico di 36 caratteri con trattini. Arrivano da `crypto.randomUUID()`, l'API crittografica del browser, la stessa fonte di casualità su cui contano le librerie serie. Non è `Math.random()` travestito.
La probabilità di collisione, in cifre
Con 122 bit casuali servirebbero circa 2,7 · 10¹⁸ identificatori per arrivare al 50 % di probabilità di collisione. Generandone un miliardo al secondo, ci vorrebbero circa 85 anni per avvicinarsi. In pratica puoi generarli in parallelo da processi separati senza alcun coordinamento.
Dove UUID v4 è la scelta sbagliata
Come chiave primaria in una tabella grande con indice raggruppato, la casualità frammenta l'indice e peggiora gli inserimenti. In quel caso guarda UUID v7 o ULID, che mettono un timestamp davanti e preservano l'ordine di inserimento. Per chiavi di idempotenza, tracce e file temporanei, v4 è esattamente ciò che serve.
Un UUID non è un segreto
È imprevedibile, che non è lo stesso di riservato. Un identificatore in una URL finisce nei log del server, nella cronologia del browser e nell'header `Referer`. Serve a nominare risorse, non ad autorizzarle: se l'unica barriera di un documento privato è una URL difficile da indovinare, non c'è barriera.