Redaxa · Privacy, before AI

Detection reference · Credentials and secrets · Updated 2026-11-03

Stripe keys: secret, restricted, test, publishable and webhook

Stripe issues keys that look alike but carry very different risk. A publishable key is meant to sit in a web page; a secret or restricted key moves money and reads customer data. Redaxa separates them by prefix.

At a glance

Reported asAPI key or token
CategoryCredentials and secrets
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Where it runsThe same engine runs in the Chrome extension (free checks, on your device), in the web check and the Windows app (on Redaxa's server; the text is not stored) and in public repository checks.
Engine rulescanner.ts, line 205

What it looks like

sk_live_, sk_test_, rk_live_, rk_test_ and pk_live_/pk_test_ followed by at least 10 letters or digits; webhook signing secrets are whsec_ followed by at least 32.

Example 1

You paste

STRIPE_SECRET_KEY=sk_live_RedaxaDocsSampleNotRealR

Redaxa returns

STRIPE_SECRET_KEY=[SECRET]
Reported asAPI key or token
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Probable serviceStripe
Credential typeSecret API key
EvidenceStripe-style prefix identifies the key category, not its account or validity.
Recommended actionRevoke or rotate if genuine

Example 2

You paste

stripe.api_key = "rk_live_RedaxaDocsSampleNotRealR"

Redaxa returns

stripe.api_key = "[SECRET]"
Reported asAPI key or token
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Probable serviceStripe
Credential typeRestricted API key
EvidenceStripe-style prefix identifies the key category, not its account or validity.
Recommended actionRevoke or rotate if genuine

Example 3

You paste

STRIPE_SECRET_KEY=sk_test_RedaxaDocsSampleNotRealR

Redaxa returns

STRIPE_SECRET_KEY=[SECRET]
Reported asAPI key or token
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Probable serviceStripe
Credential typeTest-mode secret key
EvidenceStripe-style prefix identifies the key category, not its account or validity.
Recommended actionRevoke or rotate if genuine

Example 4

You paste

STRIPE_WEBHOOK_SECRET=whsec_RedaxaDocsSampleNotRealRedaxaDoc

Redaxa returns

STRIPE_WEBHOOK_SECRET=[SECRET]
Reported asAPI key or token
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Probable serviceStripe
Credential typeWebhook signing secret
EvidenceStripe webhook-secret prefix; endpoint and validity are not verified.
Recommended actionRevoke or rotate if genuine

All values on this page are synthetic or published specimens; none is a working credential or a real person's data.

In a repository check

The same example, committed to a public repository and run through the free repository check:

Values are always shown masked in repository reports. No key is ever tested against its provider.

What it does not flag

If it already leaked

Roll the secret or restricted key in the Stripe Dashboard (Developers, API keys); for a webhook secret, roll it on the endpoint's page. Then check recent API requests and events for activity you did not cause.

What Redaxa adds to every finding of this kind: If genuine, revoke or rotate it at the issuing service, update the application, then remove the exposed value from code and review Git history. Deleting it from Git does not revoke access.

Official guidance: docs.stripe.com, docs.stripe.com.

Step by step: pasted a key into ChatGPT, or committed one to GitHub.

Check before you paste

The free Chrome extension runs this check inside ChatGPT, Claude, Gemini and Perplexity before a message is sent, on your device and with no daily limit. On the web you get 5 free prompt checks a day with no account.

Add the Chrome extensionTry a free web check

Worried it is already in your code? Check a public GitHub repository free (3 checks a day).

Related

Sources