Registration Modes
Control how users can register for your Anchor instance with three registration modes:- Enabled
- Review
- Disabled
Open RegistrationUsers can register freely and immediately access the system.Best for:
- Public-facing instances
- Small teams where all members are trusted
- Development and testing environments
- Users register via
/api/auth/registeror OIDC - Account status is set to
active - Access and refresh tokens are issued immediately
- User can log in and use the system right away
This is the default mode when no configuration is specified.
Configuration Methods
- Environment Variable
- Admin Panel
Lock the registration mode using the Characteristics:
USER_SIGNUP environment variable:.env
- Takes precedence over database settings
- Cannot be changed via admin panel when set
- Useful for enforcing policies across deployments
- Removed variable allows admin panel control
If
USER_SIGNUP is set, the admin panel will show the mode as locked and read-only.Checking Registration Mode
Get the current registration mode (public endpoint):Get Registration Mode
User Statuses
- Active
- Pending
Status:
activeDescription: User has full access to the system.How users become active:- Registration with mode
enabled - Administrator approval (from
pending) - OIDC login with mode
enabled - First user registration (auto-admin)
- Can log in with credentials or OIDC
- Can create and access notes
- Can generate API tokens
- Can update profile
Approving Users
Administrators can approve pending users through the admin panel:Currently, users are not automatically notified when approved. Consider implementing email notifications for better user experience.
Special Cases
First User (Bootstrap Admin)
The first user to register becomes an administrator automatically, regardless of registration mode:First User Logic
OIDC Users with Registration Disabled
WhenUSER_SIGNUP=disabled, OIDC authentication still creates new users on first login:
- Behavior matches the disabled mode for local registration
- OIDC users are auto-created with
activestatus on first login - This allows SSO users while blocking local registration
- Disable OIDC
- Configure your identity provider to restrict access
- Use firewall rules to limit access
API Reference
Get Registration Settings (Admin)
Get Settings
| Field | Description |
|---|---|
mode | Current registration mode |
isLocked | Whether the mode is locked by environment variable |
source | Configuration source: env, database, or default |
Update Registration Mode (Admin)
Update Mode
User List Management
Administrators can view and manage all users:List Users (Admin)
Best Practices
Production Deployments
Production Deployments
- Use
reviewordisabledmode for production - Set
USER_SIGNUPenvironment variable to lock the policy - Register the first admin user before opening to users
- Document your approval process for pending users
OIDC Integration
OIDC Integration
- Consider using
reviewmode even with OIDC - Configure identity provider to restrict access
- Use
DISABLE_INTERNAL_AUTH=truefor SSO-only access - Test account linking with existing users
User Approval Workflow
User Approval Workflow
- Check pending users regularly
- Verify email domains match your organization
- Document approval criteria for consistency
- Consider implementing approval notifications
Security Considerations
Security Considerations
- Lock registration mode with environment variable in production
- Monitor user creation patterns
- Use OIDC for better identity verification
- Implement rate limiting on registration endpoints
Implementation Reference
User management implementation can be found in:- Settings service:
server/src/settings/settings.service.ts - Auth service:
server/src/auth/auth.service.ts - OIDC user service:
server/src/auth/oidc/oidc-user.service.ts
Next Steps
Local Authentication
Configure username and password authentication
OIDC Setup
Integrate with identity providers
API Reference
Explore authentication API endpoints