Skip to main content

Crate hatchery_keystore

Crate hatchery_keystore 

Source
Expand description

Hatchery keystore: the hq-core authority of the key tree (spec specs/keystore-placement-2026-10-16.md).

  • The crypto (derivation, sealing, non-exportable signing, capabilities) is tesserax_keytree. This crate holds hatchery’s policy only: accounts, nodes, sessions, grants per transport, human approval, and delegation of attenuated capabilities to consumers (m4a, g4a) that run inside hatchery.
  • Account root = the human’s passkey PRF. Another human’s passkey opens only their branch.
  • Session keys are generated here and never leave: no getter, no export.
  • Child sessions: a NEW identity with grants ⊆ the parent’s, only with spawn_child.

Compatibility with 0.2.15 (hatchery-m4a-signer): the salts, labels, sealed layout and the signed message domain are byte-identical (legacy_v1); the old right names are accepted as aliases of the namespaced grants.

Re-exports§

pub use legacy_v1::PRF_SALT;

Modules§

grants
Grants, namespaced by the transport they unlock. Names come from the consumers (m4a-keys, gate4agent-keys); hatchery is the authority.
keyring
Many humans, one keystore host: one sealed branch per account, each unlocked only by that account’s passkey-derived secret (tesserax_keytree::MultiRoot).
legacy_v1
Byte-identical constants of the 0.2.15 store. Changing any of them makes every sealed store and every browser PRF evaluation unreadable. A v2 needs an explicit re-seal.

Structs§

HumanKey
The human’s account root (from the passkey PRF). Zeroized on drop.
Provisioned
What the node receives at provision. token is held by the node proxy, never put in PTY.
Signature
Signer
One account’s branch of the keystore (kept as Signer for 0.2.15 callers).

Enums§

SignerError

Constants§

RIGHT_RECV
RIGHT_RUN_CLOSE
RIGHT_SEND
Deprecated 0.2.15 names; use grants.
RIGHT_SPAWN_CHILD

Functions§

default_rights
Grants a fresh session gets without any human approval.
domain_message
What a signature covers: domain, nick, operation (wire name), payload.
verify_signature

Type Aliases§

Keystore
KeystoreError