By default, anyone who logs into your app immediately gets full user access. That works well for most apps — but sometimes you need more control. A members-only community, a private tool for a specific team, a beta you are rolling out slowly — these all need a way to let people request access without granting it automatically.
User approval gives you that control. Users log in and submit an access request. You review the list and approve or reject each person individually. Only approved users can use the app. Everyone else sees a holding screen until you act.
How it works
When your app includes user approval, the flow for a new visitor looks like this:
- The visitor logs in with Internet Identity.
- The app checks whether they are approved.
- If not yet approved, they see a screen explaining that access is pending, with a button to request access.
- Once they request access, their status becomes pending and they wait.
- You log in as admin, open the user management panel, and approve or reject them.
- An approved user gets full access on their next visit. A rejected user sees a rejected status screen.
You, as admin, are automatically approved and always have full access — you never go through the approval queue for your own app.
Managing approvals
Open your app's admin panel to see the full list of users and their current status. Each user shows as pending, approved, or rejected. You can change any user's status at any time — approve a pending user, reject an approved one, or reset a rejected user back to pending.
There is no notification sent to users when their status changes. They find out when they next open the app and the access check passes.
How to add it to your app
Ask for it in the chat when building your app:
- "Add an approval system — users should have to request access before they can use the app"
- "Make this a private app where I manually approve each new user"
- "Build a members-only community where I control who gets in"
The AI generates the full system: the request-access screen for new users, the approval queue in the admin panel, and the access checks on all protected features. You do not need to configure anything.
Frequently asked questions
What do users see while they are waiting for approval?
They see a screen showing their status as pending, with a message that their request has been received. They cannot access any restricted features of the app until approved.
Can I approve users in bulk?
The default generated interface approves users one at a time. If you need bulk approval, ask the AI to add that capability: "Add a button to approve all pending users at once."
What happens if I reject someone — can they request access again?
A rejected user cannot submit a new access request because their status is already set. If you want to allow someone to try again, change their status back to pending from the admin panel.
Can a user be approved but have a restricted role?
Yes. Approval and roles are separate. Approval controls whether a user can access the app at all. Roles (admin, user) control what they can do inside it. You can approve someone and still limit them to a basic user role. See How User Accounts and Roles Work for details on roles.
Is user approval available on all plans?
Yes. There is no plan requirement for user approval.
Can I use user approval and invite links in the same app?
Yes. They are independent features. You could build an app where some users request access through the approval queue, and others are invited in directly via invite links. Ask the AI to include both when describing your app.