Skip to content
Me2eM

Multi-Context Identity

One seed, many identities — work, portfolio, home, personal — a separate Handle per context, each with its own keypair. No linking identifier, no user database, deterministic derivation on every device.

One seed — many faces Isolated keypairs No linking identifier Server holds nothing

What you can build

A user identity that stays separate across every context — work, personal, home, devices — with no central database linking them. Each Handle is a distinct Ed25519 keypair derived from the same seed, and every device recomputes the same keys from the seed phrase.

How it works

The user derives a Handle per context. Each Handle carries its own keypair, its own attestation chain, and its own sessions. Applications see only the Handle the user presents and verify against the root public key.

const work = await identity.deriveHandle('work');
const home = await identity.deriveHandle('home');
const devices = await identity.deriveHandle('devices');

Benefits

  • Isolation by construction. A compromise of one Handle never reveals another — separate keys, separate grants.
  • Stateless. Servers verify sessions with the root public key alone; no user database to maintain or protect.
  • One-line new context. A new persona is one derivation — no registration, no approval, no data to leak.
  • Deterministic. Same seed, same Handle — always. One identity on every device, nothing to sync.

Trade-offs

  • Lost seed = lost identity by design. There is no recovery — the seed is the only permanent carrier of identity.
  • User education. Personas need explanation: users must understand when to present which Handle and why isolation matters.
  • Alpha. Package APIs are pre-1.0; pin versions.

References

Your scenario not listed here?

The protocol's terms are domain-neutral — new scenarios map to the same primitives. Start with a quick start or read how attestations carry delegatable trust.