redact-secret · Report · Detector
polar-api-credential
Format evidence
- Provider documentation polarsource/polar server/polar/kit/crypto.py (6a4f2f6): before 2025-01-02 prefix + secrets.token_urlsafe() (43 unpadded URL-safe Base64), since then 37 alphanumerics + a 6-character base62 CRC32; the prefix constants in personal_access_token/service.py and oauth2/constants.py; re-checked 2026-09-29 · observed 2026-09-29 · polar_pat_, polar_at_u_, polar_at_o_, polar_rt_u_, polar_rt_o_, polar_cs_ or polar_crt_ + exactly 43 [A-Za-z0-9_-] (the union of both eras)
- Reference 1
- Reference 2
- Reference 3
- Reference 4
- Reference 5
- Reference 6
- Reference 7
- Reference 8
- Reference 9
- Reference 10
- Reference 11
- Reference 12
- Reference 13
- Reference 14
- Reference 15
Arrival evidence (#528, product redact-secret#1020; #1014 handoff polar.md, READY). Personal access tokens, OAuth access and refresh tokens, the OAuth client secret and the client registration token act for a user or an organization, or let an integration mint tokens. T1 under R1 and R9: the prefix constants and both eras are the provider's server code. The grammar is the union of the two issued grammars: an era-1 body is 43 URL-safe bytes, an era-2 body is 43 alphanumerics (a subset), and no checksum applies to these roles because an era-1 body is all-alphanumeric about a quarter of the time. polar_pat_ is no longer minted but existing tokens are accepted. polar_at_ without its u_/o_ sub-type is not a prefix. The body class contains _ and -, so a trailing byte lengthens the run and no trailing-glue twin is authored (#84). Neither pinned peer has a Polar rule.
What the run recorded, by group
| Group | Fixtures | Leaked or false alarms | Near-twins | Outcomes | Other scanners, same cell |
|---|---|---|---|---|---|
| Must not flag · Provider-documented | 2 | False alarmsinsufficient-evidence0 of 2 controls flagged | 2 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 | 12 | Secret spans left readableat most 24.3%0 of 12 spans | Near-twins told apartinsufficient-coverage4 of 4 pairs | 12 redacted · 0 too much · 0 partly exposed · 0 missed |
|
| Pending review | 6 | UnscoredNot scoredInspect only: never scored until evidence exists | Not scored |
- Fixtures
- 28
- Left readable
- 0
- Redacted too much
- 0
- False alarms
- 0
Fixtures for this detector
| Fixture | Kind and evidence | redact-secret |
|---|---|---|
polar-api-credential-bare-prosepolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-bearer-headerpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-chat-pastepolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-client-secret-envpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-dotenvpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-exportpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-json-api-keypolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-json-tokenpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-oauth-refresh-jsonpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-python-sdkpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-sdk-kwargpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-x-api-key-headerpolar · documented-format-literal | Must redactT1 · Provider-documented | Redacted |
polar-api-credential-access-token-without-subtype-twinpolar · prefix-near-miss | Must not flagT3 · Project policy · twin | Quiet |
polar-api-credential-actions-secret-referencepolar · templated-reference | Must not flagT3 · Project policy | Quiet |
polar-api-credential-body-42-twinpolar · unsettled-evidence-input | Pending reviewT0 · Pending · twin | Unscored |
polar-api-credential-body-44-twinpolar · unsettled-evidence-input | Pending reviewT0 · Pending · twin | Unscored |
polar-api-credential-checkout-link-secret-public-idpolar · unsettled-evidence-input | Pending reviewT0 · Pending | Unscored |
polar-api-credential-client-id-in-url-public-idpolar · unsettled-evidence-input | Pending reviewT0 · Pending | Unscored |
polar-api-credential-dot-in-body-twinpolar · wrong-alphabet | Must not flagT3 · Project policy · twin | Quiet |
polar-api-credential-ellipsis-placeholderpolar · documentation-placeholder | Must not flagT3 · Project policy | Quiet |
polar-api-credential-env-reference-referencepolar · templated-reference | Must not flagT3 · Project policy | Quiet |
polar-api-credential-leading-glue-twinpolar · unsettled-evidence-input | Pending reviewT0 · Pending · twin | Unscored |
polar-api-credential-role-guidance-prosepolar · prose-mention | Must not flagT3 · Project policy | Quiet |
polar-api-credential-setting-names-public-idpolar · unsettled-evidence-input | Pending reviewT0 · Pending | Unscored |
polar-api-credential-truncated-near-misspolar · format-near-miss | Must not flagT3 · Project policy | Quiet |
polar-api-credential-unknown-role-twinpolar · prefix-near-miss | Must not flagT1 · Provider-documented · twin | Quiet |
polar-api-credential-uppercase-prefix-twinpolar · prefix-near-miss | Must not flagT1 · Provider-documented · twin | Quiet |
polar-api-credential-x-run-placeholderpolar · documentation-placeholder | Must not flagT3 · Project policy | Quiet |