YOUR KEY.
YOUR DATA.

Moosermail is designed so that nobody -- not even us -- can read your Resend API key or access your emails without your credentials.

ENCRYPTION AT REST

AES-256-GCM

Your Resend API key is encrypted with AES-256-GCM before it touches the database. Each key gets a unique initialization vector (IV) and authentication tag. The encryption key exists only in the container's runtime environment -- never on disk, never in the database, never in logs.

Even with full database access, the raw key is unrecoverable without the ENCRYPTION_KEY environment variable.

AUTHENTICATION

BCRYPT + JWT

Passwords are hashed with bcrypt at 12 rounds. Session tokens are JWTs signed with HS256 and expire in 24 hours. Cookies are httpOnly, secure, sameSite=lax.

PERSISTENT API KEYS

API keys (mk_...) are SHA-256 hashed before storage. The raw key is shown exactly once at creation and never stored. Keys support configurable expiry: never, 7 days, 30 days, 90 days, 6 months, or 1 year.

INFRASTRUCTURE

WEBHOOK VERIFICATION

PER-USER WEBHOOK URLS

Every user gets a unique webhook endpoint. No guessing who owns an event. Optional Resend signing secret verification via svix -- if set, every payload is cryptographically verified.

DATA ISOLATION

WHAT WE DON'T DO

The CLI is open source on GitHub. The web app is proprietary.

GET STARTED FREE