Redaxa · Privacy, before AI

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

GitHub tokens: ghp_, github_pat_ and the other prefixes

GitHub prefixes every token it issues, so a leaked one is recognisable on sight: by you, by Redaxa, and by anyone scraping public code for credentials. This page shows exactly how Redaxa treats each 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

ghp_ (classic personal access token), gho_ (OAuth), ghu_ (user-to-server), ghs_ (server-to-server) and ghr_ (refresh) followed by at least 20 letters, digits or underscores; github_pat_ (fine-grained personal access token) followed by exactly 82.

Example 1

You paste

export GITHUB_TOKEN=ghp_RedaxaDocsSampleNotRealRedaxaDocsSam

Redaxa returns

export GITHUB_TOKEN=[SECRET]
Reported asAPI key or token
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Probable serviceGitHub
Credential typePersonal access token
EvidenceGitHub-specific token prefix; account and validity are not verified.
Recommended actionRevoke or rotate if genuine

Example 2

You paste

token: github_pat_RedaxaDocs_Sample_NotReal_RedaxaDocs_Sample_NotReal_RedaxaDocs_Sample_NotReal_Reda

Redaxa returns

token: [SECRET]
Reported asAPI key or token
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Probable serviceGitHub
Credential typeFine-grained personal access token
EvidenceGitHub-specific token prefix; account and validity are not verified.
Recommended actionRevoke or rotate if genuine

Example 3

You paste

CI uses ghs_RedaxaDocsSampleNotRealRedaxaDocsSam

Redaxa returns

CI uses [SECRET]
Reported asAPI key or token
Severitycritical: direct account or system compromise, as with keys, passwords and tokens
Replaced with[SECRET]
Probable serviceGitHub
Credential typeGitHub app / OAuth token
EvidenceGitHub-specific token prefix; account 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.

Key format, rotation and exposure

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

Revoke the token on GitHub (Settings, Developer settings, Personal access tokens, or the app's own settings), create a new one with the narrowest scopes and expiry you can, and only then clean the value out of code and history.

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