Security
Security
CyberNotes includes robust security features: master password, auto-lock, privacy shield, and Caps Lock manager.
Master Password
Setting a Password
- Go to Settings → Security
- Enable Master Password
- Enter and confirm your password
- Password is hashed with bcrypt before storage
Password Hashing
- bcryptjs (pure JavaScript)
- Salted hashing
- No plaintext storage
Lock Screen
When locked:
- Password required to unlock
- Notes are inaccessible
- Timer shows time since lock
Auto-Lock
Configuration
Automatically lock after inactivity:
| Setting | Range |
|---|---|
| Timeout | 1 minute to 24 hours |
| Disabled | 0 (auto-lock off) |
How It Works
- No keyboard/mouse activity detected
- Countdown reaches timeout
- Lock screen appears
- Password required to continue
Use Case
- Step away from computer
- Prevent unauthorized access
- Shared or public environments
Privacy Shield
What It Does
When the app is hidden or minimized:
- Screen shield activates
- Prevents shoulder surfing
- Hides note content from view
When It Activates
| Trigger | Action |
|---|---|
| Minimize | Shield activates |
| Hide to tray | Shield activates |
| Switch to another app | Shield activates |
Caps Lock Manager
What It Does
Monitors Caps Lock state and:
- Auto-off after inactivity
- Countdown timer before turning off
- Sound notifications
Sound Presets
| Preset | Description |
|---|---|
| Off | No sound |
| Click | Mechanical click |
| Beep | Cyber-beep |
| Chime | Digital chime |
| Glitch | Glitch blip |
Sound Scope
| Scope | Description |
|---|---|
| App | Sound only when CyberNotes focused |
| Global | Sound anytime Caps Lock changes |
Audio Technology
- Web Audio API synthesizer
- Zero external files required
- Pure JavaScript audio generation
Data Encryption
Storage
- SQL.js database stored locally
- Images in local app data
- No cloud transmission
- No server communication
What Stays Local
| Data | Location |
|---|---|
| Database | %APPDATA%\CyberNotes\cybernotes.db |
| Images | %APPDATA%\CyberNotes\images\ |
| Settings | SQL.js settings table |
| Password hash | SQL.js settings table |