Skip to content
Benchmarks

redact-secret · Report · Detector

JWT

  • 26 fixtures
  • Format evidence: T1 · Provider-documented
  • Run 2026-10-07
  • Mode published · redact-secret 0.1.0-beta.14

Format evidence

Legacy JWT is expired, fabricated and HS256. TruffleHog explicitly skips HMAC JWTs; that is a policy difference. Re-checked 2026-09-20 (#46): RFC 7519 §3 requires base64url encoding for every segment; base64url never uses "+" (only base64's own alphabet does), backing an alphabet twin alongside the existing boundary (missing-signature) twin.

What the run recorded, by group

Detector views overlap, so their groups are never summed across detectors. Other scanners are reference values on the same inputs, in run order.
Groups of JWT fixtures
GroupFixturesLeaked or false alarmsNear-twinsOutcomesOther scanners, same cell
Must not flag · Tool-corroborated12False alarmsat most 24.3%0 of 12 controls flagged12 quiet · 0 flagged
  • flare-redact at most 24.3%
  • gitleaks at most 60.9%
  • trufflehog at most 24.3%
Must not flag · Project policy3False alarmsinsufficient-evidence0 of 3 controls flagged3 quiet · 0 flagged
  • flare-redact insufficient-evidence
  • gitleaks insufficient-evidence
  • trufflehog insufficient-evidence
Must redact · Provider-documented2Secret spans left readableinsufficient-evidence0 of 2 spansNear-twins told apartinsufficient-evidence4 of 4 pairs2 redacted · 0 too much · 0 partly exposed · 0 missed
  • flare-redact insufficient-evidence
  • gitleaks insufficient-evidence
  • trufflehog insufficient-evidence
Project policy · Project policy9Secret spans left readableat most 29.9%0 of 9 spansNear-twins told apartinsufficient-evidence3 of 3 pairs9 redacted · 0 too much · 0 partly exposed · 0 missed
  • flare-redact at most 29.9%
  • gitleaks at most 29.9%
  • trufflehog at most 100.0%
26 of 26 rows
Fixtures
26
Left readable
0
Redacted too much
0
False alarms
0

Fixtures for this detector

26 fixtures. Choose "Every scanner" to see each scanner's outcome for the same rows.
Fixtures in JWT
FixtureKind and evidenceredact-secret
jwt-api-bearer-headergeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-debug-request-loggeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-eddsa-plain-twingeneric · boundary-violationMust not flagT2 · Tool-corroborated · twinQuiet
jwt-eddsa-unicode-crlf-twingeneric · boundary-violationMust not flagT2 · Tool-corroborated · twinQuiet
jwt-env-id-tokengeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-expired-fabricated-baregeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-expired-fabricated-quotedgeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-expired-fabricated-unicode-crlfgeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-kubectl-create-tokengeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-missing-signaturegeneric · benign-lookalikeMust not flagT2 · Tool-corroboratedQuiet
jwt-token-digest-audit-encoded-valuegeneric · benign-encoded-valueMust not flagT2 · Tool-corroboratedQuiet
jwt-token-response-jsongeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-websocket-query-tokengeneric · documented-format-literalProject policyT3 · Project policyRedacted
jwt-dotted-trace-context-near-missgeneric · format-near-missMust not flagT2 · Tool-corroboratedQuiet
jwt-eddsa-alphabet-plain-twingeneric · wrong-alphabetMust not flagT2 · Tool-corroborated · twinQuiet
jwt-eddsa-alphabet-unicode-crlf-twingeneric · wrong-alphabetMust not flagT2 · Tool-corroborated · twinQuiet
jwt-eddsa-plaingeneric · documented-format-literalMust redactT1 · Provider-documentedRedacted
jwt-eddsa-unicode-crlfgeneric · documented-format-literalMust redactT1 · Provider-documentedRedacted
jwt-expired-fabricated-bare-twingeneric · wrong-alphabetMust not flagT2 · Tool-corroborated · twinQuiet
jwt-expired-fabricated-quoted-twingeneric · wrong-alphabetMust not flagT2 · Tool-corroborated · twinQuiet
jwt-expired-fabricated-unicode-crlf-twingeneric · wrong-alphabetMust not flagT2 · Tool-corroborated · twinQuiet
jwt-jwks-key-ids-public-idgeneric · public-identifierMust not flagT2 · Tool-corroboratedQuiet
jwt-maskgeneric · benign-lookalikeMust not flagT3 · Project policyQuiet
jwt-ordinary-dotted-namegeneric · benign-lookalikeMust not flagT3 · Project policyQuiet
jwt-prefix-onlygeneric · benign-lookalikeMust not flagT2 · Tool-corroboratedQuiet
jwt-referencegeneric · benign-lookalikeMust not flagT3 · Project policyQuiet