Security

Secure checkout by Stripe

Every payment happens on a page hosted directly by Stripe. Your card number, wallet, and bank details are never entered into, or stored on, our servers.

How we protect your data

  • All traffic is encrypted in transit (HTTPS/TLS).
  • Your email address is encrypted at rest with a versioned key, and looked up only by a separate keyed cryptographic hash — never stored or matched in plain text.
  • Database access is split across separate, least-privilege roles for the web app, the payment worker, migrations, and read-only admin reporting — no single credential can do everything.
  • Every payment-provider webhook is cryptographically verified, processed exactly once even under retries, and cross-checked against our own server-side record before any money is credited.
  • Sign-in uses one-time, single-use, short-lived email links — never a password to steal or reuse.
  • Sensitive actions are rate-limited to slow down abuse.

Reporting a vulnerability

If you believe you've found a security vulnerability, please report it responsibly rather than exploiting it or disclosing it publicly first — use the security contact on Contact (our full disclosure process is documented in this project's SECURITY.md). We ask that you give us a reasonable time to fix an issue before disclosing it publicly.