redact-secret · Report
OAuth access token
OAuth app access token, prefixed gho_.
Research record
4 events in the review history: 3 observed, 1 reviewed. Latest: observed on 2026-10-03 by automation, project maintainer. Project-maintained review is not independent validation. The family record at this release.
Format
What it looks like
Shape not recorded.
Format facts
Provider documented ·
provider-source· current · observed 2026-09-172021-04 prefix scheme: ghp_/gho_/ghu_/ghs_/ghr_ prefixes and underscore separator; 36-character body is tool-corroborated (checksum in the last six characters per github.blog/2021-04-05) [Legacy contract 'github-token' is shared by 5 families; this statement is not specific to one of them.]
- docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-githubprovider-documentation · last read 2026-10-04 · latest outcome read · supports ghp_/gho_/ghu_/ghs_/ghr_ prefixes and underscore separator; 36-character body is tool-corroborated (checksum in the last six characters per github.blog/2021-04-05) · #githubs-token-formats
Tool corroborated ·
tool-corroboration· current · observed 2026-09-17Pinned scanner rules are consistent with the contract grammar (2 artifacts: gitleaks 8.30.1; trufflehog 3.97.4). [Legacy contract 'github-token' is shared by 5 families; this statement is not specific to one of them.]
- gitleaks/gitleaks @ v8.30.1: config/gitleaks.tomlscanner-rule-source · last read 2026-10-04 · latest outcome read · supports gitleaks 8.30.1: gitleaks.toml
- trufflesecurity/trufflehog @ v3.97.4: pkg/detectors/github/v2/github.goscanner-rule-source · last read 2026-09-24 · latest outcome read · supports trufflehog 3.97.4: github/v2/github
Provider documented ·
dossier-research· current · observed 2026-09-20Legacy dossier research (verdict ready, tier T1) cited 2 sources; the dossier does not attribute sources to individual properties.
- docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-githubprovider-documentation · last read 2026-10-04 · latest outcome read · supports Cited by the legacy dossier research for this family · #githubs-token-formats
- redact-secret/redact-secret @ 8b6a5fde52ecb4dfce13f09c7a947062d21483c7: docs/decisions/2026-09-20-map-github-token-families-onto-independent-finding-types.mdproject-research-note · last read 2026-09-20 · latest outcome read · supports Final research evidence recorded by the legacy dossier
Provider documented ·
taxonomy-sources· current · observed 2026-09-20The legacy taxonomy lists 1 source for this family. The taxonomy records no date; the dossier researchedAt is used as the observed-at date.
- docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-githubprovider-documentation · last read 2026-10-04 · latest outcome read · supports Listed as a source for this family in the legacy taxonomy · #githubs-token-formats
Open questions
No open question is recorded for this revision.
Benchmark dossier notes
- Basis
- prefix and role from the token-formats page; body from GitHub's 2021-04-05 token-format post; contracted per family in #517 (T1; body tool-corroborated).
In this benchmark
- Fixtures
- 14
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
14 fixtures: 9 expect a redaction, 5 must stay quiet. See every row
| Evidence level | Fixtures | Left readable | Too much | False alarms |
|---|---|---|---|---|
| T1Provider-documented | 9 | 0 | 0 | 0 |
| T2Tool-corroborated | 5 | 0 | 0 | 0 |
Every scanner on the same fixtures
In run order. Counts are what each scanner recorded on this family's fixtures, whichever rules it has; a scanner with no rule for the family has nothing to report on it.
| Scanner | Fixtures | Left readable | Too much | False alarms |
|---|---|---|---|---|
| flare-redactRuntime library · 1.6.1 · Published npm package · secrets-only (pii, generic_assignment disabled) · JavaScript engine1 rule targets it | 14 | 0 | 0 | 0 |
| gitleaksRepository scanner · 8.30.1 · Directory scan · default rules1 rule targets it | 14 | 0 | 0 | 0 |
| redact-secretProduct measured here · 0.1.0-beta.14 · Published npm package · default detectors1 detector mapped | 14 | 0 | 0 | 0 |
| trufflehogRepository scanner · 3.97.4 · Filesystem scan · verification disabled1 rule targets it | 14 | 0 | 0 | 0 |
Benchmark dossier questions
- Open caveat
- Only the prefix and token role are provider-documented; the 36-character body follows GitHub's 2021-04-05 token-format post (36-byte body, CRC32 in the last six characters), and core does not verify the checksum.
Scanner rules for this family
| Scanner | Rule | What the rule matches |
|---|---|---|
| flare-redact · rules 1.6.1 | github_token | ghp_, gho_, ghu_, ghs_, ghr_ + 36 or github_pat_ + 82 characters |
| gitleaks · rules 8.30.1 | github-oauth | gho_ + 36 alphanumerics |
| openredaction · rules 1.1.5 | GITHUB_TOKEN | ghp_, gho_, ghu_, ghs_ or ghr_ + 36 or more characters |
| trufflehog · rules 3.97.4 | github/v2 | ghp_, gho_, ghu_, ghs_, ghr_ or github_pat_ + 36-255 characters |
Fixtures in this family
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
gho-1github · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
gho-1-twingithub · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
gho-2github · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
gho-2-twingithub · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
gho-3github · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
gho-3-twingithub · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
github-token-gh-auth-status-tokengithub · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
github-token-gho-plaingithub · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
github-token-gho-plain-twingithub · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
github-token-gho-unicode-crlfgithub · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
github-token-gho-unicode-crlf-twingithub · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
github-token-shape-2-baregithub · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
github-token-shape-2-quotedgithub · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
github-token-shape-2-unicode-crlfgithub · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
Sources
Documentation and code
- docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#githubs-token-formats
Research log
- redact-secret/redact-secret#517Research issue
- Final evidence, pinned to a commit/redact-secret/redact-secret/blob/8b6a5fde52ecb4dfce13f09c7a947062d21483c7/docs/decisions/2026-09-20-map-github-token-families-onto-independent-finding-types.md