Security at Stripe

Security is one of the biggest considerations in everything we do. If you have any questions after reading this, or encounter any issues, please let us know.

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 in the payments industry. To accomplish this, we make use of best-in-class security tools and practices to maintain a high level of security at Stripe.

HTTPS and HSTS for secure connections

Stripe forces HTTPS for all services using TLS (SSL), including our public website and the Dashboard.

  • 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

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 Google Chrome and Mozilla Firefox.

Encryption of sensitive data and communication

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 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.).

PGP

Stripe has two PGP keys to encrypt your communications with Stripe, or verify signed messages you receive from Stripe. Which key you make use of is dependent on the information needing to be transmitted:

If you’re unfamiliar with PGP, check out GPG, and start by importing a public key.

Vulnerability disclosure and reward program

Our security team rapidly investigates all reported security issues. If you believe you’ve discovered a bug in Stripe’s security, please get in touch at security@stripe.com (optionally using our general PGP key). 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.

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 that are not your own. Although Stripe itself and all services offered by Stripe are eligible, vulnerabilities in third-party applications that use Stripe are not. Critical vulnerabilities in Stripe-owned services (e.g., IndieHackers) are eligible for reward if there is concrete evidence that the vulnerability can be used to compromise sensitive information.

As with most security reward programs, there are some 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; and
  • You are ineligible to participate in this program if you are a resident of any U.S. embargoed jurisdiction, including but not limited to Iran, North Korea, Cuba, the Crimea region, and Syria; or if you are on the U.S. Treasury Department’s list of Specially Designated Nationals or the U.S. Department of Commerce Denied Person’s List or Entity List. By participating in the program, you represent and warrant that you are not located in any such country or on any such list.

Ineligible Vulnerabilities

Furthermore, Stripe does not consider the following to be eligible vulnerabilities:

  • Denial of service
  • Reports of spam
  • Social engineering
  • Self-XSS
  • Content/text spoofing
  • Unconfirmed reports from automated vulnerability scanners
  • Disclosure of server or software version numbers
  • Hypothetical sub-domain takeovers without supporting evidence
  • Session invalidation or other improved-security related to account management when a credential is already known (e.g., password reset link does not immediately expire, adding MFA does not expire other sessions, etc.)
  • Perceived security weaknesses without concrete evidence of the ability to compromise a user (e.g., missing rate limits, missing headers, etc.)
  • Reports exploiting the behavior of, or vulnerabilities in, outdated browsers
  • User/merchant enumeration
  • Use of “weak” TLS ciphers
  • SSRF (unless there is evidence that the vulnerability allows an attacker to access Stripe internal systems or user data)

In Scope

Valid reports for assets in the following domains are eligible for reward:

  • *.stripe.com
  • *.payable.com

Valid reports of critical vulnerabilities for assets in the following domains are eligible for reward:

  • touchtechpayments.com
  • runkit.com
  • indiehackers.com

Out of Scope

Reports for assets in the following domains are not eligible for reward:

  • index.com
  • totems.co
  • teapot.co
Was this page helpful?
Questions? Contact us.
Developer tutorials on YouTube.