UUID は中央の許可を得ずにどこでも作れる 128 ビットの識別子です。だからこそデータベースのキー、リクエスト識別子、ファイル名、二重実行を防ぐトークンとして広く使われます。このツールは、今日使う価値のある 2 つのバージョンをまとめて作ります。完全にランダムな v4 と、先頭にタイムスタンプを持ち作成順に並ぶ v7 です。v7 はデータベースの主キーで効きます。ランダムな値はインデックス上に散らばって書き込まれるからです。乱数はブラウザの暗号用生成器から出て、どこにも送られないので、作った値はあなただけのものです。
はい。ブラウザの暗号学的に安全な乱数生成器が、ページ内で作ります。サーバーに要求も報告もしないので、あなたが作った値をほかの誰も見たことがありません。
理論上はあり得ますが、現実にはありません。v4 には 122 ビットのランダムが入ります。衝突が起こりうるほどにするには、何十年も毎秒何十億個も作り続ける必要があります。一意だと考えて使って大丈夫です。
識別子がデータベースの主キーになるときです。v7 はミリ秒のタイムスタンプで始まるので、新しい行がインデックス内で隣り合って収まり、挿入が速くインデックスも締まります。値が何も明かしてはいけない場面では v4 を使ってください。v7 はいつ頃作られたかをおおよそ示してしまいます。
v4 は推測できないほどランダムなので、URL に入れる不透明な識別子としては使えます。ただし認証基盤が発行する、より長く目的に合わせて設計されたセッショントークンや API キーの代わりにはなりません。
バージョン 1 は端末の MAC アドレスを含み、どこで作られたかが漏れます。バージョン 3 と 5 は名前のハッシュで、同じ入力が必ず同じ識別子になってほしいときにだけ役立ちます。一般的な用途では v4 と v7 のどちらかを選べば十分です。