Skip to content

waitlist

Public waitlist: an anonymous, rate-limited submit handler collects name, email and optional company, portfolio and message (a honeypot field and per-email dedupe keep bots and repeat submits out, and the response never reveals whether an address was already listed), and mails the submitter a confirmation. SystemAdmins review entries in a list screen and invite or reject them; an invite creates the entrant’s own tenant (or joins one shared tenant) and mails an accept link with the configured membership role, never a global role. Entries are platform-wide, their personal data is crypto-shredding-ready, and the EXT_USER_DATA hooks export and erase entries matching a user’s email.

What this feature needs to run (Requires, top) and the write commands this feature provides (Provides, bottom).

flowchart TB
  n_waitlist["waitlist"]
  subgraph how_reqs["Requires"]
    n_tenant["tenant"]
    n_auth_email_password["auth-email-password"]
    n_user_data_rights["user-data-rights"]
  end
  subgraph how_provides["Provides"]
    n_cmd_waitlist_write_invite(["invite"])
    n_cmd_waitlist_write_reject(["reject"])
    n_cmd_waitlist_write_submit(["submit"])
  end
  n_tenant --> n_waitlist
  n_auth_email_password --> n_waitlist
  n_user_data_rights --> n_waitlist
  n_waitlist --> n_cmd_waitlist_write_invite
  n_waitlist --> n_cmd_waitlist_write_reject
  n_waitlist --> n_cmd_waitlist_write_submit

Provides — write commands this feature registers (dispatch them through the command bus):

  • Registers extension: userData → waitlistEntry