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.