Overview
Aurora OS features a production-grade authentication system powered by the BPE/U (Browser Processing Engine/Unit) with persistent credential storage that survives browser cache clears.User credentials are encrypted with AES-GCM and stored across OPFS, IndexedDB, and Service Worker cache for maximum durability
Authentication System
The BPEAuth subsystem provides secure user authentication with modern cryptography.PBKDF2 Hashing
600,000 iterations with SHA-256 and 32-byte salts
Multi-Tier Storage
OPFS → IndexedDB → Service Worker cache → localStorage
Rate Limiting
5 failed attempts trigger exponential lockout (30s, 60s, 120s…)
Session Management
30-minute inactivity timeout with automatic lock screen
Boot Sequence
Aurora OS boots through a realistic hardware-like sequence:Phase 1: BIOS POST
Phase 2: Bootloader
Phase 3: Kernel Initialization
- Memory Manager
- Process Manager
- Filesystem
- Authentication
Phase 4: Init System
Phase 5: Login or OOBE
- First Boot: Out-of-Box Experience (OOBE) - Create first user
- Subsequent Boots: Login screen with user selection
First-Time Setup (OOBE)
When no users exist, Aurora OS launches the Out-of-Box Experience.Setup Steps
Create Account
- Enter username (1-32 alphanumeric characters and underscores)
- Choose display name (shown in UI)
- Select avatar from 20 emoji options
- Create password (minimum 4 characters, 8+ recommended)
- Confirm password
Timezone Setup
- Auto-detected via
Intl.DateTimeFormat - Manual override available
- Confirm time display format
Appearance
- Choose theme: Light, Dark, or System
- Select default wallpaper (11 options)
- Preview your choices
Avatar Options
Choose from 20 colorful emoji avatars:Available Avatars
Available Avatars
🦊 Fox • 🐼 Panda • 🦁 Lion • 🐯 Tiger • 🦄 Unicorn • 🐸 Frog •
🐙 Octopus • 🦋 Butterfly • 🐝 Bee • 🐧 Penguin • 🦉 Owl • 🦅 Eagle •
🐲 Dragon • 👽 Alien • 🤖 Robot • 🎨 Palette • 🎭 Theater • 🎪 Circus •
🚀 Rocket • ⚡ Lightning
Login Screen
After setup, Aurora OS boots to the login screen.Single User Mode
When only one user exists:- Clock and date display (real-time, timezone-aware)
- User avatar with display name
- Password input field
- “Show password” toggle button
- Sign-in button (→)
- Power buttons (Sleep, Restart, Shut Down)
Multi-User Mode
When multiple users exist:- Clock and date display
- User selection cards with:
- Avatar
- Display name
- Role (Administrator or User)
- Click a user to enter password
- “Switch User” button to go back
- Power buttons
Security Features
Password Hashing
Aurora OS uses industry-standard PBKDF2 with aggressive parameters:Rate Limiting
Protection against brute-force attacks:5 Failed Attempts
30-second lockout after 5 incorrect passwords
Exponential Backoff
Lockout doubles: 30s → 60s → 120s → 240s…
Per-Session
Counters reset on successful login
Visual Feedback
Shake animation on incorrect password
Credential Encryption
User credentials are encrypted before storage:Multi-Tier Persistence
Credentials survive even aggressive cache clearing:When saving, credentials are written to all tiers. When loading, Aurora tries each tier in order until successful.
Managing User Accounts
Adding New Users
Administrators can create additional accounts:- Open Settings → Users & Accounts
- Click Add User
- Enter username (must be unique)
- Choose display name and avatar
- Set password (minimum 4 characters)
- Select role: Standard User or Administrator
- Click Create
User Roles
- Administrator
- Standard User
Permissions:
- Create/delete users
- Modify system settings
- Install/remove applications
- Access all user home directories (with proper sudo)
- Change system-wide preferences
- View system logs
- Factory reset
Password Management
Changing Your Password
- Open Settings → Users & Accounts
- Click Change Password under your account
- Enter current password
- Enter new password (min 4 chars, 8+ recommended)
- Confirm new password
- Click Save
- Minimum 4 characters (8+ recommended for security)
- No maximum length
- Any characters allowed (Unicode supported)
- Passwords are case-sensitive
Forgotten Password
If you forget your password: Recovery Options:- Browser DevTools: If you have browser access, you can inspect localStorage/OPFS
- Factory Reset: Erases all users and data (Settings → System → Factory Reset)
- Prevention: Use a password manager or write it down securely
Sessions & Lock Screen
Session Management
After successful login, Aurora OS creates a session:Session Timeout
- Default Timeout: 30 minutes of inactivity
- Behavior: Session lock (not logout) - desktop remains, requires password
- Activity Detection: Mouse movement, keyboard input, app interaction
- Configuration: Settings → Security → Session Timeout (5, 15, 30, 60 min, or Never)
Lock Screen
Lock your session to protect privacy: Trigger Lock:- Press
Super + LorCmd + L - User menu → Lock Screen
- Automatic after inactivity timeout
- Close laptop lid (if detected)
- Real-time clock and date
- Locked user’s avatar and name
- Password prompt
- “Show password” toggle
- No power buttons (different from login screen)
Lock screen keeps all apps running in the background. Logging out closes all applications.
Multi-User Support
Aurora OS fully supports multiple concurrent users (though only one active session).User Isolation
Home Directories
Each user has
/home/username with read/write permissionsProcess Ownership
Processes run with user’s UID and permission checks
File Permissions
Standard Unix permissions (rwx for user/group/other)
App Sandboxing
Apps run in user context with MAC policy enforcement
Switching Users
Currently, Aurora OS supports one active session at a time:- Log out current user (closes all apps)
- Return to login screen
- Select different user
- Enter password
- Boot to new user’s desktop
User Data & Files
Home Directory Structure
Each user gets a home directory at/home/username:
Application Data
Apps store data in user-specific locations:- Notes:
localStoragekeyaurora-notes(JSON array) - Tasks:
localStoragekeyaurora-tasks(JSON array) - Settings:
localStoragekeys prefixed withaurora-* - Browser: IndexedDB
aurora-browserdatabase - Music: Playlist in
localStoragekeyaurora-music-playlist
Data is scoped to the browser origin and survives across sessions and cache clears (OPFS-backed)
System Logs
Authentication events are logged to/var/log/auth.log:
Factory Reset
Completely erase all user accounts and data.Performing Factory Reset
- Open Settings → System
- Scroll to Factory Reset
- Read the warning carefully
- Enter admin password to confirm
- Click Reset Aurora OS
- System will:
- Delete all credentials from OPFS, IndexedDB, SW cache, localStorage
- Erase machine ID
- Clear all user data
- Reset to OOBE state
- Page reloads to Out-of-Box Experience
What Gets Erased
- ✅ All user accounts and passwords
- ✅ All home directory contents
- ✅ Application data (Notes, Tasks, Browser history, etc.)
- ✅ System settings and preferences
- ✅ Credential encryption keys
- ✅ Session tokens
- ✅ Machine ID
What Survives
- ✅ Operating system code (loaded from HTML/JS files)
- ✅ Built-in applications (part of OS)
- ❌ Installed apps from App Store (erased)
Security Best Practices
Strong Passwords
Use 12+ characters with mix of letters, numbers, symbols
Unique Passwords
Don’t reuse passwords from other services
Lock When Away
Press
Super + L when leaving your deskRegular Updates
Keep Aurora OS updated (check Settings → System → Updates)
Review Logs
Check
/var/log/auth.log for suspicious activityLimit Admin Accounts
Only make users admin if they need elevated privileges
Advanced: BPE/U Architecture
For developers and advanced users interested in the authentication implementation:Components
- BPEAuth
- BPELogin
- BPEOOBE
- BPEBoot
Core authentication module with:
- PBKDF2 password hashing (600k iterations)
- Session management with tokens
- Multi-tier credential persistence
- Rate limiting and lockout
- User CRUD operations