NNocturne/ Legal
Security Disclosure

Security

A concrete, technical account of Nocturne's zero-knowledge architecture — what protects your data, and what we can and cannot see.

Effective June 1, 2026Last updated June 1, 20262 min read
01

Our security model

Nocturne's privacy guarantees are structural, not promotional. The service is designed so that the server stores data it cannot read. This page documents how that works in concrete terms.

Your vault passphrase derives the key that wraps your Master Key. That passphrase never leaves your browser, and the Master Key is created so that it can never be exported.

02

Key hierarchy

3-Tier key hierarchy
Passphrase (your memory only)
↓ PBKDF2 · 310,000 iterations · SHA-256
KEK (memory only, discarded after unwrap)
↓ AES-KW unwrap
Master Key (non-extractable CryptoKey)
↓ AES-GCM 256 · unique IV per file
Encrypted .bin blob (stored in Supabase)
03

Encryption specifics

  • Key derivation — PBKDF2 with 310,000 iterations and SHA-256, run in a Web Worker so it never blocks or touches the main thread
  • Master Key — an AES-GCM 256 key created with extractable: false, so the browser will not let it be exported by us or anyone
  • File encryption — AES-GCM 256 with a unique initialization vector per file
  • Key wrapping — your Master Key is wrapped with a Key-Encryption Key using AES-KW and unwrapped only in memory
04

On-device processing

On the Free tier, Whisper (speech-to-text) and BERT (keyword modeling) run locally in your browser via WebAssembly. Lecture audio and transcript text are never uploaded for this processing.

05

Infrastructure and access controls

  • Row-Level Security is enforced on every database table and storage bucket, so a row is only ever reachable by its owner
  • Encryption in transit (TLS) and at rest across all infrastructure
  • Least-privilege access for our small team, with no path to decrypt user content
  • Encrypted blobs are stored as opaque files with no readable metadata about their contents
06

What we can and cannot see

Nocturne can see
  • That an account exists, and its email
  • That an encrypted blob exists, and its size
  • Aggregate, non-identifying usage counts
Nocturne can never see
  • Your passphrase or Recovery Kit
  • Your Master Key
  • The decrypted contents of anything you upload
07

No backdoor

No password reset exists. There is no backdoor. This is the direct cost of true zero-knowledge encryption: if you lose both your passphrase and your Recovery Kit, no one — including us — can recover your data. We consider that a feature, which is why the Recovery Kit step is built into onboarding.

08

Responsible disclosure

We welcome reports from security researchers. If you believe you've found a vulnerability, email security@nocturne.app with details and steps to reproduce. We commit to acknowledging reports promptly, working with you in good faith, and not pursuing legal action for good-faith research that respects user privacy and avoids data destruction.

09

Subprocessors

A current list of subprocessors is maintained in our Privacy Policy. Each is limited to the minimal data required to operate the service and never receives decrypted content.

© 2026 Nocturne Labs, Inc.

This document is a design artifact for the Nocturne product and is not legal advice.