Invitation-only sign-up
Nobody can self-register. People join Dylog through invitations.
There is no public registration form. Every new person arrives through an invitation created by staff or by an organization owner or admin.
Flow
- Invite. From the organization's People page (or
POST /api/auth/organization/invite-member) an admin enters an email and a role. Accounts stores a pending invitation, valid for seven days, and emails a link of the formhttps://accounts.dylog.ai/invite/<id>. - Open the link.
/invite/<id>validates the invitation, stores it in a one-hourdylog.invitecookie, and sends a new person to the sign-up form or an existing person to sign in. - Create the account. Sign-up is accepted only when the cookie matches a pending, unexpired invitation for the same email. Because the invitation proved the mailbox, the account is created already email-verified and the person lands directly in the organization.
- Accept. Existing users accept from the same page; their membership row is created with the invited role.
Re-inviting an address cancels the previous pending invitation. Invitations can be cancelled from the People page at any time.
What the API rejects
| Request | Result |
|---|---|
POST /api/auth/sign-up/email without invite | 403 INVITATION_REQUIRED |
| Invitation for a different email | 403 INVITATION_REQUIRED |
| Expired or cancelled invitation link | redirect to sign-in with error |
Staff can still create users directly from the Better Auth Infra dashboard when an invitation email is not practical.