The sign-up flow
Inclosed mode the form is not shown. If creating the team or recording the sign-up fails after the account was created, the account and team are deleted again, so the person can retry with the same email.
The form
Subdomains need no entry of their own: the collect endpoint accepts events from a domain and every subdomain of it.
Sign-up also has three limits against abuse:
- A hidden field. People never see it. A submission that fills it in is refused.
- Five attempts per IP address per hour. Counted in the dashboard’s memory, in addition to a rate limit at the edge on
POST /signup. - A daily cap on sign-ups, described under Modes.
The Stellar link check
The form accepts exactly one link, in one of three forms:
Muxed (
M…) addresses, other key types, http:// links and other hosts are refused.
Modes
The mode is set withENROLLMENT_MODE in the dashboard’s environment. The banner at the top of Enrollment shows the mode in effect.
Daily cap.
ENROLLMENT_DAILY_LIMIT sets how many sign-ups are accepted per UTC day, 25 by default. Every sign-up recorded that day counts, whatever its status. Once the cap is reached, the form refuses new sign-ups until the next UTC day.
Review the queue
Enrollment has three parts:- Waiting for approval, with a count. Each pending sign-up shows the project name, the contact email, the date, the domains and the Stellar link. Account and contract addresses open on stellar.expert. URLs open as given.
- Enrolled projects: every project with its domains, Added by (“Sign-up” or “Operator”) and the date it was created.
- Recent decisions: the latest 50, with project, contact, decision, who decided and when.
1
Check the sign-up
Open the Stellar link and confirm it describes this project. Open each domain and confirm it is the project’s site. Look under Enrolled projects for the same project enrolled twice.
2
Approve it
Select Approve. Lumenstat creates one Umami website per domain, skipping any domain that already has one, creates the project’s API tenant, and records the approval with your username. The waiting banner disappears from the project’s pages and its snippets appear on Setup.
3
Or reject it, with a reason
Type a reason in the field next to Reject, then select Reject. The reason is optional and limited to 300 characters. It is shown to the project on every page: “This sign-up was not approved: your reason”. No website and no API tenant are created.
Limits
- The Stellar link is not proof of ownership. See the warning above. In
openmode, nobody reviews it before tracking starts. - A rejected sign-up keeps its account. The owner can still sign in and sees an empty project with the rejection banner. Suspending and removing projects is planned for Milestone 2.
- The per-IP limit lives in memory. It resets when the dashboard restarts and is not shared between instances.
- Domains after sign-up are added by an operator. Projects cannot add a domain themselves yet.