Skip to content

P3.6: Detector — client_storage scaffold and registration #82

Description

@bjcorder

Parent tracker: #62
Spec: docs/superpowers/specs/2026-05-21-edge-case-hardening-design.md
Milestone: P3

Goal

Create the new client_storage detector and register it. The detector recognises browser-side token storage and URL embedding patterns so P3.7 classifier rules can flag them.

Acceptance criteria

  • New module crates/sessionscope-detectors/src/client_storage/mod.rs.
  • Detector registered in crates/sessionscope-detectors/src/registry.rs.
  • Recognises:
    • localStorage.setItem(name, ...) and sessionStorage.setItem(name, ...)
    • document.cookie = ... (key portion)
    • URL builder patterns embedding token-shaped names in path segments or fragment identifiers
  • Token-shaped name patterns: access_token, id_token, refresh_token, jwt, bearer, auth, session (case-insensitive substring match, with documented allowlist to avoid noise).
  • Distinguishes path segments vs fragment identifiers (#token=...) since the existing query-param detector already covers ?token=.
  • Evidence excerpts redacted before reporting.

Files touched

  • crates/sessionscope-detectors/src/client_storage/mod.rs (new)
  • crates/sessionscope-detectors/src/registry.rs (register)

Audit-then-decide

  • No new finding category from this issue. Findings land in P3.7.

Doc-update checklist

  • docs/USAGE.md notes the new detector under "Storage hygiene".
  • Coverage-matrix entries deferred until P3.7 lands findings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions