Security

How Claspt protects your data — no black boxes.

No black boxes. No "trust us." Here is exactly how your vault is secured, what's encrypted, what isn't, and why.

Steel bank vault door

Key derivation hierarchy

Two independent paths protect your vault. Your master password derives a key that encrypts the master key. The master key encrypts each individual secret block with its own unique nonce.

Password Path
Master Password You enter this
Argon2id 64MB memory, 3 iterations, 4 lanes
Password-derived key Encrypts vault.key file
encrypts / decrypts
Encryption Path
Master Key 256-bit random via ring::rand
Secret Block (unique nonce) AES-256-GCM per block
Secret Block (unique nonce) AES-256-GCM per block
Every other secret block Each with its own 96-bit nonce

Cryptographic specifications

Every cryptographic decision, documented. No proprietary algorithms, no novel cryptography — only battle-tested primitives.

Parameter Value Notes
Cipher AES-256-GCM Authenticated encryption — integrity and confidentiality in a single pass
Key derivation Argon2id 64 MB memory, 3 iterations, 4 parallel lanes. Resistant to GPU and ASIC attacks
Nonce 96-bit random Unique per secret block, generated via CSPRNG. Never reused
Master key 256-bit Generated via ring::rand::SystemRandom — OS-level CSPRNG
Implementation ring crate Rust bindings to BoringSSL. FIPS-validated primitives, constant-time operations
Memory safety zeroize crate All key material zeroed from memory after use. Compiler cannot optimize it away
Biometric storage OS Keychain macOS Keychain, Windows Credential Manager, Linux Secret Service API

Claspt uses no proprietary or novel cryptography. Every primitive is a well-audited, widely deployed standard. We do not invent cryptographic algorithms — we compose them correctly.


Threat Model

What happens if someone
gets your files?

We assume the worst: an attacker has read access to your entire vault directory but does not have your master password.

Laptop with glowing security shield

What they see

  • Markdown files with your notes in plaintext
  • Encrypted blobs where secret blocks are stored
  • Page titles and file names
  • Secret block labels (e.g., "Work VPN")
  • YAML frontmatter metadata

What they cannot do

  • Decrypt any secret block content without the master key
  • Recover the master key from the encrypted vault.key file
  • Brute-force Argon2id — 64 MB per attempt makes GPU farms impractical
  • Tamper with encrypted blocks undetected — GCM authentication catches it
  • Reuse nonces to weaken encryption — every block has a unique 96-bit nonce

What's encrypted vs. what's not

Claspt is deliberately transparent about what is and isn't encrypted. This is a design decision, not a limitation — and here's exactly why.

Encrypted

Secret block content

Passwords, API keys, card numbers, notes inside secret blocks

Master key

Encrypted at rest using your password-derived key

Clipboard

Auto-cleared after 30 seconds — never persisted to disk

Memory

All key material zeroed after use via the zeroize crate

Plaintext

Page titles

So you can browse your vault and files are human-readable

File and folder names

Standard filesystem paths — works with any file manager

Secret block labels

e.g., "Work VPN" — helps you find secrets without decrypting all of them

YAML metadata

Tags, dates, and frontmatter — enables search and organization


Why not encrypt everything?

Full-vault encryption sounds more secure, but it trades real usability for marginal gains. Here's why Claspt takes a selective approach.

Readable markdown alongside encrypted data

Portability

Your vault is a folder of markdown files. If Claspt disappears tomorrow, you still have every note. Full encryption makes your data hostage to the app.

Meaningful diffs

Git can show you exactly what changed in each commit — because notes are plaintext. With full encryption, every save looks like a completely different file.

Full-text search

Searching encrypted data requires decrypting everything into memory first. With plaintext notes, tantivy indexes your content and returns results in under 100ms.

Selective security

Most notes don't need encryption — your meeting notes, to-do lists, and project plans aren't secrets. Encrypting only sensitive data means you can choose what matters.

No all-or-nothing

Full-vault encryption means one wrong password attempt and you're locked out of everything. Claspt's model means you always have access to your notes — only secrets require the key.


Your secrets deserve
real encryption.

AES-256-GCM. Argon2id. Unique nonces. Memory zeroing. No telemetry, no cloud dependency, no trust required. Download Claspt and verify it yourself.