Skip to content

feat: PIPA-RET-001 personal-data retention detector - #11

Merged
rostradamus merged 1 commit into
mainfrom
feat/pipa-retention-detector
Jul 3, 2026
Merged

feat: PIPA-RET-001 personal-data retention detector#11
rostradamus merged 1 commit into
mainfrom
feat/pipa-retention-detector

Conversation

@rostradamus

Copy link
Copy Markdown
Owner

Summary

Adds a sixth detector (the roadmap's data-retention item), giving PIPA a fourth check and filling a real gap: personal data kept with no destruction policy.

  • PIPA-RET-001 → flags personal-data field declarations (email, phone, resident number, + Korean equivalents) when the file shows no destruction / retention-limit handling. Maps to PIPA Art. 21 (destroy personal info once its purpose is met).
  • This is the inverse of ECA-RET-001 (which flags missing preservation of transaction records), so the two are distinct, not redundant.

Precision

  • Only stored field declarations trigger it — method signatures, log statements, and other mentions of a personal-data term do not (verified: fires on MemberEntity/ProfileEntity fields, not on the logging service or method params).
  • Any destruction/retention marker (deletedAt, expire, purge, anonymize, 파기, 보관기간, …) anywhere in the file clears it.
  • Comment-only mentions neither trigger nor suppress.

Test plan

  • 6 unit tests (positive / destruction-present / non-field mention / no-FP / comment / metadata) + ProfileEntity.java fixture
  • Registered in the CLI + both test registries
  • go build, go vet, go test ./..., gofmt -l . clean; README (EN/KO) + roadmap updated

🤖 Generated with Claude Code

Flags personal-data fields (email, phone, resident number, and Korean
equivalents) stored without any destruction or retention-limit handling
— the risk that personal information is kept indefinitely, which PIPA
Article 21 addresses (destroy once the purpose is met). This is the
inverse of ECA-RET-001, which flags missing preservation of transaction
records, so the two do not overlap.

Precision: only stored field declarations count (not method signatures
or log statements), and any destruction/retention marker anywhere in the
file clears it. Six tests plus a fixture; wired into the registry and
both test registries; README/detector tables updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rostradamus
rostradamus merged commit 2edbca0 into main Jul 3, 2026
4 checks passed
@rostradamus
rostradamus deleted the feat/pipa-retention-detector branch July 3, 2026 19:17
rostradamus added a commit that referenced this pull request Jul 3, 2026
Ships the PIPA-RET-001 personal-data retention detector (#11). Bumps the
README action example to rostradamus/klaws@v0.1.4.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant