Patterns
Signup and verification
Guide new users to confirmed email before entering the private workspace.
On this page
Task sequence
- Enter name, email and a password of at least eight characters.
- Submit to create the pending account.
- Read the inbox-confirmation prompt.
- Follow the verification email, then sign in.
Data and persistence
The source creates a user and bcrypt credential, hashes an email token and gives it 24-hour expiry, then calls Brevo. Verification handling and optional Kit sync are separate source integrations. The capture replaces the request with local success and sends no email.
Failure and recovery
Existing addresses yield conflict; short passwords are rejected. Provider failures and partial writes need operational recovery beyond the UI. Google markup is hidden in the source.
Acceptance criteria
- Email fields are associated with labels.
- Confirmation copy is not a receipt assertion.
- Offline screenshots exclude Turnstile rather than falsely showing verification passed.
Source references
| Repository file | Responsibility |
|---|---|
| app/auth/sign-up/SignUpClient.tsx | Form |
| app/api/auth/sign-up/route.ts | Signup pipeline |
| app/api/auth/verify-email/route.ts | Verification |
Examples from the app
Actual Startboard source UI with isolated fictional records; both native themes at 2× resolution or higher. No live integrations or account writes. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-08 · Revision 08fa2595a668 · Documentation v1.0.0