Skip to content

Security Details

This page provides technical details about how Sidvy implements note encryption for users who want to understand the security model.

Sidvy uses client-side encryption, meaning all cryptographic operations happen in your browser before data is transmitted.

Your Note → Browser Encrypts → Encrypted Data → Server Storage
Your Screen ← Browser Decrypts ← Encrypted Data ← Server Fetch
  • Algorithm: AES-256-GCM (Advanced Encryption Standard, Galois/Counter Mode)
  • Key Size: 256 bits
  • Mode: GCM provides both encryption and authentication
  • IV/Nonce: Random 12 bytes generated per encryption
  • Algorithm: PBKDF2 (Password-Based Key Derivation Function 2)
  • Hash: SHA-256
  • Iterations: 600,000 (per OWASP 2024 recommendations)
  • Salt: Random 32 bytes (256 bits), unique per note
DataEncryptedReason
Note contentYesThis is your sensitive data
Note titleNoEnables finding notes without decryption
Created/updated datesNoMetadata for sorting
Note IDNoRequired for database operations

When you enter a password:

  1. The derived key is stored in browser memory
  2. Associated with the note ID
  3. Cleared when you close the browser
  • Convenient: don’t re-enter password repeatedly
  • Risk: Anyone with access to your open browser session can view decrypted notes
  • Mitigation: Lock your computer, close browser when away

The cache is cleared when:

  • You close the browser tab/window
  • You explicitly log out
  • Session expires

Encryption uses the Web Crypto API:

  • Native browser implementation
  • Hardware-accelerated where available
  • More secure than JavaScript crypto libraries
  • Not accessible to JavaScript after key derivation

Sidvy servers:

  • Never receive your password
  • Never receive decryption keys
  • Only receive encrypted ciphertext
  • Cannot decrypt your notes

Even in case of a server breach, encrypted note contents remain protected.

By design, Sidvy cannot recover your password or decrypt notes without it. This is a feature, not a bug—it means we can’t access your data.

Encrypted content cannot be searched. This is inherent to encryption—searching would require decryption.

You must trust:

  • Your browser’s Web Crypto implementation
  • That the JavaScript code running is authentic
  • Your device’s security
  1. Use a unique password (not used elsewhere)
  2. Minimum 12 characters
  3. Mix character types
  4. Consider a passphrase: correct-horse-battery-staple
  1. Lock your computer when away
  2. Use full-disk encryption on your device
  3. Be cautious on shared/public computers
  4. Keep your browser updated

Encrypted notes are omitted from workspace exports. To back up encrypted notes, you must decrypt them first and then export them individually. If you export a decrypted note, the export contains unencrypted content—store exports securely.