Skip to content
Back to skills

Privacy First

ASecurity

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.

  • 4 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 12, 2026
documentationpythongobashnodegitsecuritydocumentation

Works with

  • claude code

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill privacy-first --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Privacy First?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Privacy First
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-privacy-first/badge)](https://www.skillsdirectory.com/skills/aibot88-privacy-first)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Files in this skill

  • SKILL.md3.4 KB
  • source.json745 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.