redact-secret · Report · Detector
Dynatrace tokens
Format evidence
- Provider documentation Dynatrace docs "Token format" (updated 2026-08-04): three components separated by dots, a prefix that identifies the token type, a 24-character public portion and a 64-character secret portion; Dynatrace/dynatrace-operator pkg/util/dttoken/token.go (2a39d88, 2026-07-22): base32.StdEncoding truncated to each portion; re-checked 2026-09-29 · observed 2026-09-29 · dt0 + c|s + 2 digits + . + exactly 24 [A-Z2-7] + . + exactly 64 [A-Z2-7], 96 in all
- gitleaks 8.30.1
- Reference 1
- Reference 2
- Reference 3
- Reference 4
- Reference 5
- Reference 6
- Reference 7
- Reference 8
- Reference 9
- Reference 10
Arrival evidence (#528, product redact-secret#1032; #1014 handoff dynatrace.md, READY). Access and platform tokens authenticate the environment and account APIs; depending on scopes a token reads monitoring data (which can include payloads and logs), changes configuration, ingests data or manages the account. T1 for every fact: the docs state the structure, both lengths and the prefix table (dt0s01, dt0s02, dt0s03, dt0s04, dt0s06, dt0s08, dt0s09, dt0s16; dt0c01 by the docs request placeholder, R4), and the base32 alphabet is the provider generator (R1) and the docs example. The contract admits dt0 + c|s + any two digits, as the handoff decides. Excluded: the token identifier alone (safe to log), portions with lowercase or 0, 1, 8, 9 (never generated), other Dynatrace secrets in other shapes and the docs placeholder dt0c01.abc123.… (fails both widths). gitleaks 8.30.1 reads dt0c01 only and is case-insensitive over [a-z0-9], so it lags on every dt0s token and overreaches on lowercase and 0/1/8/9 twins; trufflehog 3.97.4 has no Dynatrace rule. Graduated to a registry detector at the 4fb7882 re-pin (redact-secret PR #1039).
What the run recorded, by group
| Group | Fixtures | Leaked or false alarms | Near-twins | Outcomes | Other scanners, same cell |
|---|---|---|---|---|---|
| Must not flag · Tool-corroborated | 17 | False alarmsat most 18.4%0 of 17 controls flagged | 17 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 | 16 | Secret spans left readableat most 19.4%0 of 16 spans | Near-twins told apartat least 74.1%11 of 11 pairs | 16 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 |
|---|---|---|
dynatrace-token-api-token-headerdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-bare-prosedynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-bearer-headerdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-chat-pastedynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-collector-headersdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-digit-outside-base32-twindynatrace · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-docs-placeholder-placeholderdynatrace · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
dynatrace-token-dotenvdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-dynakube-secretdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-exportdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-json-api-keydynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-json-tokendynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-key-shape-baredynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-key-shape-quoteddynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-key-shape-unicode-crlfdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-leading-glue-twindynatrace · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-otel-env-headerdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-sdk-kwargdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-secret-65-twindynatrace · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-trailing-underscore-twindynatrace · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-x-api-key-headerdynatrace · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
dynatrace-token-angle-brackets-placeholderdynatrace · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
dynatrace-token-bare-base32-run-encoded-valuedynatrace · benign-encoded-value | Must not flagT2 · Tool-corroborated | Quiet |
dynatrace-token-env-reference-referencedynatrace · templated-reference | Must not flagT3 · Project policy | Quiet |
dynatrace-token-hyphen-separator-twindynatrace · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-label-prosedynatrace · benign-lookalike | Must not flagT3 · Project policy | Quiet |
dynatrace-token-lowercase-byte-twindynatrace · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-maskdynatrace · benign-lookalike | Must not flagT3 · Project policy | Quiet |
dynatrace-token-prefix-onlydynatrace · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
dynatrace-token-public-23-twindynatrace · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-public-25-twindynatrace · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-referencedynatrace · benign-lookalike | Must not flagT3 · Project policy | Quiet |
dynatrace-token-secret-63-twindynatrace · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-secret-key-ref-referencedynatrace · templated-reference | Must not flagT3 · Project policy | Quiet |
dynatrace-token-short-bodydynatrace · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
dynatrace-token-token-guidance-prosedynatrace · prose-mention | Must not flagT3 · Project policy | Quiet |
dynatrace-token-token-identifier-log-public-iddynatrace · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
dynatrace-token-token-identifier-ui-public-iddynatrace · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
dynatrace-token-truncated-near-missdynatrace · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
dynatrace-token-unknown-type-letter-twindynatrace · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
dynatrace-token-version-1-twindynatrace · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |