@paramira/identity
License: MIT. Generic: Ed25519 keypair/signing primitives.
Source: packages/identity · public repo: phuman/identity · on npm as @paramira/identity
What it does
Ed25519 did:iwacu: identity primitives — the same keypair, signing, and DID-encoding logic every paramira app (abantu, iwacu, isoko) and services/directory share, in one dependency-light package.
A DID here is did:iwacu:<base64url-encoded Ed25519 public key> — the iwacu in the name is historical (it originated there); the format is used identically across the whole paramira family. Key custody stays entirely with the caller — this package only turns keys into DIDs and bytes into signatures. It never talks to the network.
If you're building a relying-party app that just needs to verify a paramira identity signed in, you likely want @paramira/auth-sdk instead, which uses this package internally.
Used by
Apps: abantu, companion, isoko-web, iwacu-nuxt
Services: directory
Packages: agreements, auth-sdk, community-identity, community-log, device-link, did-e2e, directory-listings, family, identity-scope, inquiry-board, inzira, isoko-client, one-time-mailbox, portable-entitlements, protocol-core, testimony, web-session
In tests or development only: capture-inbox, clan, community-core, link-room, relay-envelope, signed-request.
Uses
- aes-gcm
@noble/ed25519@noble/hashes
historical-date
Dates as oral history gives them — exact, a year, around a year, a range, or relative to an era ("the year we fled") — with the verbatim text kept, chronological sorting, overlap, and coarsening to a month, year or decade that never adds precision.
identity-scope
Several identities on one device or origin: a registry of them (public data only), the current one, and storage names (IndexedDB, localStorage, files) scoped per identity, with the first identity keeping today's unscoped names.