Stripe has been audited by a PCI-certified auditor, and is certified to PCI Service Provider Level 1. This is the most stringent level of certification available.
SSL and HSTS
Stripe forces HTTPS for all services, including our public website. We regularly audit the details of our implementation: the certificates we serve, the certificate authorities we use, and the ciphers we support. We use HSTS to ensure browsers interact with Stripe only over HTTPS. Stripe is also on the HSTS preloaded lists for both Chrome and Firefox.
For more about implementing SSL on your own website, read our SSL guide.
All card numbers are encrypted on disk with AES-256. Decryption keys are stored on separate machines. None of Stripe's internal servers and daemons are able to obtain plaintext card numbers; instead, they can just request that cards be sent to a service provider on a static whitelist. Stripe's infrastructure for storing, decrypting, and transmitting card numbers runs in separate hosting infrastructure, and doesn't share any credentials with Stripe's primary services (API, website, etc.).
We rapidly investigate all reported security issues. If you believe you've discovered a bug in Stripe's security, please get in touch at email@example.com (optionally using our PGP key at the bottom of this page). We will respond as quickly as possible to your report. We request that you not publicly disclose the issue until it has been addressed by Stripe.
Vulnerability Reward Program
We understand the hard work that goes into security research. To show our appreciation for researchers who help us keep our users safe, we operate a reward program for responsibly disclosed vulnerabilities. Stripe rewards the confidential disclosure of any design or implementation issue that could be used to compromise the confidentiality or integrity of our users' data (such as by bypassing our login process, injecting code into another user's session, or instigating action on another user's behalf). A minimum reward of $500 USD may be provided for the disclosure of qualifying bugs. At our discretion, we may increase the reward amount based on the creativity or severity of the bugs.
If you report a vulnerability that does not qualify under the above criteria, we may still provide a minimum reward of $100 USD if your report causes us to take specific action to improve Stripe's security.
As with most security reward programs, we ask that you use common sense when looking for security bugs. Vulnerabilities must be disclosed to us privately with reasonable time to respond, and avoid compromise of other users and accounts, or loss of funds, which are not your own. We do not reward denial of service, spam, or social engineering vulnerabilities. Although Stripe itself and all services offered by Stripe are eligible, vulnerabilities in third-party applications which use Stripe are not.
And finally, as with most security reward programs, we have a couple restrictions. We will only reward the first person to responsibly disclose a bug to us. Any bugs that are publicly disclosed without providing us a reasonable time to respond will not be rewarded. Whether to reward the disclosure of a bug and the amount of the reward is entirely at our discretion, and we may cancel the program at any time. Your testing must not violate any laws. We can't provide you a reward if it would be illegal for us to do so, such as to residents of countries under current U.S. sanctions (e.g. North Korea, Libya, Cuba, etc.).
Thank you for helping keep Stripe, our users, and their customers safe!
Our PGP key is below. You can use this key to encrypt your communications with Stripe, or verify signed messages you receive from Stripe. (Unfamiliar with PGP? Have a look at GPG, and start by importing a public key.)
- Key ID: 57ABFF46
- Key type: RSA
- Key size: 2048
C330 33E4 B583 FE61 2EDE 877C 05D0 2D3D 57AB FF46
- User ID: firstname.lastname@example.org
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 MKfpQ44RSXI/u2YGW4KAqSX+bKsuLpPTJvA= =fn58 -----END PGP PUBLIC KEY BLOCK-----