01 Security

Small data surface. Strict handoff boundary.

Zulde is designed around what it refuses to retain: no files, no downstream destinations, and no generated one-time links.

Open with a code
Security
AES-256-GCMRecipient encryption
HMAC-SHA256Signed handoff
No-storePublic API caching

02 Detail

Built around a smaller access surface.

At rest

Encrypted recipient records

Recipient emails use authenticated encryption with unique nonces. Codes and lookup values use keyed hashes backed by server-only peppers.

  • Independent keys
  • No plaintext fallback
  • One email per code
In transit

Signed and constrained

The shared service receives a signed encrypted UID over HTTPS. Returned URLs must match one configured host and token shape.

  • Timestamp and nonce
  • Short request timeout
  • Fail-closed validation
At the edge

Guessing resistance

Application and nginx rate controls enforce rolling limits. Public failures do not reveal code status or recipient existence.

  • Network buckets
  • Code buckets
  • Temporary lockouts
Operations

Secrets stay outside the release

Database, API, encryption, DNS, and handoff credentials live in a root-readable environment file or managed secret store.

  • No source fallbacks
  • One-time API key reveal
  • Rotation-ready configuration