Skip to main content
Two populations share one user table, and they reach different surfaces. Organizers belong to an organization and use the dashboard. Speakers do not belong to one — they are created when they submit a proposal, and they use the portal.

Getting a token

Using it

Both forms work. A script should send the bearer token:
The browser uses an HttpOnly smolboard_session cookie instead, set at sign-in. Requests from a browser therefore need no Authorization header.

What a token can do

Nothing implicitly. Every function re-checks membership and role against the row it is about to touch, so a token for one organization cannot read or write another’s data — including through an id you supply directly. Speakers reach only their own submissions, tasks, and uploads.
Registering an address returns a session immediately, but that address is not yet verified. Actions that publish on someone’s behalf — completing an onboarding task, editing the public speaker profile, uploading a deliverable — require a verified inbox. This is what stops someone registering another person’s address and speaking as them.