Identity API
ENTITY identity is a persistent sovereign root, not a login account. The v3.4.2 reference implementation uses signed manifests, Ed25519 operational keys, dedicated recovery keys, explicit key rotation and optional hardware key protection.
Identifier forms
The canonical runtime accepts ent1- and ent2- Entity IDs with a fixed base32 form. New identities are created as ent2- identifiers. Supported public entity types include person, family, business, product, application, system, community, service, organization and project.
Create an Entity
EntityIdentityVault.create(display_name, entity_type, aliases, metadata) creates a new identity manifest plus two Ed25519 key roles: an operational signing key for assertion/authentication/contract use and a separate recovery key. The signed manifest records aliases, metadata, verification methods, the active signing key, recovery policy, crypto-agility metadata, creation time and manifest revision.
Manifest verification
verify_manifest() validates schema, Entity ID syntax, active verification method, signature suite, signature, and—where present—rotation or recovery continuity proofs. Invalid or conflicting public manifests fail closed.
Signing records
sign(entity_id, payload) produces an entity-signature-record-v2 containing the Entity ID, active key ID, suite, signing time and payload SHA-256. A bounded bulk signing session can cache a validated operational key while preserving the same record schema.
Rotation
rotate_signing_key() retires the previous operational key, creates a replacement, increments the manifest revision, binds the new manifest to the previous manifest hash, signs a rotation proof with the old key and signs the new manifest with the new key. The previous private operational key is then removed from local key material.
Recovery
Recovery uses a verification method explicitly designated for the recovery purpose. A recovered operational key is not accepted merely because a new key exists; the manifest carries a signed recovery continuity proof tied to the Entity ID, new key and manifest revision.
Application rule
Do not treat a database user ID, OAuth account, hostname, wallet address, application installation or device as the sovereign Entity unless an explicit ENTITY relationship establishes the required authority. Applications should request scoped authorization from an Entity rather than impersonating the Entity root.
Canonical protocol identity is separate
The canonical ENTITY protocol identity and the Shawn Blackmore → Blackmore Technology Group → ENTITY release lineage identify the protocol origin. They do not make BTG the owner or controller of downstream user identities or assets.