Trust center

Security

Maillume handles content people already consider suspicious. Security reports should protect that content, use synthetic reproduction data, and follow coordinated disclosure.

Last updated: July 10, 2026

Report a vulnerability

Do not open a public issue with a vulnerability, credential, private email, screenshot, or raw .eml file.

Follow the private reporting instructions in the repository's SECURITY.md. If private GitHub reporting is unavailable, email the Maillume security contact. security@maillume.io.

Security boundaries

  • Provider and Supabase secret keys are server-only and must never use a NEXT_PUBLIC_ prefix.
  • Uploaded screenshot and .eml files are parsed in the browser rather than uploaded as source files.
  • Analysis inputs are size-limited and validated before processing.
  • Public traffic reaches the production container through a protected Cloudflare Tunnel rather than an exposed web port.
  • Application and edge rate limits reject abusive analysis traffic before provider invocation.
  • Analysis and feedback responses use no-store caching behavior.
  • Optional feedback uses an allowlist that rejects email-content fields.
  • Integration API keys are shown once and stored only as SHA-256 hashes with revocable, atomic quotas.
  • The browser extension uses temporary activeTab access after an explicit user action.
  • Public hosted analysis remains heuristic-only until explicit AI privacy and cost gates pass.

Safe testing

Use invented identities, reserved domains such as .example or .test, and non-functional links. Do not test with a third party's inbox, account, or infrastructure without authorization.

Supported version

Security fixes target the latest version on the main branch and the current public-beta release. Self-hosted operators are responsible for applying updates to their deployments.

Security | Maillume