Skip to content

Latest commit

 

History

History
41 lines (26 loc) · 1.28 KB

README.md

File metadata and controls

41 lines (26 loc) · 1.28 KB

UXID

MIT License

User eXperience focused IDentifiers (UXIDs) are identifiers which:

  • Describe the resource (aid in debugging and investigation)
  • Work well with copy and paste (double clicking selects the entire ID)
  • Can be shortened for low cardinality resources
  • Are secure against enumeration attacks
  • Can be generated by application code (not tied to the datastore)
  • Are K-sortable (lexicographically sortable by time - works well with datastore indexing)
  • Do not require any coordination (human or automated) at startup, or generation
  • Are very unlikely to collide (more likely with less randomness)
  • Are easily and accurately transmitted to another human using a telephone

Many of the concepts of Stripe IDs have been used in this library.

Usage

Generating UXIDs via the CLI

go run cli/main.go

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/riddler/uxid-rs.

License

The project is available as open source under the terms of the MIT License.