sensitive-data-review
Automated security review to prevent accidental exposure of credentials and PII.
Install
mkdir -p .claude/skills/sensitive-data-review && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17958" && unzip -o skill.zip -d .claude/skills/sensitive-data-review && rm skill.zipInstalls to .claude/skills/sensitive-data-review
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when reviewing code, tests, fixtures, docs, or commits for sensitive data exposure: names, phone numbers, emails, usernames, passwords, tokens, API keys, private IDs, birth dates, postal codes (PLZ/ZIP), hometown/Heimatort, or school-specific class/course identifiers.Key capabilities
- →Scan for likely credentials and tokens
- →Search for direct identifiers and contact data
- →Scan for school-domain specific identifiers
- →Triage findings into true positives, domain-specific, or false positives
- →Apply safe replacements with generic placeholders
How it works
This skill prevents accidental publication of sensitive data by running pattern-based scans for secrets, personal data, and domain-specific identifiers across various repository scopes, followed by triaging findings and applying safe replacements.
Inputs & outputs
When to use sensitive-data-review
- →Scanning repo before push
- →Checking for leaked API keys
- →Identifying PII in documentation
- →Reviewing logs for sensitive user data
About this skill
Sensitive Data Review
Outcome
Prevent accidental publication of secrets and personal information in a public repository by running a repeatable scan, triaging findings, and verifying safe replacements.
When To Use
- Before commit, push, release, or PR review.
- After adding fixtures, logs, traces, screenshots, or copied upstream payloads.
- When modifying auth, env vars, request logging, or docs.
Inputs
- Target scope:
repo,staged, or a folder path. - Mode:
quickorthorough.
Procedure
- Set scan scope.
repo: whole repository.staged: only staged changes viagit diff --cached.- path: specific directory.
- Run secret-pattern scan.
- Search for likely credentials and tokens:
rg -n -i "(api[_-]?key|secret|token|password|passwd|authorization: bearer|x-api-key|private[_-]?key|BEGIN (RSA|EC|OPENSSH) PRIVATE KEY|AKIA[0-9A-Z]{16}|ghp_[A-Za-z0-9]{20,}|sk_[A-Za-z0-9]{16,}|eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9._-]{10,})" <scope>
- Run personal-data scan.
- Search for direct identifiers and contact data:
rg -n -i "([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}|\+?[0-9][0-9\-() ]{7,}[0-9]|(first|last)?name\s*[:=]|address\s*[:=]|student[_ -]?id|teacher|guardian|birth(date)?|geburtsdatum|username\s*[:=]|zip(city)?\s*[:=]|postal|plz|heimatort|hometown)" <scope>
- Run school-domain specificity scan.
- Search for non-generic class/course tokens and institution-specific labels:
rg -n -i "(class\s+[0-9A-Za-z-]+|course\s+[0-9A-Za-z-]+|mandator|school|portal|resource_list|real user|real student|real teacher)" <scope>
4b. Run teacher-coded/class-token scan (required for fixtures/tests/docs).
- Search for school-coded identifiers that can expose class and teacher mappings (examples:
SUBJECT-CODE_A1-TEACHER,CLASS-TRACK_TERM-GROUP,MODULE-CODE_PROGRAM-OWNER):
rg -n "\b[A-Z]{1,6}-[A-Z0-9]+(?:_[A-Z0-9]+)+(?:-[A-Z0-9]+)?\b|\b[A-Z]{1,6}-[A-Z0-9]+-[A-Z0-9]+\b" <scope>
- Treat hits in fixtures, tests, docs, logs, and examples as sensitive unless clearly synthetic placeholders.
- Triage each finding.
True positive secret: remove and rotate where required.True positive personal data: replace with generic placeholders.Domain-specific but non-sensitive: keep only if required; otherwise genericize.False positive: keep and record why.
Personal data includes direct identifiers and quasi-identifiers that can identify a person in context, including date of birth, postal code, city, and hometown.
Treat the following as sensitive by default, including in test fixtures: PLZ/ZIP, Geburtsdatum/birth date, and Heimatort/hometown.
Only keep them when values are fully synthetic placeholders.
- Apply safe replacements.
- Use placeholders like
STUDENT_NAME,TEACHER_NAME,COURSE_TOKEN,[email protected],000-000-0000. - Replace school-coded class/course identifiers with generic placeholders (for example
COURSE-ALPHA,COURSE-BRAVO,CLASS-GROUP-1) and update assertions accordingly. - For location/date fields, use placeholders like
0000 Placeholder City,01.01.2000,Placeholder Hometown. - Keep format shape intact for parser tests.
- Do not weaken test coverage while sanitizing fixtures.
- Verify and re-scan.
- Re-run all scans to ensure no sensitive matches remain.
- Check
git diffto confirm replacements are complete and readable.
Decision Points
- If a value can grant access, treat it as secret even if short-lived.
- If data can identify a real person in context, sanitize it.
- If uncertain whether data is sensitive, escalate and do not publish unchanged.
Completion Checks
- No high-confidence secret matches in current scope.
- No real personal identifiers remain in changed files.
- No teacher-coded or school-specific class tokens remain in fixtures/tests/docs unless they are explicitly synthetic placeholders.
- Fixtures and docs use generic placeholders.
- Any accepted false positives are explicitly justified in review notes.
Quick Mode
- Run secret-pattern scan on staged files.
- Sanitize true positives.
- Re-scan staged files.
Thorough Mode
- Run all three scans on the full repository.
- Review test fixtures, docs, and scripts manually for context leaks.
- Re-scan and confirm completion checks.
When not to use it
- →When publishing unchanged sensitive data
- →When weakening test coverage while sanitizing fixtures
- →When ignoring explicit user consent for restricted sensitivity
Limitations
- →Requires manual triaging of findings
- →Relies on regular expressions for pattern matching
- →Requires explicit justification for accepted false positives
How it compares
This skill provides a systematic, multi-layered scanning and remediation process for sensitive data exposure, including specific patterns for school-domain identifiers, which is more thorough than a basic keyword search.
Compared to similar skills
sensitive-data-review side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| sensitive-data-review (this skill) | 0 | 4mo | Review | Intermediate |
| security-scanning-security-dependencies | 1 | 3mo | No flags | Intermediate |
| dependency-management-deps-audit | 1 | 3mo | No flags | Intermediate |
| ship-safe | 0 | 1mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
security-scanning-security-dependencies
sickn33
You are a security expert specializing in dependency vulnerability analysis, SBOM generation, and supply chain security. Scan project dependencies across ecosystems to identify vulnerabilities, assess risks, and recommend remediation.
dependency-management-deps-audit
sickn33
You are a dependency security expert specializing in vulnerability scanning, license compliance, and supply chain security. Analyze project dependencies for known vulnerabilities, licensing issues, outdated packages, and provide actionable remediation strategies.
ship-safe
kinncj
Run ship-safe security and quality audit on the current project. Executes npx ship-safe audit . and reports findings by severity. Use before shipping any feature or PR.
review-security
ResearchMonkey
Full-project security sweep — OWASP dependency check, secrets scan, CVE audit, auth pattern review, governance compliance. Use for periodic security audits or standalone security assessments.
security-review
DrinkBoooz
Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features. Provides comprehensive security checklist and patterns.
contrib-pr-review
homeassistant-ai
Review a contribution PR for safety, quality, and readiness. Checks for security concerns, test coverage, size appropriateness, and intent alignment. Use when reviewing external contributions.