redact-secret · Report
API key (pcsk_)
Current pcsk_<label>_<secret> API key; prefix from provider code, segment widths tool-corroborated.
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
- Descriptive pattern
^pcsk_[A-Za-z0-9]{5,6}_[A-Za-z0-9]{63}$
Parts are shown as recorded. Evidence classes belong to the facts below; no class is assigned to a part.
Format facts
Unresolved ·
tool-corroboration· current · observed 2026-09-24Pinned scanner rules are consistent with the contract grammar (1 artifact: trufflehog 3.97.4).
- trufflesecurity/trufflehog @ v3.97.4: pkg/detectors/pinecone/pinecone.goscanner-rule-source · last read 2026-09-24 · latest outcome read · supports trufflehog 3.97.4: Pinecone
Provider documented ·
field-prefix· current · observed 2026-09-24prefix: pcsk_
- pinecone-io/cli @ main: internal/pkg/cli/command/config/set.goprovider-sdk-source · last read 2026-09-24 · latest outcome read · supports prefix: pcsk_
- pinecone-io/skills @ main: CLAUDE.mdprovider-sdk-source · last read 2026-09-24 · latest outcome read · supports prefix: pcsk_
Provider documented ·
field-segments· current · observed 2026-09-24segments: pcsk_<label>_<secret>, underscore-separated
- pinecone-io/python-sdk @ main: tests/unitprovider-sdk-source · last read 2026-09-24 · latest outcome read · supports short stand-in values with a label segment
Unresolved ·
field-label-width· current · observed 2026-09-24label width: 5 or 6 alphanumeric characters
- trufflesecurity/trufflehog @ main: pkg/detectors/pinecone/pinecone.goscanner-rule-source · last read 2026-09-24 · latest outcome read · supports PR #4917 "verified against real keys"; a 4-character label is rejected by its test
Tool corroborated ·
field-secret-width· current · observed 2026-09-24secret width: exactly 63 alphanumeric characters (74-75 total) (pleno-dlp's looser pcsk_[A-Za-z0-9_]{40,} is recorded as a peer difference.)
- betterleaks/betterleaks @ main: cmd/generate/config/rules/pinecone.goscanner-rule-source · last read 2026-09-24 · latest outcome read · supports secret width: exactly 63 alphanumeric characters (74-75 total)
- trufflesecurity/trufflehog @ main: pkg/detectors/pinecone/pinecone.goscanner-rule-source · last read 2026-09-24 · latest outcome read · supports secret width: exactly 63 alphanumeric characters (74-75 total)
Unresolved ·
field-documented-pckey-prefix· current · observed 2026-09-24documented pckey_ prefix: Admin API docs: new keys have the format pckey_<public-label>_<unique-key> (Contradicts every pcsk_ observation; neither positive nor negative here.)
- docs.pinecone.io/reference/api/2026-04/admin/create_api_keyprovider-documentation · last read 2026-10-03 · latest outcome read · supports documented pckey_ prefix: Admin API docs: new keys have the format pckey_<public-label>_<unique-key>
Unresolved ·
listed-references· current · observed 2026-09-24The legacy contract lists 1 reference without stating which property each supports.
- docs.pinecone.io/reference/api/2026-04/admin/create_api_keyprovider-documentation · last read 2026-10-03 · latest outcome read · supports Listed as a reference by the legacy contract
Unresolved ·
dossier-research· current · observed 2026-09-24Legacy dossier research (verdict ready, tier T2) cited 3 sources; the dossier does not attribute sources to individual properties.
- docs.pinecone.io/reference/api/authenticationprovider-documentation · last read 2026-09-29 · latest outcome read · supports Cited by the legacy dossier research for this family
- docs.pinecone.io/reference/api/2026-04/admin/create_api_keyprovider-documentation · last read 2026-10-03 · latest outcome read · supports Cited by the legacy dossier research for this family
- redact-secret/redact-secret @ 8b6a5fde52ecb4dfce13f09c7a947062d21483c7: docs/audits/evidence/726/README.mdproject-research-note · last read 2026-09-27 · latest outcome read · supports Final research evidence recorded by the legacy dossier
Unresolved ·
taxonomy-sources· current · observed 2026-09-24The legacy taxonomy lists 1 source for this family. The taxonomy records no date; the dossier researchedAt is used as the observed-at date.
- pinecone-io/cli @ main: internal/pkg/cli/command/config/set.goprovider-sdk-source · last read 2026-09-24 · latest outcome read · supports Listed as a source for this family in the legacy taxonomy
Open questions
No open question is recorded for this revision.
Benchmark dossier notes
- Shape
- prefix
pcsk_, then a public label of 5 or 6 letters and digits,_, and a 63-character letters-and-digits secret (74 or 75 in total). The prefix comes from Pinecone's CLI and SDK code and tests; the segment widths come from scanner rules (TruffleHog and others). The Admin API docs instead say new keys arepckey_<public-label>_<unique-key>, and no scanner, sample or report shows apckey_value. The switch from UUID keys topcsk_is undated. - Basis
- T2. Provider code (CLI help text, SDK tests) for the prefix; scanner rules for widths. The
pckey_text is provider documentation and is unresolved, not a negative. - Issuance
- not attempted. The free Starter plan issues keys with permissions fixed at All. A key made through the Admin API would test
pckey_(needs a service account). - Contract in core
- detector-families.md (frozen in the #726 record, implemented under #730).
In this benchmark
- Fixtures
- 43
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
43 fixtures: 18 expect a redaction, 24 must stay quiet, 1 record project policy. See every row
| Evidence level | Fixtures | Left readable | Too much | False alarms |
|---|---|---|---|---|
| T2Tool-corroborated | 33 | 0 | 0 | 0 |
| T3Project policy | 10 | 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 | 43 | 19 | 0 | 0 |
| gitleaksRepository scanner · 8.30.1 · Directory scan · default rulesNo rule maps to it | 43 | 6 | 0 | 2 |
| redact-secretProduct measured here · 0.1.0-beta.14 · Published npm package · default detectors1 detector mapped | 43 | 0 | 0 | 0 |
| trufflehogRepository scanner · 3.97.4 · Filesystem scan · verification disabled1 rule targets it | 43 | 0 | 0 | 0 |
Benchmark dossier questions
- Open caveat
- Provider docs contradict the observed prefix (pckey_ vs pcsk_) and give no widths; the prefix is provider code, the 5-6 and 63 character widths are tool-only (checklist in benchmarks#228).
Looks like it, but isn't
- Collisions
- service account
client_id(32 alphanumeric) andclient_secret(about 64 characters of letters, digits,-,_; no prefix) are other credentials. UUIDs everywhere (key, project, service account and organization ids) are public. Masked forms:pcsk***plus four characters (CLI) and...plus four (Pythonrepr). Index hosts andPINECONE_ENVIRONMENTstrings are public.
Scanner rules for this family
| Scanner | Rule | What the rule matches |
|---|---|---|
| trufflehog · rules 3.97.4 | pinecone | pcsk_ + 5-6 characters + _ + 63 characters |
No rule maps to this family in flare-redact, gitleaks, openredaction.
Fixtures in this family
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
cerebras-api-key-pinecone-key-near-misspinecone · credential-named-literal-near-miss | Project policyT3 · Project policy | Redacted |
pinecone-api-key-actions-envpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-api-key-headerpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-compose-envpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-dotenvpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-error-logpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-exportpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-header-placeholder-placeholderpinecone · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-json-configpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-key-shape-barepinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-key-shape-quotedpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-key-shape-unicode-crlfpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-n8n-credentialpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-pc-configpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-python-clientpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-secret-printpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-short-secret-twinpinecone · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
pinecone-api-key-ts-clientpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-twin-base-dotenvpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-twin-base-exportpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-twin-base-pythonpinecone · documented-format-literal | Must redactT2 · Tool-corroborated | Redacted |
pinecone-api-key-base64-host-encoded-valuepinecone · benign-encoded-value | Must not flagT2 · Tool-corroborated | Quiet |
pinecone-api-key-cli-environment-public-idpinecone · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
pinecone-api-key-cli-mask-placeholderpinecone · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-ellipsis-placeholderpinecone · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-env-reference-referencepinecone · templated-reference | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-hyphen-delimiter-twinpinecone · boundary-violation | Must not flagT2 · Tool-corroborated · twin | Quiet |
pinecone-api-key-index-host-public-idpinecone · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
pinecone-api-key-key-guidance-prosepinecone · prose-mention | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-label-prosepinecone · benign-lookalike | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-long-label-twinpinecone · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
pinecone-api-key-long-secret-twinpinecone · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
pinecone-api-key-maskpinecone · benign-lookalike | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-prefix-letter-twinpinecone · prefix-near-miss | Must not flagT2 · Tool-corroborated · twin | Quiet |
pinecone-api-key-prefix-onlypinecone · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
pinecone-api-key-prefix-only-near-misspinecone · format-near-miss | Must not flagT2 · Tool-corroborated | Quiet |
pinecone-api-key-project-id-public-idpinecone · public-identifier | Must not flagT2 · Tool-corroborated | Quiet |
pinecone-api-key-referencepinecone · benign-lookalike | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-sdk-environ-referencepinecone · templated-reference | Must not flagT3 · Project policy | Quiet |
pinecone-api-key-short-bodypinecone · benign-lookalike | Must not flagT2 · Tool-corroborated | Quiet |
pinecone-api-key-short-label-twinpinecone · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
pinecone-api-key-short-label-twin-wrong-lengthpinecone · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
pinecone-api-key-short-secret-twin-wrong-lengthpinecone · wrong-length | Must not flagT2 · Tool-corroborated · twin | Quiet |
Sources
Documentation and code
- github.com/pinecone-io/cli/blob/main/internal/pkg/cli/command/config/set.go
- docs.pinecone.io/reference/api/2026-04/admin/create_api_key
- docs.pinecone.io/reference/api/authentication
Research log
- redact-secret/redact-secret-benchmarks#228Research issue
- redact-secret/redact-secret#726Research issue
- redact-secret/redact-secret#730Research issue
- Final evidence, pinned to a commit/redact-secret/redact-secret/blob/8b6a5fde52ecb4dfce13f09c7a947062d21483c7/docs/audits/evidence/726/README.md