redact-secret · Report · Detector
crates.io tokens
Format evidence
- Provider documentation rust-lang/crates.io crates/crates_io_database/src/utils/token.rs (7b2475e, 2025-12-01): TOKEN_PREFIX = "cio", TOKEN_LENGTH = 32, rand::distr::Alphanumeric; HashedToken::parse rejects any token without the prefix; re-checked 2026-09-29 · observed 2026-09-29 · cio + exactly 32 [A-Za-z0-9], 35 in all; no separator or checksum
- 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#1031; #1014 handoff crates-io.md, READY). An API token publishes, yanks and changes owners of crates within its scopes. T1 for every fact under R1 from the provider server code; unprefixed pre-cio tokens are no longer accepted. cio is a trigram, so the exact 32-byte body and both identifier boundaries (handoff decision) keep it precise: a random standalone 35-byte alphanumeric value that starts with cio (about 1 in 238,000) is the accepted false positive. The body excludes _, so a cio_tp_ token never reads as an API token. Excluded: words and identifiers that start with cio (ciound, cio_config) and cio + 32 inside a longer run. Neither pinned peer has a crates.io 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 · Provider-documented | 8 | False alarmsat most 32.4%0 of 8 controls flagged | 8 quiet · 0 flagged |
| |
| Must not flag · Project policy | 13 | False alarmsat most 22.8%0 of 13 controls flagged | 13 quiet · 0 flagged |
| |
| Must redact · Provider-documented | 16 | Secret spans left readableat most 19.4%0 of 16 spans | Near-twins told apartat least 67.6%8 of 8 pairs | 16 redacted · 0 too much · 0 partly exposed · 0 missed |
|
- Fixtures
- 37
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
Fixtures for this detector
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
crates-io-token-actions-envcrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-bare-prosecrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-bearer-headercrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-cargo-logincrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-cargo-publish-tokencrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-chat-pastecrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-credentials-tomlcrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-dotenvcrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-exportcrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-json-api-keycrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-json-tokencrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-key-shape-barecrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-key-shape-quotedcrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-key-shape-unicode-crlfcrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-sdk-kwargcrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-x-api-key-headercrates-io · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
crates-io-token-actions-secret-referencecrates-io · templated-reference | Must not flagT3 · Project policy | Quiet |
crates-io-token-angle-brackets-placeholdercrates-io · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
crates-io-token-body-31-twincrates-io · wrong-length | Must not flagT1 · Provider-documented · twin | Quiet |
crates-io-token-body-33-twincrates-io · wrong-length | Must not flagT1 · Provider-documented · twin | Quiet |
crates-io-token-cio-identifiers-public-idcrates-io · public-identifier | Must not flagT3 · Project policy | Quiet |
crates-io-token-cio-inside-long-run-encoded-valuecrates-io · benign-encoded-value | Must not flagT3 · Project policy | Quiet |
crates-io-token-cio-words-prosecrates-io · prose-mention | Must not flagT3 · Project policy | Quiet |
crates-io-token-ellipsis-placeholdercrates-io · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
crates-io-token-env-reference-referencecrates-io · templated-reference | Must not flagT3 · Project policy | Quiet |
crates-io-token-hyphen-in-body-twincrates-io · wrong-alphabet | Must not flagT1 · Provider-documented · twin | Quiet |
crates-io-token-label-prosecrates-io · benign-lookalike | Must not flagT3 · Project policy | Quiet |
crates-io-token-leading-glue-twincrates-io · boundary-violation | Must not flagT3 · Project policy · twin | Quiet |
crates-io-token-leading-underscore-twincrates-io · boundary-violation | Must not flagT3 · Project policy · twin | Quiet |
crates-io-token-maskcrates-io · benign-lookalike | Must not flagT3 · Project policy | Quiet |
crates-io-token-prefix-onlycrates-io · benign-lookalike | Must not flagT1 · Provider-documented | Quiet |
crates-io-token-referencecrates-io · benign-lookalike | Must not flagT3 · Project policy | Quiet |
crates-io-token-short-bodycrates-io · benign-lookalike | Must not flagT1 · Provider-documented | Quiet |
crates-io-token-trailing-underscore-twincrates-io · boundary-violation | Must not flagT3 · Project policy · twin | Quiet |
crates-io-token-truncated-near-misscrates-io · format-near-miss | Must not flagT1 · Provider-documented | Quiet |
crates-io-token-underscore-in-body-twincrates-io · wrong-alphabet | Must not flagT1 · Provider-documented · twin | Quiet |
crates-io-token-uppercase-prefix-twincrates-io · prefix-near-miss | Must not flagT1 · Provider-documented · twin | Quiet |