Prevent email addresses and personal data from entering the codebase. Use when user asks to "prevent emails", "remove personal data", "privacy check", "no email", or when writing/ editing any code, config, or documentation files.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill privacy-first --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Privacy First?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-privacy-first)More formats (shields.io, HTML) on the badges page.
---
name: privacy-first
description: >
Prevent email addresses and personal data from entering the codebase.
Use when user asks to "prevent emails", "remove personal data", "privacy check",
"no email", or when writing/ editing any code, config, or documentation files.
license: MIT
compatibility: Works with Claude Code, OpenCode, and similar agents. No external dependencies.
metadata:
author: d-oit
version: "1.0"
project: do-web-doc-resolver
tags: privacy security email lint quality personal-data
---
# Privacy First
This skill ensures no email addresses or personal data leak into the codebase.
It provides detection, prevention, and automated checking.
## When to activate
- User asks: "prevent emails", "remove personal data", "privacy check", "never use email"
- Before writing any new code, config, or documentation file
- During code review or quality gate checks
- When adding contact information to any file
## Agent Workflow
### 1. Before Writing Any File
Before creating or editing any file, check for email patterns:
```bash
# Scan the file being edited for email patterns
grep -E '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' <file> || true
```
### 2. Replacement Rules
| Context | Instead of | Use |
|---|---|---|
| Author/contact | `support@project.com` | GitHub Issues link |
| Support | `help@project.com` | `https://github.com/owner/repo/issues` |
| Code of Conduct | `contact@project.com` | "Report via GitHub Issues" |
| Package metadata | `email = "..."` | Remove email field entirely |
| Examples | `user@gmail.com` | Test domain: `user@example.com` (only in tests) |
### 3. File-Type Specific Rules
**Python (pyproject.toml, setup.py)**
```toml
# Bad
authors = [{name = "Author", email = "author@example.com"}]
# Good
authors = [{name = "Author"}]
```
**Markdown (README.md, CONTRIBUTING.md)**
```markdown
<!-- Bad -->
Contact: support@project.com
<!-- Good -->
Report issues: https://github.com/owner/repo/issues
```
**Configuration files**
- Never add email fields
- Use URLs to GitHub instead
### 4. Exceptions (Allowed)
The following are permitted and should NOT be flagged:
- Test data in `tests/` directories using standard test domains:
- `example.com`, `example.org`, `test.com`, `localhost`
- URLs in documentation pointing to external services
- Git history (cannot modify)
- Skill reference files with generic examples (for demonstration)
## Quality Gate Integration
To add automated checks to pre-commit or CI:
```bash
# Add to scripts/quality_gate.sh or .pre-commit-config.yaml
# Scan for email patterns (exclude test data and git)
EMAIL_PATTERN='[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
# Exclude patterns (test domains, git, node_modules)
EXCLUDE_PATTERN='example\.com|example\.org|test\.com|\.git|node_modules'
# Check source files
if grep -rE "$EMAIL_PATTERN" --include="*.py" --include="*.toml" --include="*.yaml" --include="*.json" --include="*.md" . 2>/dev/null | grep -vE "$EXCLUDE_PATTERN"; then
echo "ERROR: Email address detected in codebase"
exit 1
fi
```
## Quick Reference
**Never do:**
- Add `email = "..."` to any config file
- Write `contact@project.com` in any markdown
- Use real email addresses in examples
- Include personal emails in commit messages
**Always do:**
- Use GitHub Issues URLs for support
- Remove email fields from package metadata
- Use test domains (`example.com`) only in test files
- Link to SECURITY.md for vulnerability reporting
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!