redact-secret · Report · Detector
OpenRouter API keys
Format evidence
- Provider documentation OpenRouter guardrails secret-formats page ("OpenRouter API key") · observed 2026-09-24 · OpenRouter's own secret-formats guardrail describes its API key as sk-or-v1- followed by 64 lowercase hexadecimal characters.
- trufflehog 3.97.4
- Reference 1
- Reference 2
- Reference 3
Graduated arrival evidence (#208, registry detector since redact-secret#727; research #220). A mixed-evidence contract: the prefix and the 64-lowercase-hex body are provider-stated in a guardrail detection description and match the provider's create-key example, and every peer rule agrees. Management keys (sk-or-mgmt-) are openrouter:management-api-key, not members of this family, and are never used as benign controls. The public key hash shares the body shape without the prefix.
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.
| Group | Fixtures | Leaked or false alarms | Near-twins | Outcomes | Other scanners, same cell |
|---|---|---|---|---|---|
| Must not flag · Tool-corroborated | 12 | False alarmsat most 24.3%0 of 12 controls flagged | 12 quiet · 0 flagged |
| |
| Must not flag · Project policy | 8 | False alarmsat most 32.4%0 of 8 controls flagged | 8 quiet · 0 flagged |
| |
| Must redact · Provider-documented | 12 | Secret spans left readableat most 24.3%0 of 12 spans | Near-twins told apartat least 61.0%6 of 6 pairs | 12 redacted · 0 too much · 0 partly exposed · 0 missed |
|
- Fixtures
- 32
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
Fixtures for this detector
32 fixtures. Choose "Every scanner" to see each scanner's outcome for the same rows.
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
openrouter-api-key-bearer-long-body-twinopenrouter · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
openrouter-api-key-chat-pasteopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-key-shape-bareopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-key-shape-quotedopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-key-shape-unicode-crlfopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-base64-config-encoded-valueopenrouter · benign-encoded-value | Must not flagT2 · Tool-corroborated | Quiet |
openrouter-api-key-bearer-headeropenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-composeopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-compose-half-body-twinopenrouter · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
openrouter-api-key-create-key-responseopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-docs-proseopenrouter · prose-mention | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-envopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-env-lookup-referenceopenrouter · templated-reference | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-env-short-body-twinopenrouter · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
openrouter-api-key-env-template-placeholderopenrouter · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-exportopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-guardrail-marker-placeholderopenrouter · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-key-hash-public-idopenrouter · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
openrouter-api-key-label-proseopenrouter · benign-lookalike | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-maskopenrouter · benign-lookalike | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-masked-label-placeholderopenrouter · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-openai-compatibleopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-openai-non-hex-body-twinopenrouter · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
openrouter-api-key-openrouter-sdkopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-prefix-check-near-missopenrouter · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
openrouter-api-key-prefix-onlyopenrouter · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
openrouter-api-key-printenvopenrouter · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
openrouter-api-key-printenv-glued-twinopenrouter · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
openrouter-api-key-referenceopenrouter · benign-lookalike | Must not flagT3 · Project policy | Quiet |
openrouter-api-key-sdk-wrong-prefix-twinopenrouter · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
openrouter-api-key-short-bodyopenrouter · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
openrouter-api-key-user-and-models-public-idopenrouter · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |