HTTPS and HSTS for secure connections
- Stripe.js is served only over TLS.
- Stripe’s official libraries connect to Stripe’s servers over TLS and verify TLS certificates on each connection.
Stripe regularly audits the details of their implementation, including the certificates they serve, the certificate authorities they use, and the ciphers they support. Stripe uses HSTS to ensure that browsers interact with Stripe only over HTTPS. Stripe is also on the HSTS preloaded lists for both Google Chrome and Mozilla Firefox.
Sensitive data and communication encryption
All card numbers are encrypted at rest with AES-256. Decryption keys are stored on separate machines. None of Stripe’s internal servers and daemons can obtain plain text card numbers but can request that cards are sent to a service provider on a static allowlist. Stripe’s infrastructure for storing, decrypting, and transmitting card numbers runs in a separate hosting environment, and doesn’t share any credentials with Stripe’s primary services including their API and website.