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.
How it fits
Section titled “How it fits”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):
Dependencies
Section titled “Dependencies”- Requires:
tenant,auth-email-password,user-data-rights - Activation: always on (not toggleable)
Extensions & cross-feature APIs
Section titled “Extensions & cross-feature APIs”- Registers extension:
userData→waitlistEntry