has-anonymizer
Installation
SKILL.md
HaS Privacy
HaS exposes a single umbrella CLI:
has text ...for text anonymization, restoration, and scanninghas image ...for image scanning, masking, and category discovery
Use it when you need to remove private data locally before sending content elsewhere, inspect a directory for privacy risks, or mask visual privacy targets in photos and screenshots.
Agent Decision Guidelines
- Prefer
has textfor plaintext andhas imagefor raster images. For mixed directories, run both and combine the results into one report. - For PDFs, Word documents, or scanned pages, extract text first and then use
has text. For screenshots/photos where the goal is simply to hide visible carriers such as faces, screens, paper, labels, or QR codes, usehas image. If the goal is to reason about the text content inside an image, run OCR first and then usehas text. - Do not overwrite or delete the original files. Text commands can restore later, image masking is irreversible.
- Proactively mention configurable knobs when the user intent is clear:
has textuses repeated--type;has imageuses repeated--type, plus--methodand--strength. - If the user intent is ambiguous, start with
scanbeforehide. - After batch scans, summarize text file count, image file count, findings by type/category, high-risk items, and the suggested next step.
- If timing matters to the user, add
--timingand report the elapsed result in plain language afterward. - For
qr_codeandbarcode, the default mosaic strength is automatically raised based on the detection size to ensure the encoding is destroyed. The agent does not need to manually increase--strengthfor these categories. If a detection output includeseffective_strength, report it to the user.