redact-secret · Report · Detector
Perplexity API keys
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
| Group | Fixtures | Leaked or false alarms | Near-twins | Outcomes | Other scanners, same cell |
|---|---|---|---|---|---|
| Must not flag · Provider-documented | 2 | False alarmsinsufficient-evidence0 of 2 controls flagged | 2 quiet · 0 flagged |
| |
| Must not flag · Tool-corroborated | 11 | False alarmsat most 25.9%0 of 11 controls flagged | 11 quiet · 0 flagged |
| |
| Must not flag · Project policy | 10 | False alarmsat most 27.8%0 of 10 controls flagged | 10 quiet · 0 flagged |
| |
| Must redact · Tool-corroborated | 18 | Secret spans left readableat most 17.6%0 of 18 spans | Near-twins told apartinsufficient-coverage8 of 8 pairs | 18 redacted · 0 too much · 0 partly exposed · 0 missed |
|
- Fixtures
- 41
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
Fixtures for this detector
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
perplexity-api-key-actions-envperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-bearer-curlperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-chat-messageperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-cli-credentialsperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-compose-envperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-curl-chatperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-debug-logperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-dotenvperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-key-shape-bareperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-key-shape-quotedperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-key-shape-unicode-crlfperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-long-body-twinperplexity · wrong-length | Must not flagT3 · Project policy · twin | Quiet |
perplexity-api-key-mcp-configperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-pplx-exportperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-python-clientperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-revoke-payloadperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-secret-printperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-short-body-twinperplexity · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
perplexity-api-key-short-body-twin-wrong-lengthperplexity · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
perplexity-api-key-twin-base-dotenvperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-twin-base-pythonperplexity · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
perplexity-api-key-base-url-and-name-public-idperplexity · public-identifier | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-base64-model-encoded-valueperplexity · benign-encoded-value | Must not flagT1 · Provider-documented | Quiet |
perplexity-api-key-docs-placeholder-placeholderperplexity · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-embedding-model-public-idperplexity · public-identifier | Must not flagT1 · Provider-documented | Quiet |
perplexity-api-key-env-reference-referenceperplexity · templated-reference | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-inner-dash-twinperplexity · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
perplexity-api-key-key-guidance-proseperplexity · prose-mention | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-label-proseperplexity · benign-lookalike | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-maskperplexity · benign-lookalike | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-masked-display-placeholderperplexity · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-missing-dash-twinperplexity · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
perplexity-api-key-package-name-near-missperplexity · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
perplexity-api-key-prefix-letter-twinperplexity · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
perplexity-api-key-prefix-onlyperplexity · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
perplexity-api-key-prefix-only-near-missperplexity · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
perplexity-api-key-referenceperplexity · benign-lookalike | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-sdk-environ-referenceperplexity · templated-reference | Must not flagT3 · Project policy | Quiet |
perplexity-api-key-short-bodyperplexity · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
perplexity-api-key-underscore-delimiter-twinperplexity · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
perplexity-api-key-uppercase-prefix-twinperplexity · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |