redact-secret · Report
Application key (legacy 40-hex)
Pre-ddapp_ 40-character lowercase-hex application key, still accepted by Datadog; recognized only beside a same-line DD_APPLICATION_KEY / datadog marker.
Research record
3 events in the review history: 2 observed, 1 reviewed. Latest: observed on 2026-09-24 by automation, project maintainer. Project-maintained review is not independent validation. The family record at this release.
Format
What it looks like
Shape not recorded.
Format facts
Tool corroborated ·
tool-corroboration· current · observed 2026-09-24Pinned scanner rules are consistent with the contract grammar (2 artifacts: gitleaks 8.30.1; trufflehog 3.97.4).
- gitleaks/gitleaks @ v8.30.1: config/gitleaks.tomlscanner-rule-source · last read 2026-10-04 · latest outcome read · supports gitleaks 8.30.1: gitleaks.toml
- trufflesecurity/trufflehog @ v3.97.4: pkg/detectors/datadogtoken/datadogtoken.goscanner-rule-source · last read 2026-09-24 · latest outcome read · supports trufflehog 3.97.4: datadogtoken/datadogtoken
Tool corroborated ·
dossier-research· current · observed 2026-09-24Legacy dossier research (verdict ready, tier T2) cited 5 sources; the dossier does not attribute sources to individual properties.
- docs.datadoghq.com/resources/json/full_spec_v1.jsonprovider-documentation · last read 2026-09-24 · latest outcome read · supports Cited by the legacy dossier research for this family
- DataDog/cloudformation-template @ db39dcd1de0019f0bc5b03420a66750c69ef3038: aws_quickstart/datadog_agentless_saas.yamlother · last read 2026-09-24 · latest outcome read · supports Cited by the legacy dossier research for this family
- DataDog/datadog-agent @ f0012103d472748fae9f09011b4ebe124c3da98c: pkg/privateactionrunner/util/keys.goother · last read 2026-09-24 · latest outcome read · supports Cited by the legacy dossier research for this family
- DataDog/terraform-module-datadog-agentless-scanner @ 15deadd3c1a1447367636a1435620b6c4a94e91c: azure/arm/agentless-api-call.ps1other · last read 2026-09-24 · latest outcome read · supports Cited by the legacy dossier research for this family
- redact-secret/redact-secret @ 8b6a5fde52ecb4dfce13f09c7a947062d21483c7: docs/audits/evidence/645/README.mdproject-research-note · last read 2026-09-24 · latest outcome read · supports Final research evidence recorded by the legacy dossier
Open questions
No open question is recorded for this revision.
Benchmark dossier notes
- Shape
- 40 lowercase hex characters, no prefix. Datadog calls application keys legacy features after Q3 2026.
- Basis
- T2. The v1 spec's
ApplicationKey.hashhas length 40 (provider-domain, length only). Datadog-owned code (Agent, CloudFormation, ARM script) accepts[a-f0-9]{40}or theddapp_form, and a CloudFormation changelog names it "the legacy 40-character hex format". The Agent scrubber alone also accepts uppercase; core rejects it on purpose. - Issuance
- not attempted.
- Contract in core
- detector-families.md; the record is the #645 evidence above and the corroboration entry
datadog-application-key-legacyinbenchmarks/support/empirical-observations.json.
In this benchmark
- Fixtures
- 52
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
52 fixtures: 30 must stay quiet, 22 record project policy. See every row
| Evidence level | Fixtures | Left readable | Too much | False alarms |
|---|---|---|---|---|
| T2Tool-corroborated | 13 | 0 | 0 | 0 |
| T3Project policy | 39 | 0 | 0 | 0 |
Every scanner on the same fixtures
In run order. Counts are what each scanner recorded on this family's fixtures, whichever rules it has; a scanner with no rule for the family has nothing to report on it.
| Scanner | Fixtures | Left readable | Too much | False alarms |
|---|---|---|---|---|
| flare-redactRuntime library · 1.6.1 · Published npm package · secrets-only (pii, generic_assignment disabled) · JavaScript engineNo rule maps to it | 52 | 22 | 0 | 0 |
| gitleaksRepository scanner · 8.30.1 · Directory scan · default rules1 rule targets it | 52 | 1 | 0 | 2 |
| redact-secretProduct measured here · 0.1.0-beta.14 · Published npm package · default detectors1 detector mapped | 52 | 0 | 0 | 0 |
| trufflehogRepository scanner · 3.97.4 · Filesystem scan · verification disabled1 rule targets it | 52 | 22 | 0 | 0 |
Benchmark dossier questions
- Open caveat
- No identifying element exists: a bare 40-hex value fits a SHA-1 digest, so the shape is only claimed beside a same-line application-key or datadog marker.
Looks like it, but isn't
- Collisions
- SHA-1 digests and Git commit ids have the same shape, so no bare-value claim is made.
Scanner rules for this family
| Scanner | Rule | What the rule matches |
|---|---|---|
| gitleaks · rules 8.30.1 | datadog-access-token | datadog keyword + 40 alphanumerics |
| trufflehog · rules 3.97.4 | datadogtoken | datadog or dd keyword + 32 or 40 characters |
No rule maps to this family in flare-redact, openredaction.
Fixtures in this family
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
datadog-application-key-legacy-actions-envdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-alphabet-twindatadog · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-application-key-legacy-bomdatadog · multibyte-text-offsets | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-compose-envdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-curl-validatedatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-dashed-uuid-near-missdatadog · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
datadog-application-key-legacy-debug-logdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-dotenvdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-env-marker-baredatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-env-marker-quoteddatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-env-marker-unicode-crlfdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-http-requestdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-jsondatadog · structured-text-value | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-markdowndatadog · markdown-and-comment-value | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-no-final-newlinedatadog · value-at-input-edges | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-pythondatadog · source-code-string-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-python-constantdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-settings-jsondatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-shell-exportdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-single-quotesdatadog · quoted-value-extent | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-terraform-output-jsondatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-tfvarsdatadog · documented-format-literal | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-tomldatadog · structured-text-value | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-yamldatadog · structured-text-value | Project policyT3 · Project policy | Redacted |
datadog-application-key-legacy-actions-secret-referencedatadog · templated-reference | Must not flagT3 · Project policy | Quiet |
datadog-application-key-legacy-agent-image-digest-encoded-valuedatadog · benign-encoded-value | Must not flagT2 · Tool-corroborated | Quiet |
datadog-application-key-legacy-commit-sha-ci-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-commit-sha-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-dotenv-bare-line-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-dotenv-source-commit-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-env-marker-bare-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-application-key-legacy-env-marker-quoted-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-application-key-legacy-env-marker-unicode-crlf-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-application-key-legacy-git-commit-sha-public-iddatadog · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
datadog-application-key-legacy-http-content-sha1-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-http-git-revision-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-key-id-and-site-public-iddatadog · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
datadog-application-key-legacy-label-prosedatadog · benign-lookalike | Must not flagT3 · Project policy | Quiet |
datadog-application-key-legacy-long-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-application-key-legacy-maskdatadog · benign-lookalike | Must not flagT3 · Project policy | Quiet |
datadog-application-key-legacy-migration-note-prosedatadog · prose-mention | Must not flagT3 · Project policy | Quiet |
datadog-application-key-legacy-missing-markerdatadog · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
datadog-application-key-legacy-python-build-revision-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-python-expected-sha1-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
datadog-application-key-legacy-referencedatadog · benign-lookalike | Must not flagT3 · Project policy | Quiet |
datadog-application-key-legacy-short-hex-near-missdatadog · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
datadog-application-key-legacy-short-keydatadog · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
datadog-application-key-legacy-short-twindatadog · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
datadog-application-key-legacy-template-placeholderdatadog · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
datadog-application-key-legacy-terraform-deployed-commit-context-twindatadog · missing-context-marker | Must not flagT3 · Project policy · twin | Quiet |
Sources
Documentation and code
- docs.datadoghq.com/resources/json/full_spec_v1.json
- github.com/DataDog/datadog-agent/blob/f0012103d472748fae9f09011b4ebe124c3da98c/pkg/privateactionrunner/util/keys.go
- github.com/DataDog/cloudformation-template/blob/db39dcd1de0019f0bc5b03420a66750c69ef3038/aws_quickstart/datadog_agentless_saas.yaml
- github.com/DataDog/terraform-module-datadog-agentless-scanner/blob/15deadd3c1a1447367636a1435620b6c4a94e91c/azure/arm/agentless-api-call.ps1
Research log
- redact-secret/redact-secret#645Research issue
- redact-secret/redact-secret#671Research issue
- redact-secret/redact-secret-benchmarks#162Research issue
- Final evidence, pinned to a commit/redact-secret/redact-secret/blob/8b6a5fde52ecb4dfce13f09c7a947062d21483c7/docs/audits/evidence/645/README.md