Skip to content
← Documentation

Security

Security

CyberNotes includes robust security features: master password, auto-lock, privacy shield, and Caps Lock manager.


Master Password

Setting a Password

  1. Go to Settings → Security
  2. Enable Master Password
  3. Enter and confirm your password
  4. 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

  1. No keyboard/mouse activity detected
  2. Countdown reaches timeout
  3. Lock screen appears
  4. 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