Home / Companies / Firebase / Blog / Post Details
Content Deep Dive

The 2^120 Ways to Ensure Unique Identifiers

Blog post from Firebase

Post Details
Company
Date Published
Author
Michael Lehenbauer
Word Count
922
Company Posts That Month
1
Language
English
Hacker News Points
-
Post removed?
No
Summary

Firebase push IDs are 20-character, client-generated identifiers designed for collaborative applications where many users may append data simultaneously without server round trips or naming conflicts. Each ID encodes 120 bits: a 48-bit timestamp that generally produces chronological lexicographic ordering and 72 bits of randomness that makes collisions extremely unlikely, with the random portion incremented for IDs generated by the same client within a single millisecond. Firebase uses a modified Base64-style alphabet so the encoded IDs sort correctly as keys, but their ordering is not fully guaranteed because client clocks may be inaccurate, although Firebase corrects clock skew after a client connects to its servers. Applications requiring reliable chronological ordering should store and query a server-resolved ServerValue.TIMESTAMP instead. Although push IDs are difficult to predict, Firebase advises developers not to use them as security tokens or rely on their obscurity for access control, recommending securely generated identifiers where unguessable paths are required.

Trends Found in this Post

No tracked trend matches for this post yet.

Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.