Writing

Notes from inside the vault.

How SEES is built, and the trade-offs we chose on purpose. No product announcements.

Zero-knowledgeArchitecture v0.1
4 min read

Why SEES has no password recovery

Every reset link is a backdoor with good manners. Here is why SEES refuses to build one, and what that costs you.

DesignThreat model
Read
5 min read

How your passphrase becomes a key

PBKDF2-SHA256 at 250,000 iterations, an AES-256-GCM key, and why none of it ever leaves your browser.

Cryptography
Read
4 min read

Where your ciphertext actually lives

SEES stores sealed blobs on Storj and holds no database. What that means for what an operator can see.

ArchitectureStorage
Read
5 min read

What SEES cannot protect you from

Encryption is not a force field. The attacks that still work, stated plainly, including the one we have not closed yet.

Threat modelHonesty
Read
5 min read

How share links carry a key without leaking it

Two modes, one base64url blob, and the part of a URL that browsers never send to a server.

CryptographySharing
Read
3 min read

Two-factor that isn't a spare key

Standard TOTP, six digits, thirty seconds — and why in a zero-knowledge vault it protects unlocking, not recovery.

Design2FA
Read
3 min read

A Vault ID is a locator, not a username

No email, no account record, no profile. What a Vault ID actually is and what it deliberately isn't.

DesignPrivacy
Read
4 min read

Zero-knowledge vs encrypted at rest

Both phrases appear on security pages. Only one of them means the provider cannot read your data.

Concepts
Read
3 min read

Running SEES yourself

MIT-licensed, no database, and nothing to provision but an S3-compatible bucket. Why that matters more than a promise.

Self-hostingOpen source
Read
3 min read

Blocking bots without tracking people

Abuse protection usually arrives bundled with surveillance. Why SEES uses Turnstile and what it does not collect.

PrivacyInfrastructure
Read