Guest
A counterparty with no Shrubbery account who accepts or refuses a commitment via a signed public link.
Definition
A Guest is a person who is not (yet) a signed-in Shrubbery user but still needs to consent to a commitment. The Lead addresses them by email; the Guest responds on /handshake/[token] without creating an account. Audit events record actor_kind = guest and the guest email.
Avoid: external user, anonymous assignee, visitor (too vague — Guest is the domain role for no-account counterparties).
Role
Guest closes the consent gap when the assignee is outside the org or has never signed up. Until the Guest accepts, the row is a proposal — same consent-first rule as an in-app Knight. Guests do not open the Accord, do not propose Counter-Offers, and do not set acceptance Sentiment. After they respond, they can create an account; matching email claims the row onto their user id.
The Lead still owns the proposal (assigner). On the row, assignee stays null while guest_assignee_email holds the address until claim.
Lifecycle
Guest is a role on a commitment path, not a Shrubbery status:
- Addressed — Lead sends to an email with no matching user;
guest_assignee_emailset; statusPending_Handshake. - Responded — Guest accepts (
Active) or refuses (Refused) via the public link; Guest Token marked used. - Claimed — Guest signs up with the same email; trigger sets
assigneeto the new user id and clearsguest_assignee_email; past guest audit rows attachactor_user_id.
Related guides
Last updated: 24 July 2026