Privacy Mask
Detect and mask sensitive information in images locally before they leave your machine.
Prerequisites
This skill requires the privacy-mask CLI to be pre-installed on the system.
If it is not available, inform the user that they need to install it first:
- Install via pip:
pip install privacy-mask
- Ensure Tesseract OCR is installed:
brew install tesseract (macOS) or apt install tesseract-ocr (Linux)
- Verify installation:
privacy-mask --version
- (Optional) Install NER support:
pip install privacy-mask[ner]
When to use
- User sends a screenshot or image file (
.png, .jpg, .jpeg, .bmp, .tiff) that may contain private data
- User mentions privacy, masking, redacting, or anonymizing
- You need to analyze an image but want to redact sensitive info first
- IF the user shares a screenshot for debugging, THEN run
privacy-mask mask <path> --dry-run first to check for PII
- IF detections are found, THEN mask the image before proceeding with analysis
Usage
Mask an image:
privacy-mask mask /path/to/screenshot.png
privacy-mask mask /path/to/screenshot.png --in-place
privacy-mask mask /path/to/screenshot.png --dry-run # detect only, no masking
privacy-mask mask /path/to/screenshot.png --detection-engine regex # regex only, skip NER
privacy-mask mask /path/to/screenshot.png --config /path/to/custom-config.json
Output is JSON:
{
"status": "success",
"detections": [{"label": "PHONE_CN", "text": "***", "bbox": [10, 20, 100, 30]}],
"summary": "Masked 1 regions: 1 PHONE_CN"
}
Example workflow
- User provides a screenshot:
~/Desktop/error-screenshot.png
- Run detection:
privacy-mask mask ~/Desktop/error-screenshot.png --dry-run
- IF detections found, mask the image:
privacy-mask mask ~/Desktop/error-screenshot.png
- The masked output is saved as
~/Desktop/error-screenshot_masked.png
- Use the masked image for further analysis
What it detects
- IDs: Chinese ID card, passport, HK/TW ID, US SSN, UK NINO, Canadian SIN, Indian Aadhaar/PAN, Korean RRN, Singapore NRIC, Malaysian IC
- Phone: Chinese mobile/landline, US phone, international (+prefix)
- Financial: Bank card, Amex, IBAN, SWIFT/BIC
- Developer keys: AWS, GitHub, Slack, Google, Stripe tokens, JWT, connection strings, API keys, SSH/PEM keys
- Crypto: Bitcoin, Ethereum wallet addresses
- Other: Email, birthday, IP/IPv6, MAC, UUID, license plate, MRZ, URL auth tokens
- NER (optional): Person names, street addresses, organizations, dates of birth, medical conditions
Constraints
- Do NOT send unmasked images to any external API or cloud service
- Do NOT skip masking when detections are found — always mask before sharing
- Do NOT modify the original image unless
--in-place is explicitly requested
- Avoid running on very large images (>10MB) without warning the user about processing time
Anti-patterns
- Don't assume images are safe — always run detection even if the image "looks clean"
- Don't use
--in-place by default — preserve the original unless the user asks otherwise
- Don't ignore dry-run results — if
--dry-run finds PII, the image must be masked before use
- Don't hardcode config paths — use the bundled default or let the user specify
--config
Important
- All processing is local and offline — no data leaves the machine
- Configure rules in the bundled
config.json or pass --config for custom rules
Limitations
- Use this skill only when the task clearly matches its upstream source and local project context.
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
Source: sickn33/agentic-awesome-skills → skills/privacy-mask/SKILL.md
Also appears in: sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/privacy-mask/SKILL.md, sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/privacy-mask/SKILL.md
1---2name: privacy-mask3description: Mask, redact, anonymize and censor sensitive information (PII) in screenshots and images — phone numbers, emails, IDs, API keys, crypto wallets, credit cards, passwords, and more. Uses OCR (Tesseract + RapidOCR) with 47 regex rules and optional NER (GLiNER) to detect private data and...4---567# Privacy Mask89Detect and mask sensitive information in images locally before they leave your machine.1011## Prerequisites1213This skill requires the `privacy-mask` CLI to be pre-installed on the system.14If it is not available, inform the user that they need to install it first:15161. Install via pip: `pip install privacy-mask`172. Ensure Tesseract OCR is installed: `brew install tesseract` (macOS) or `apt install tesseract-ocr` (Linux)183. Verify installation: `privacy-mask --version`194. (Optional) Install NER support: `pip install privacy-mask[ner]`2021## When to use2223- User sends a screenshot or image file (`.png`, `.jpg`, `.jpeg`, `.bmp`, `.tiff`) that may contain private data24- User mentions privacy, masking, redacting, or anonymizing25- You need to analyze an image but want to redact sensitive info first26- IF the user shares a screenshot for debugging, THEN run `privacy-mask mask <path> --dry-run` first to check for PII27- IF detections are found, THEN mask the image before proceeding with analysis2829## Usage3031Mask an image:32```bash33privacy-mask mask /path/to/screenshot.png34privacy-mask mask /path/to/screenshot.png --in-place35privacy-mask mask /path/to/screenshot.png --dry-run # detect only, no masking36privacy-mask mask /path/to/screenshot.png --detection-engine regex # regex only, skip NER37privacy-mask mask /path/to/screenshot.png --config /path/to/custom-config.json38```3940Output is JSON:41```json42{43 "status": "success",44 "detections": [{"label": "PHONE_CN", "text": "***", "bbox": [10, 20, 100, 30]}],45 "summary": "Masked 1 regions: 1 PHONE_CN"46}47```4849### Example workflow50511. User provides a screenshot: `~/Desktop/error-screenshot.png`522. Run detection: `privacy-mask mask ~/Desktop/error-screenshot.png --dry-run`533. IF detections found, mask the image: `privacy-mask mask ~/Desktop/error-screenshot.png`544. The masked output is saved as `~/Desktop/error-screenshot_masked.png`555. Use the masked image for further analysis5657## What it detects5859- **IDs**: Chinese ID card, passport, HK/TW ID, US SSN, UK NINO, Canadian SIN, Indian Aadhaar/PAN, Korean RRN, Singapore NRIC, Malaysian IC60- **Phone**: Chinese mobile/landline, US phone, international (+prefix)61- **Financial**: Bank card, Amex, IBAN, SWIFT/BIC62- **Developer keys**: AWS, GitHub, Slack, Google, Stripe tokens, JWT, connection strings, API keys, SSH/PEM keys63- **Crypto**: Bitcoin, Ethereum wallet addresses64- **Other**: Email, birthday, IP/IPv6, MAC, UUID, license plate, MRZ, URL auth tokens65- **NER** (optional): Person names, street addresses, organizations, dates of birth, medical conditions6667## Constraints6869- Do NOT send unmasked images to any external API or cloud service70- Do NOT skip masking when detections are found — always mask before sharing71- Do NOT modify the original image unless `--in-place` is explicitly requested72- Avoid running on very large images (>10MB) without warning the user about processing time7374## Anti-patterns7576- **Don't assume images are safe** — always run detection even if the image "looks clean"77- **Don't use `--in-place` by default** — preserve the original unless the user asks otherwise78- **Don't ignore dry-run results** — if `--dry-run` finds PII, the image must be masked before use79- **Don't hardcode config paths** — use the bundled default or let the user specify `--config`8081## Important8283- All processing is **local and offline** — no data leaves the machine84- Configure rules in the bundled `config.json` or pass `--config` for custom rules8586## Limitations8788- Use this skill only when the task clearly matches its upstream source and local project context.89- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.90- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.9192---9394**Source:** [`sickn33/agentic-awesome-skills`](https://github.com/sickn33/agentic-awesome-skills) → `skills/privacy-mask/SKILL.md`9596**Also appears in:** `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/privacy-mask/SKILL.md`, `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/privacy-mask/SKILL.md`