---
title: Event App access
description: Who can open the app, how they sign in, and when the gate is open.
sidebar:
  order: 12
---

Access is three separate settings: **who**, **when**, and **how**.

## Who — access mode

| Mode | Code | Behavior |
| --- | --- | --- |
| Public | `public` | Anyone who can sign in |
| Event code | `event_code` | Must enter the event code first |
| Invite only | `invite_only` | Must already be on the attendee list |

Default is `public`.

## When — login window

The app can limit sign-in to a time window around the event. Outside that window, eligible people still see a closed state instead of the home screen.

## How — sign-in

On **public** events you choose an OTP policy:

| Policy | Code | Behavior |
| --- | --- | --- |
| Always send (default) | `always_send` | Unknown emails get a user + code |
| Only known | `only_known` | Code is sent only if the email already exists |

`event_code` and `invite_only` are already gated, so the unknown-email policy does not apply there.

Optional methods:

- Email one-time code (`login_with_email`)
- Google (`login_with_google`)
- Single login — signing in elsewhere ends other sessions

## Eligibility

Even with the right mode, these RSVP states cannot use the app:

- `pending_approval`
- `declined`
- `waitlisted`

## Preview

Organizers can preview the app from setup. Preview should greet them as themselves, not as a fake attendee, and must not trap them in a return-to login loop.

## Unpublished apps

An unpublished Event App is hidden from the public event website. Publish from the last wizard step.
