- Replace custom uuidv4() with native crypto.randomUUID() - Entry IDs use first 8 hex chars with collision checking - Session IDs stay full UUIDs (used in filenames) - ~0.01 collisions per 10k entries, retry handles it