redact-secret · Report · Detector
Inngest signing keys
Format evidence
- Provider documentation inngest/inngest dabb03f: SigningKeyPrefixTest/Branch/Prod constants; self-hosting docs "a valid hexadecimal string with an even number of characters", openssl rand -hex 32 (re-checked 2026-09-28) · observed 2026-09-28 · signkey-prod-, signkey-test- or signkey-branch- + exactly 64 lowercase hex (77 or 79 in all); no checksum
- Reference 1
- Reference 2
- Reference 3
- Reference 4
- Reference 5
- Reference 6
- Reference 7
- Reference 8
- Reference 9
- Reference 10
Arrival evidence (#436, product redact-secret#914; #860 handoff inngest.md, READY). T1: the three environment prefixes are provider code constants (R1); the docs state an even-length hex key and generate it with openssl rand -hex 32 (64 lowercase hex), and every realistic provider SDK fixture is signkey-test- or signkey-prod- + 64 lowercase hex (R5). One family covers the raw key, INNGEST_SIGNING_KEY_FALLBACK and the hashed wire form sent as Bearer, which are lexically identical and each authenticates. Excluded: other environment labels (the SDKs' \w+ admits them, but only three are constants), the self-hosted bare-hex key (unattributable without the prefix), event keys (no shape), an uppercase-hex body (the decoder accepts it, the generator never emits it) and the docs and SDK placeholders. Neither pinned peer has an Inngest rule. Graduated to a registry detector at the 1127bf9 re-pin (redact-secret PR #938).
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 | 9 | False alarmsat most 29.9%0 of 9 controls flagged | 9 quiet · 0 flagged |
| |
| Must redact · Provider-documented | 16 | Secret spans left readableat most 19.4%0 of 16 spans | Near-twins told apartat least 70.1%9 of 9 pairs | 16 redacted · 0 too much · 0 partly exposed · 0 missed |
|
- Fixtures
- 40
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
Fixtures for this detector
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
inngest-signing-key-bare-proseinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-bearer-headerinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-chat-pasteinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-curl-hashed-bearerinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-docs-angle-placeholderinngest · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-dotenvinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-exportinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-fallback-dotenvinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-json-api-keyinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-json-tokeninngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-key-shape-bareinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-key-shape-quotedinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-key-shape-unicode-crlfinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-sdk-kwarginngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-sdk-short-placeholderinngest · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-ts-clientinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-vercel-envinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-x-api-key-headerinngest · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
inngest-signing-key-actions-secret-referenceinngest · templated-reference | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-body-63-twininngest · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-body-65-twininngest · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-env-reference-referenceinngest · templated-reference | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-event-key-local-public-idinngest · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
inngest-signing-key-g-in-body-twininngest · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-key-guidance-proseinngest · prose-mention | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-label-proseinngest · benign-lookalike | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-leading-glue-twininngest · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-maskinngest · benign-lookalike | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-no-event-key-sentinel-public-idinngest · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
inngest-signing-key-prefix-onlyinngest · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
inngest-signing-key-referenceinngest · benign-lookalike | Must not flagT3 · Project policy | Quiet |
inngest-signing-key-sha256-digest-encoded-valueinngest · benign-encoded-value | Must not flagT2 · Tool-corroborated | Quiet |
inngest-signing-key-short-bodyinngest · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
inngest-signing-key-trailing-glue-twininngest · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-truncated-near-missinngest · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
inngest-signing-key-underscore-delimiters-twininngest · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-unknown-label-twininngest · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-uppercase-hex-byte-twininngest · wrong-alphabet | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-uppercase-prefix-twininngest · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
inngest-signing-key-zeros-placeholderinngest · documentation-placeholder | Must not flagT3 · Project policy | Quiet |