redact-secret · Report · Detector
Datadog API keys
Format evidence
- Provider documentation OpenAPI v1 ApiKey.key minLength/maxLength 32 and apiKeyAuth scheme · observed 2026-09-23 · Datadog's own API reference spec (docs.datadoghq.com /resources/json/full_spec_v1.json, v1 ApiKey schema, generated from DataDog/documentation hugo/data/api/v1/full_spec.yaml) fixes the API key value at exactly 32 characters (minLength 32, maxLength 32) and names the DD-API-KEY header and DD_API_KEY environment variable. The constraint is stated on the v1 key model; the v2 schema states no length. The lowercase-hex alphabet is not provider-stated: the spec's example fits it, and it is corroborated by Datadog-owned code and tools only
- trufflehog 3.97.4
- Reference 1
Re-tiered 2026-09-23 (#112, provider evidence redact-secret#644): the key has no prefix, so the provider-stated exact length plus the DD-API-KEY/DD_API_KEY marker is the whole identifying element, and the family stays context-gated (CONTEXT_GATED): a bare 32-character value with no same-line datadog/dd marker has no grammar of its own. Retained limitations: the 32/32 constraint sits on the v1 key model only (v2's FullAPIKeyAttributes.key states no length, though nothing suggests v1 and v2 issue different shapes); the provider states no character class, and Datadog-owned validators (Agent scrubber, privateactionrunner keys.go, dd-trace-java) accept uppercase A-F while datadog-ci's masking regex and every observed value are lowercase, so a hand-uppercased key would be outside the lowercase-hex shape the tools corroborate. The bare 32-character shape, gated on a same-line datadog/dd marker, is corroborated by TruffleHog's datadogapikey detector; the pinned gitleaks datadog-access-token rule instead matches a 40-character body (the application-key length), not this one. The provider-documented marker is a method-level twin limitation: a context twin is reserved for policy-tier contracts, so only the length dimension carries a twin.
What the run recorded, by group
| Group | Fixtures | Leaked or false alarms | Near-twins | Outcomes | Other scanners, same cell |
|---|---|---|---|---|---|
| Must not flag · Tool-corroborated | 15 | False alarmsat most 20.4%0 of 15 controls flagged | 15 quiet · 0 flagged |
| |
| Must not flag · Project policy | 4 | False alarmsinsufficient-evidence0 of 4 controls flagged | 4 quiet · 0 flagged |
| |
| Project policy · Project policy | 17 | Secret spans left readableat most 18.4%0 of 17 spans | Near-twins told apartat least 74.1%11 of 11 pairs | 17 redacted · 0 too much · 0 partly exposed · 0 missed |
|
- Fixtures
- 36
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
Fixtures for this detector
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
datadog-api-key-actions-envdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-api-key-listing-public-iddatadog · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
datadog-api-key-bomdatadog · multibyte-text-offsets | Project policyT3 · Project policy | Redacted |
datadog-api-key-datadog-ci-inlinedatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-dd-api-key-headerdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-docker-run-agentdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-env-marker-baredatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-env-marker-quoteddatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-env-marker-unicode-crlfdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-export-dd-api-keydatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-jsondatadog · structured-text-value | Project policyT3 · Project policy | Redacted |
datadog-api-key-markdowndatadog · markdown-and-comment-value | Project policyT3 · Project policy | Redacted |
datadog-api-key-no-final-newlinedatadog · value-at-input-edges | Project policyT3 · Project policy | Redacted |
datadog-api-key-pythondatadog · source-code-string-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-python-environ-defaultdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-api-key-single-quotesdatadog · quoted-value-extent | Project policyT3 · Project policy | Redacted |
datadog-api-key-tomldatadog · structured-text-value | Project policyT3 · Project policy | Redacted |
datadog-api-key-yamldatadog · structured-text-value | Project policyT3 · Project policy | Redacted |
datadog-api-key-agent-note-prosedatadog · prose-mention | Must not flagT3 · Project policy | Quiet |
datadog-api-key-audit-fingerprint-encoded-valuedatadog · benign-encoded-value | Must not flagT2 · Tool-corroborated | Quiet |
datadog-api-key-bom-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-env-marker-bare-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-env-marker-quoted-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-env-marker-unicode-crlf-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-json-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-label-prosedatadog · benign-lookalike | Must not flagT3 · Project policy | Quiet |
datadog-api-key-markdown-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-maskdatadog · benign-lookalike | Must not flagT3 · Project policy | Quiet |
datadog-api-key-missing-markerdatadog · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
datadog-api-key-no-final-newline-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-python-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-referencedatadog · benign-lookalike | Must not flagT3 · Project policy | Quiet |
datadog-api-key-single-quotes-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-toml-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-api-key-truncated-in-prose-near-missdatadog · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
datadog-api-key-yaml-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |