🧪 Skills
Privacy Protector
Runs PII anonymization, local de-anonymization, and deterministic local detector checks for text and supported files. Use for redact/restore flows, file-firs...
v0.1.0
Description
name: privacy-protector description: >- Runs PII anonymization, local de-anonymization, and deterministic local detector checks for text and supported files. Use for redact/restore flows, file-first anonymization, or offline detector tuning with allowlist, blocklist, and threshold controls. version: 0.1.0 metadata: clawdbot: homepage: https://github.com/mode-io/mode-io-skills/tree/main/privacy-protector requires: bins: - python3
Run anonymization and restore flows
Use this skill when you need to anonymize text/files, restore placeholders with a saved map, or tune the local detector.
Maintainer-only validation assets are excluded from ClawHub uploads.
Scope
- Included:
- anonymize (
scripts/anonymize.py) - deanonymize (
scripts/deanonymize.py) - local detector diagnostics (
scripts/detect_local.py) - file/map workflow helpers behind those entrypoints
- anonymize (
- Not included:
- request/response gateway routing (
modeio-middleware) - command safety analysis (
security) - staged-diff or git pre-commit scanning
- request/response gateway routing (
Working directory
Run these commands from inside the privacy-protector folder.
Requirements
- Hard requirement:
python3 - Optional package:
requestsfor API-backeddynamic,strict, andcrossborder - Optional package:
python-docxfor.docx - Optional package:
PyMuPDFfor.pdf - Optional override:
ANONYMIZE_API_URLfor non-litelevels - Optional override:
MODEIO_REDACT_MAP_DIRfor local map storage
Core commands
Anonymize text
python3 scripts/anonymize.py \
--input "Email: alice@example.com, Phone: 415-555-1234" \
--level lite \
--json
Anonymize a file
python3 scripts/anonymize.py \
--input ./incident.docx \
--level lite \
--json
Restore from a saved map
python3 scripts/deanonymize.py \
--input "Email: [EMAIL_1]" \
--map ~/.modeio/redact/maps/<map-id>.json \
--json
Tune the local detector
python3 scripts/detect_local.py \
--input "Project codename Phoenix is approved. Reach support@example.com." \
--allowlist-file examples/detect-local/allowlist.json \
--blocklist-file examples/detect-local/blocklist.json \
--thresholds-file examples/detect-local/thresholds.json \
--json
Runtime notes
literuns fully local.dynamic,strict, andcrossbordercall the backend API- For
crossborder, pass both--sender-codeand--recipient-code - Supported file inputs:
.txt,.md,.markdown,.csv,.tsv,.json,.jsonl,.yaml,.yml,.xml,.html,.htm,.rst,.log,.docx,.pdf - Saved maps default to
~/.modeio/redact/maps; useMODEIO_REDACT_MAP_DIRto override that location - Text-like outputs get embedded map markers or sidecar
.map.jsonreferences when needed .pdfsupports anonymization only; de-anonymization is not supported- Rich-file outputs keep assurance metadata in the JSON response so callers can decide how strict they want to be
- Use
--jsonwhen you want the stable machine-readable envelope and file workflow metadata
Resources
ARCHITECTURE.mdfor package boundariesreferences/cli-contracts.mdfor flags and output contractsreferences/file-workflows.mdfor map linkage and assurance behaviorreferences/local-detector.mdfor profiles and shipped config examplesexamples/detect-local/for ready-to-edit tuning files
When not to use
- Middleware interception or policy routing
- Safety approval/block decisions
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!