Private docs.
Public hosting.

Encrypt any static site and serve it from a CDN. No backend, no server-side logic, no trust required.

Early development: SwCrypts is pre-1.0. Expect breaking changes, missing features, and rough edges.See status →

Why SwCrypts?

AES-256-GCM

Content is encrypted with AES-256-GCM. Keys are derived via PBKDF2-HMAC-SHA256 with 600k iterations and a random salt.

Zero-config hosting

Drop the encrypted output on any static host — GitHub Pages, Cloudflare Pages, Vercel, S3. It just works.

Service Worker interception

A lightweight Service Worker decrypts assets on the fly inside the browser. URLs and content stay hidden until the password is entered.

Post-quantum safe

Only symmetric primitives — no RSA or ECDH to break. AES-256 still gives ~128 bits of post-quantum security.

Quick start

# Temporary command while the CLI is not yet published
bun run --cwd packages/cli . build -i public -o public-encrypted

# Once published, this will just be:
# swcrypts build -i public -o public-encrypted