Your Identity

Your account is keyed by a decentralized identifier derived from an Ed25519 public key:

did:key:z6Mk...

With SSH public-key authentication, your existing key is the source. With password registration, the realm generates a keypair and stores the seed encrypted under a password-derived key.

Your local username is not the identity. It is the name one realm uses for the account. The DID is the stable key-shaped identifier beneath it.

> whoami
  did:key:z6Mk...

What persists now

The account stream, username, public key, and authentication method persist in PostgreSQL. World entities, NPC memories, formal speech, and other domain events also live in the event store.

The current TUI keeps inventory, visited rooms, journal clues, display preferences, and conversational state in the connection process. Those session fields are not yet hydrated back into a returning SSH session. The /journal screen is a detective notebook for the active session, not the planned long-form player chronicle.

Across realms

did:key is designed to resolve without a central identity service, and AFP/1 uses the same method for realm identities. Actual player transfer between realm nodes is not implemented. You cannot yet carry an account, inventory, trust record, or journal through a strait in the running branch.

Guard the key

An SSH private key never needs to leave your machine. Losing it means losing the easiest proof for that DID. The repository contains a password-account export mechanism and a one-time key document, but its TUI route still needs repair before it should be relied on.

The clean model is already visible: identity is a key, not a service login. The recovery and migration story is still under construction.