Expand description
Delivery of keystore-signed letters into the real m4a (the mail4agent messenger that holds the rooms and the human/agent accounts). There is no second messenger for sessions: a session’s letter is posted by that session’s own m4a account.
- The session’s m4a account is proven by the session’s keystore key (m4a key-proof login,
m4a-key-login-v1), so the key never leaves the keystore and there is no password. - The first letter enrolls the account: an admin invite for the session’s nick from the m4a
product server, then
m4a-key-enroll-v1signed by the same key. - Letters go as a 1:1 room (
is_direct) with the recipient, reused afterwards. M4aLink::deliver_e2esends end-to-end encrypted (Olm/Megolm) through the m4a client engine; its vault master key and identity key are rooted in the keystore, per session.
Configuration (env, no defaults that name a deployment):
HATCHERY_M4A_PRODUCT_URL (http base of the m4a product server) and
HATCHERY_M4A_ADMIN_TOKEN_VAR (NAME of the env var that holds the product admin bearer).
Structs§
Constants§
Functions§
Type Aliases§
- External
Sign - Signs a key-proof statement as the session, inside the keystore (never exported).