
Security News
ECMAScript 2025 Finalized with Iterator Helpers, Set Methods, RegExp.escape, and More
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Architect.Identities
Advanced tools
Reliable unique ID generation and management for distributed applications. Auto-increment IDs reveal sensitive information. UUIDs (also known as GUIDs) are inefficient as primary keys in a database. Having two different IDs is cumbersome and counterintuitive. We can do better. - For a 93-bit UUID replacement that is efficient as a primary key, use the DistributedId. - For a 128-bit 128-bit UUID replacement with the advantages of the DistributedId and practically no rate limits or collisions, at the cost of more space, use the DistributedId128. - To expose IDs externally in a sensitive environment where zero metadata must be leaked, transform them with PublicIdentities. https://github.com/TheArchitectDev/Architect.Identities Release notes: 2.1.1: - Enhancement: Upgraded package versions. 2.1.0: - Semi-breaking: IPublicIdentityConverter now features additional methods, although the type is generally not user-implemented. - Semi-breaking: HexadecimalIdEncoder's char-based parameters have been renamed from "bytes" to "chars". - Added DistributedId128, a 128-bit (Guid/UInt128) DistributedId variant with practically no rate limits or collisions that also doubles as a version-7 UUID. - Added encoding methods for UInt128. - Added extension methods to transcode between UInt128 and Guid. - Added public identity conversions for UInt128 and Guid. - DistributedIdGeneratorScope and DistributedId128GeneratorScope now expose the CurrentGenerator property, which helps when implementing generators that need to piggyback on the encapsulated generator. 2.0.0: - BREAKING: Removed Fluid. Ambient scopes with startup configuration are now considered undesirable. - BREAKING: Removed ApplicationInstanceId. Ambient scopes with startup configuration are now considered undesirable. - BREAKING: Removed ambient access to IPublicIdentityConverter. Ambient scopes with startup configuration are now considered undesirable. - BREAKING: IdEncoder has been reworked into BinaryIdEncoder, AphanumericIdEncoder, and HexadecimalIdEncoder. - BREAKING: ID decoding methods now throw if the input is too long. This is specially relevant for strings (such as query parameters) where 0123456789123456 and 0123456789123456aaaa should not produce the same ID. - BREAKING: IPublicIdentityConverter now throws on big-endian architectures, instead of risking silent portability issues between architectures. - BREAKING: Now using AmbientContexts 2.0.0. - Semi-breaking: DistributedIds are now always 28 digits, to avoid a change from 27 to 28 digits in the future. Newly generated IDs will be significantly greater than before. Avoid downgrading after upgrading. - DistributedIds can now burst-generate ~128,000 IDs at once before the ~128 IDs per millisecond throttling kicks in. This makes throttling much less likely to be encountered. - DistributedId now stays incremental even under clock adjustments of up to 1 second. (Note that the UTC clock remains unaffected by DST.) - Hexadecimal ID encodings are now supported. - IPublicIdentityConverter now comes with a TestPublicIdentityConverter implementation for unit tests. - Added UnsupportedOSPlatform("browser") to PublicIdentities, due to continuing lack of AES support. 1.0.2: - Now using AmbientContexts 1.1.1, which fixes extremely rare bugs and improves performance. 1.0.1: - Now using AmbientContexts 1.1.0, for a performance improvement.
FAQs
Reliable unique ID generation and management for distributed applications. Auto-increment IDs reveal sensitive information. UUIDs (also known as GUIDs) are inefficient as primary keys in a database. Having two different IDs is cumbersome and counterintuitive. We can do better. - For a 93-bit UUID replacement that is efficient as a primary key, use the DistributedId. - For a 128-bit 128-bit UUID replacement with the advantages of the DistributedId and practically no rate limits or collisions, at the cost of more space, use the DistributedId128. - To expose IDs externally in a sensitive environment where zero metadata must be leaked, transform them with PublicIdentities. https://github.com/TheArchitectDev/Architect.Identities Release notes: 2.1.1: - Enhancement: Upgraded package versions. 2.1.0: - Semi-breaking: IPublicIdentityConverter now features additional methods, although the type is generally not user-implemented. - Semi-breaking: HexadecimalIdEncoder's char-based parameters have been renamed from "bytes" to "chars". - Added DistributedId128, a 128-bit (Guid/UInt128) DistributedId variant with practically no rate limits or collisions that also doubles as a version-7 UUID. - Added encoding methods for UInt128. - Added extension methods to transcode between UInt128 and Guid. - Added public identity conversions for UInt128 and Guid. - DistributedIdGeneratorScope and DistributedId128GeneratorScope now expose the CurrentGenerator property, which helps when implementing generators that need to piggyback on the encapsulated generator. 2.0.0: - BREAKING: Removed Fluid. Ambient scopes with startup configuration are now considered undesirable. - BREAKING: Removed ApplicationInstanceId. Ambient scopes with startup configuration are now considered undesirable. - BREAKING: Removed ambient access to IPublicIdentityConverter. Ambient scopes with startup configuration are now considered undesirable. - BREAKING: IdEncoder has been reworked into BinaryIdEncoder, AphanumericIdEncoder, and HexadecimalIdEncoder. - BREAKING: ID decoding methods now throw if the input is too long. This is specially relevant for strings (such as query parameters) where 0123456789123456 and 0123456789123456aaaa should not produce the same ID. - BREAKING: IPublicIdentityConverter now throws on big-endian architectures, instead of risking silent portability issues between architectures. - BREAKING: Now using AmbientContexts 2.0.0. - Semi-breaking: DistributedIds are now always 28 digits, to avoid a change from 27 to 28 digits in the future. Newly generated IDs will be significantly greater than before. Avoid downgrading after upgrading. - DistributedIds can now burst-generate ~128,000 IDs at once before the ~128 IDs per millisecond throttling kicks in. This makes throttling much less likely to be encountered. - DistributedId now stays incremental even under clock adjustments of up to 1 second. (Note that the UTC clock remains unaffected by DST.) - Hexadecimal ID encodings are now supported. - IPublicIdentityConverter now comes with a TestPublicIdentityConverter implementation for unit tests. - Added UnsupportedOSPlatform("browser") to PublicIdentities, due to continuing lack of AES support. 1.0.2: - Now using AmbientContexts 1.1.1, which fixes extremely rare bugs and improves performance. 1.0.1: - Now using AmbientContexts 1.1.0, for a performance improvement.
We found that architect.identities demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.
Research
North Korean threat actors linked to the Contagious Interview campaign return with 35 new malicious npm packages using a stealthy multi-stage malware loader.