Skip to content
Benchmarks

redact-secret · Report · Detector

Perplexity API keys

  • 41 fixtures
  • Format evidence: T2 · Tool-corroborated
  • Run 2026-10-07
  • Mode published · redact-secret 0.1.0-beta.14

Format evidence

Graduated arrival contract (registry detector since redact-secret#730). Lexical separability decided before authoring (#212): the provider-documented pplx- prefix plus a fixed 48-character alphanumeric body separates a key from every recorded confusable (pplx- model ids such as pplx-embed-v1-0.6b, package/host names, docs placeholders, masked values), none of which carries a 48-character alphanumeric run after the dash. The prefix is provider-documented (docs.perplexity.ai admin api-key-management); the body width and alphabet are tool-corroborated only (gitleaks 8.30.1 perplexity-api-key, osv-scalibr perplexityapikey, likely one lineage), and flare-redact's 40-60 range contradicts the exact 48. The contract is therefore T2: the weakest frozen field its positives and length twins depend on is a peer rule. The gitleaks false-positive convention (pplx- followed by 48 repeated "x") satisfies this pattern and is not authored as a control. The org Analytics API key and MCP OAuth tokens are other Perplexity credentials of undocumented shape; neither is claimed, and neither is a control. An OpenRouter sk-or-v1- key stored in PERPLEXITY_API_KEY is a real secret of another family and is not a control either.

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 Perplexity API keys fixtures
GroupFixturesLeaked or false alarmsNear-twinsOutcomesOther scanners, same cell
Must not flag · Provider-documented2False alarmsinsufficient-evidence0 of 2 controls flagged2 quiet · 0 flagged
  • flare-redact insufficient-evidence
  • gitleaks insufficient-evidence
  • trufflehog insufficient-evidence
Must not flag · Tool-corroborated11False alarmsat most 25.9%0 of 11 controls flagged11 quiet · 0 flagged
  • flare-redact at most 47.7%
  • gitleaks at most 25.9%
  • trufflehog at most 25.9%
Must not flag · Project policy10False alarmsat most 27.8%0 of 10 controls flagged10 quiet · 0 flagged
  • flare-redact at most 27.8%
  • gitleaks at most 40.4%
  • trufflehog at most 27.8%
Must redact · Tool-corroborated18Secret spans left readableat most 17.6%0 of 18 spansNear-twins told apartinsufficient-coverage8 of 8 pairs18 redacted · 0 too much · 0 partly exposed · 0 missed
  • flare-redact at most 17.6%
  • gitleaks at most 17.6%
  • trufflehog at most 100.0%
41 of 41 rows
Fixtures
41
Left readable
0
Redacted too much
0
False alarms
0

Fixtures for this detector

41 fixtures. Choose "Every scanner" to see each scanner's outcome for the same rows.
Fixtures in Perplexity API keys
FixtureKind and evidenceredact-secret
perplexity-api-key-actions-envperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-bearer-curlperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-chat-messageperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-cli-credentialsperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-compose-envperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-curl-chatperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-debug-logperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-dotenvperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-key-shape-bareperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-key-shape-quotedperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-key-shape-unicode-crlfperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-long-body-twinperplexity · wrong-lengthMust not flagT3 · Project policy · twinQuiet
perplexity-api-key-mcp-configperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-pplx-exportperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-python-clientperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-revoke-payloadperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-secret-printperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-short-body-twinperplexity · wrong-lengthMust not flagT2 · Tool-corroborated · twinQuiet
perplexity-api-key-short-body-twin-wrong-lengthperplexity · wrong-lengthMust not flagT2 · Tool-corroborated · twinQuiet
perplexity-api-key-twin-base-dotenvperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-twin-base-pythonperplexity · documented-format-literalMust redactT2 · Tool-corroboratedRedacted
perplexity-api-key-base-url-and-name-public-idperplexity · public-identifierMust not flagT3 · Project policyQuiet
perplexity-api-key-base64-model-encoded-valueperplexity · benign-encoded-valueMust not flagT1 · Provider-documentedQuiet
perplexity-api-key-docs-placeholder-placeholderperplexity · documentation-placeholderMust not flagT3 · Project policyQuiet
perplexity-api-key-embedding-model-public-idperplexity · public-identifierMust not flagT1 · Provider-documentedQuiet
perplexity-api-key-env-reference-referenceperplexity · templated-referenceMust not flagT3 · Project policyQuiet
perplexity-api-key-inner-dash-twinperplexity · wrong-alphabetMust not flagT2 · Tool-corroborated · twinQuiet
perplexity-api-key-key-guidance-proseperplexity · prose-mentionMust not flagT3 · Project policyQuiet
perplexity-api-key-label-proseperplexity · benign-lookalikeMust not flagT3 · Project policyQuiet
perplexity-api-key-maskperplexity · benign-lookalikeMust not flagT3 · Project policyQuiet
perplexity-api-key-masked-display-placeholderperplexity · documentation-placeholderMust not flagT3 · Project policyQuiet
perplexity-api-key-missing-dash-twinperplexity · boundary-violationMust not flagT2 · Tool-corroborated · twinQuiet
perplexity-api-key-package-name-near-missperplexity · format-near-missMust not flagT2 · Tool-corroboratedQuiet
perplexity-api-key-prefix-letter-twinperplexity · prefix-near-missMust not flagT2 · Tool-corroborated · twinQuiet
perplexity-api-key-prefix-onlyperplexity · benign-lookalikeMust not flagT2 · Tool-corroboratedQuiet
perplexity-api-key-prefix-only-near-missperplexity · format-near-missMust not flagT2 · Tool-corroboratedQuiet
perplexity-api-key-referenceperplexity · benign-lookalikeMust not flagT3 · Project policyQuiet
perplexity-api-key-sdk-environ-referenceperplexity · templated-referenceMust not flagT3 · Project policyQuiet
perplexity-api-key-short-bodyperplexity · benign-lookalikeMust not flagT2 · Tool-corroboratedQuiet
perplexity-api-key-underscore-delimiter-twinperplexity · boundary-violationMust not flagT2 · Tool-corroborated · twinQuiet
perplexity-api-key-uppercase-prefix-twinperplexity · prefix-near-missMust not flagT2 · Tool-corroborated · twinQuiet