Italiano

Strumenti per sviluppatori · Generatore UUID

Generazione di UUID senza server: perché il pannello di rete rimane vuoto

· Perché è importante

uuid crittografia API del browser

Un pannello di rete DevTools del browser che non mostra richieste mentre viene generato un UUID
Illustrazione vettoriale originale ToolAcre

Un generatore UUID online che chiama il suo server ti sta inviando metadati che non hai mai avuto bisogno di condividere. Questo post spiega perché la generazione locale è completa di per sé e come verificare che uno strumento sia realmente locale.

Perché un generatore di ID avrebbe mai bisogno di un server e perché, per gli UUID casuali, non è così

Perché un generatore UUID dovrebbe aver bisogno di un server quando la generazione di UUID è interamente locale? A UUID è matematicamente indipendente da qualsiasi stato esterno al generatore. Una versione 4 UUID è 122 bits di dati crittograficamente casuali con 4 bits per la versione e 2 bits per la variante. Il client ha accesso a una fonte Web Crypto casuale crittograficamente sicura nei browser, librerie crittografiche locali nei server, in modo da poter generare l'intero UUID localmente senza consultare alcun servizio esterno. Eppure molti generatori UUID online effettuano richieste HTTP, inviando dati che non hanno mai avuto bisogno di lasciare il client. Ciò non è necessario e potenzialmente dannoso per la privacy.

Ciò che un generatore ospitato potrebbe conservare: registri di richieste, indirizzi e timestamp, descritti come possibilità piuttosto che accuse

Un generatore che invia la tua richiesta a un server potrebbe conservare i log delle richieste, i timestamp e gli indirizzi IP associati ai tuoi modelli di generazione UUID. Anche se non memorizza gli UUID stessi, sa quando hai generato gli ID e da dove. Per uno sviluppatore che lavora su progetti riservati, la generazione dell'ID potrebbe far trapelare informazioni sui tempi e sull'attività di sviluppo. A scopo di test, un UUID formattato correttamente ma comunque inviato a un server è probabilmente compromesso: il server ora sa quali operazioni o sistemi stai testando. Questi metadati sono preziosi per gli aggregatori e potrebbero essere utilizzati per analisi o profilazione.

Perché gli identificatori stessi sono sensibili: un UUID che diventa una chiave di record è una piccola parte della struttura del tuo sistema

La risposta al coinvolgimento non necessario del server è che la generazione locale è più semplice, più veloce e più privata della generazione basata su server. Il tuo browser ha già Web Crypto integrato o il tuo server ha accesso alla fonte di entropia del sistema operativo. Il risultato può essere copiato, scaricato o utilizzato immediatamente senza attendere un viaggio di andata e ritorno in rete. Il UUID non viaggia mai attraverso la rete. Il generatore non apprende mai che sei stato tu a gestirlo. La generazione locale è l'ovvia impostazione predefinita per gli UUID; il coinvolgimento del server è un intermediario non necessario che crea rischio senza fornire valore. Il client ha tutto il necessario per generare un RFC 9562 UUID valido.

Verificare che uno strumento sia locale: aprendo il pannello di rete del browser, generando e controllando le richieste

Un generatore ospitato che chiama il proprio server potrebbe conservare i registri per vari motivi dichiarati: analisi per comprendere modelli di utilizzo, prevenzione degli abusi per rilevare attacchi, debug per risolvere problemi o per ragioni non dichiarate all'utente: vendita di dati ad aggregatori di marketing, profilazione comportamentale per creare dossier utente, integrazione con altri servizi o monitoraggio tra servizi. La richiesta stessa contiene metadati: il tuo indirizzo IP rivela posizione e origine, l'intestazione User-Agent identifica la versione del tuo browser e talvolta il sistema operativo, i timestamp mostrano quando hai effettuato l'accesso allo strumento e i cookie o gli identificatori di monitoraggio potrebbero correlare le visite. Se generi un UUID, la richiesta verrà registrata. Se in seguito utilizzi UUID nel tuo sistema, la correlazione del registro con il tuo sistema potrebbe far trapelare informazioni su ciò che stai creando.

Ciò che aggiunge una rigorosa politica di sicurezza dei contenuti: assenza di script, caratteri o tag di terze parti significa assenza di canali nascosti verso terzi

Il generatore ToolAcre utilizza una rigorosa politica di sicurezza dei contenuti che impedisce richieste esterne, script di terze parti e caratteri remoti. Puoi verificarlo nelle intestazioni di risposta del browser o leggendo il meta tag CSP della pagina. Nessuna analisi di terze parti, tag pubblicitari, pixel di tracciamento o caricamento di risorse esterne. Il codice di generazione UUID viene caricato dalla stessa origine della pagina, quindi rientra nello stesso ambito di controllo del resto dello strumento. L'implementazione utilizza solo API Web Crypto e non effettua chiamate di rete. Questa politica è verificabile e non solo rivendicata.

Esempio funzionante: un controllo passo passo del generatore ToolAcre in DevTools e cosa fa e cosa non dimostra un pannello vuoto

La verifica è semplice e richiede meno di un minuto. Apri gli Strumenti per sviluppatori del browser, passa al pannello Rete, cancella eventuali richieste esistenti, genera un UUID e guarda il pannello. Non dovrebbero essere visualizzate nuove richieste, ad eccezione delle risorse potenzialmente statiche se la pagina non è stata caricata completamente inizialmente. Il UUID generato viene visualizzato nell'area di output della pagina, non in una risposta di rete. Se vedi richieste a domini esterni, reti pubblicitarie o servizi di analisi, il generatore non è locale. Se non vedi alcuna richiesta, la generazione è avvenuta in JavaScript eseguito localmente nel tuo browser.

Ciò che questo non copre: la telemetria della tua applicazione, che è fuori dal controllo di qualsiasi strumento

Un esempio pratico dimostra il processo di verifica in un browser moderno. Premi F12 o fai clic con il pulsante destro del mouse e seleziona "Ispeziona" per aprire DevTools. Fare clic sulla scheda Rete. Ricarica la pagina del generatore ToolAcre e attendi che finisca il caricamento; vedrai le richieste per la pagina HTML stessa, i fogli di stile CSS, il codice JavaScript ed eventuali immagini incorporate. Una volta che la pagina è stabile, cerca il pulsante "Cancella" nel pannello Rete e fai clic su di esso per svuotare l'elenco delle richieste. Ora genera un UUID facendo clic sul pulsante o premendo Invio. Se l'implementazione è locale, nel pannello non compaiono nuove richieste. Se è lato server, vedrai una richiesta a un endpoint come /api/generate-uuid o https://uuid.example.com/v1/random.

Conclusione: il locale è verificabile: il generatore ToolAcre funziona interamente nel browser, non memorizza nulla tra una visita e l'altra e può essere controllato nel pannello di rete

Lo strumento ToolAcre è progettato per superare questo test mediante la progettazione architettonica. Web Crypto API fornisce crypto.randomUUID esattamente per questo caso d'uso e, se ciò non è disponibile su browser meno recenti o contesti non sicuri, crypto.getRandomValues fornisce i byte casuali non elaborati che lo strumento può formattare in un UUID. L'implementazione è abbastanza breve da poter essere controllata: il generatore chiama uno di questi metodi Web Crypto, formatta il risultato come una stringa UUID e lo visualizza. Nessun server è coinvolto in nessun passaggio. Questa architettura significa anche che lo strumento funziona offline; una volta caricata la pagina, puoi disconnettere la rete e continuare a generare UUID. La crittografia locale del browser funziona ancora perfettamente senza accesso alla rete.