ShrubberyDocs
Concept

Guest

A counterparty with no Shrubbery account who accepts or refuses a commitment via a signed public link.

01 · Definition

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).

02 · Role

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.

03 · Lifecycle

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_email set; status Pending_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 assignee to the new user id and clears guest_assignee_email; past guest audit rows attach actor_user_id.
04 · Related

Last updated: 24 July 2026