Skip to content

People & Access

Manage who can access your event site, organize attendees into groups, and handle access requests.

Quick outcome

The people system controls authentication and authorization for your event. You manage an allowed email list, handle access requests from new users, and organize people into groups that can be used for permission targeting on documents, schedule items, and content.

Setup

Allowed emails

The allowed email list determines who can sign in to your event. Set it through:

  1. Admin UI: /admin/people → add individual emails
  2. Settings: /admin/settings → edit the allowedEmails JSON array

When someone tries to sign in:

  • If their email is on the allowed list → OTP sent, they can sign in
  • If their email is not on the list → they're directed to request access

Admin emails

Admin emails get full access to the /admin dashboard. The initial admin is set when the event is created in the platform UI. Add more admins:

  1. In /admin/settings → add to the adminEmails array
  2. Through the people management UI

Access request flow

For users not on the allowed list:

  1. User visits /request-access and submits their email and name
  2. An access_request record is created with status pending
  3. Organizer reviews requests in /admin/people
  4. Organizer approves → email added to allowed list, status set to approved
  5. Organizer denies → status set to denied
  6. Approved users can now sign in via /auth

Day-to-day management

Managing people

Navigate to /admin/people to see all known people with their status:

StatusMeaning
configEmail on the allowed list (added by organizer)
approvedAccess request approved
pendingAccess request waiting for review
deniedAccess request denied

Adding people

At /admin/people/new-person:

  • Enter email address and optional name
  • The person is immediately added to the allowed list
  • They can sign in right away

Creating groups

Navigate to /admin/people/new-group:

FieldDescription
NameGroup name (e.g., "Family A", "VIP", "Activity Leaders")
DescriptionOptional description
ColorHex color for badge display in the UI

Assigning group membership

From the people management page:

  • Add emails to groups
  • Remove emails from groups
  • View all groups and their members

Using groups for permissions

Groups can be used to restrict access to:

FeatureHow it works
DocumentsAdd group to document_permissions → only group members see the document
Schedule itemsAdd group to schedule_item_permissions → only group members see the item
Content sectionsAdd group to content_section_permissions → only group members see the section

Example: Create a "Golf Outing" group, add interested attendees, then restrict the golf schedule items and related documents to that group.

Attendee experience

Signing in

Attendees use the email OTP flow at /auth:

  1. Enter email address
  2. Receive 6-digit code via email
  3. Enter code to sign in
  4. Redirected to their intended destination

Requesting access

If not on the allowed list, attendees can visit /request-access:

  1. Enter email and name
  2. Submit request
  3. Wait for organizer approval
  4. Once approved, sign in normally

Profile

Signed-in attendees can view their profile at /profile:

  • Current email and sign-in status
  • Link to their RSVP (if submitted)
  • Quick links to event features

Troubleshooting

SymptomFix
User can't sign inVerify their email is on the allowed list or has an approved access request
No OTP email receivedCheck spam folder; verify Mailgun credentials and sender domain
OTP code invalidRequest a new code — codes expire after 10 minutes and allow only 3 attempts
Access still denied after approvalEnsure the approval added the email to the allowed list
Group permissions not workingVerify the email is a member of the group and the permission is correctly assigned
Duplicate person recordsClean up duplicates in the people management UI
Admin access deniedVerify email is in adminEmails and you're signed in with that email

Next steps

  • Event Settings — manage allowed and admin email lists
  • Documents — use groups for document permissions
  • Schedule — use groups for schedule item permissions

Released under the MIT License.