privacy-protector

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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "privacy-protector" with this command: npx skills add modeioai/privacy-protector

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
  • Not included:
    • request/response gateway routing (modeio-middleware)
    • command safety analysis (security)
    • staged-diff or git pre-commit scanning

Working directory

Run these commands from inside the privacy-protector folder.

Requirements

  • Hard requirement: python3
  • Optional package: requests for API-backed dynamic, strict, and crossborder
  • Optional package: python-docx for .docx
  • Optional package: PyMuPDF for .pdf
  • Optional override: ANONYMIZE_API_URL for non-lite levels
  • Optional override: MODEIO_REDACT_MAP_DIR for 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

  • lite runs fully local. dynamic, strict, and crossborder call the backend API
  • For crossborder, pass both --sender-code and --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; use MODEIO_REDACT_MAP_DIR to override that location
  • Text-like outputs get embedded map markers or sidecar .map.json references when needed
  • .pdf supports 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 --json when you want the stable machine-readable envelope and file workflow metadata

Resources

  • ARCHITECTURE.md for package boundaries
  • references/cli-contracts.md for flags and output contracts
  • references/file-workflows.md for map linkage and assurance behavior
  • references/local-detector.md for profiles and shipped config examples
  • examples/detect-local/ for ready-to-edit tuning files

When not to use

  • Middleware interception or policy routing
  • Safety approval/block decisions

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Accelo

Accelo integration. Manage Organizations, Leads, Pipelines, Users, Goals, Filters. Use when the user wants to interact with Accelo data.

Registry SourceRecently Updated
General

8X8

8x8 integration. Manage Persons, Organizations, Deals, Leads, Activities, Notes and more. Use when the user wants to interact with 8x8 data.

Registry SourceRecently Updated
General

7Shifts

7shifts integration. Manage Companies. Use when the user wants to interact with 7shifts data.

Registry SourceRecently Updated
General

46Elks

46elks integration. Manage Organizations. Use when the user wants to interact with 46elks data.

Registry SourceRecently Updated