PII Guard — скилл

Локальное обезличивание личных данных в документах на традиционном китайском: коды-заменители и точный возврат после ИИ

  • 255 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Широкий доступ

Почему такой уровень

  • Инструмент работает с исходными документами, содержащими персональные данные, и сохраняет локальную таблицу соответствий с настоящими значениями
  • Необязательная служба `pii-guard-hookd` ставит постоянные хуки Claude Code и обрабатывает каждое чтение инструментов
Все причины и проверки

danyuchn/pii-guard

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/pii-guard

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Инструмент работает с исходными документами, содержащими персональные данные, и сохраняет локальную таблицу соответствий с настоящими значениями
  • Необязательная служба `pii-guard-hookd` ставит постоянные хуки Claude Code и обрабатывает каждое чтение инструментов

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

PII Guard заменяет персональные данные в документе на коды вида `<PERSON_1>`, чтобы файл можно было отдать облачной модели, а после ответа вернуть настоящие значения. Он рассчитан на документы Тайваня на традиционном китайском: номера удостоверений и видов на жительство, коды предприятий, местные телефоны, имена людей и названия организаций. Обнаружение идет локально через Presidio, модель CKIP BERT и правила, подмена и обратная замена выполняются обычным кодом, поэтому возвращается точный текст. В репозитории есть скилл `pii-safe-documents` для Claude Code. Главный агент получает только пути и безопасные квитанции: чтение исходника, таблицы соответствий и восстановленного файла идет в отдельном локальном процессе, а команды `redact`, `annotate` и `restore` проходят три шага. Страница ручной разметки открывается в вашем браузере, там можно закрыть пропущенное, вернуть ошибочно закрытое и посмотреть, что стоит за кодом. Для быстрой проверки не нужен Ollama. Усиленный режим добавляет аудит локальной моделью с тремя выборками на окно. Скилл принимает текстовые файлы UTF-8 до 64 КиБ, а CLI с дополнением `formats` читает и пишет docx, xlsx и PDF. Служба `pii-guard-hookd` распространяет защиту на каждое чтение инструментов Claude Code.

Для кого. Юристам, аналитикам и специалистам по данным, которые работают с тайваньскими документами и хотят использовать облачный ИИ, не отдавая ему имена и номера клиентов.

Подходит, если

  • Судебное решение или договор на традиционном китайском надо отдать облачной модели для резюме без имен сторон
  • После правки обезличенного текста нужно вернуть настоящие имена и номера на их места слово в слово
  • Пропущенное имя свидетеля надо закрыть вручную в браузере, и закрыть его сразу во всех местах документа
  • Claude Code читает файлы проекта, и защиту персональных данных нужно включить для каждого чтения инструментами

Не подходит, если

  • Нужна классификация секретности: инструмент прячет данные, которые указывают на человека, а суммы, диагнозы и условия договора остаются
  • Нужен шлюз для всех запросов к облачным моделям: это решают сетевые средства вроде LiteLLM с Presidio
  • Документы на английском или русском: правила и распознавание рассчитаны на традиционный китайский Тайваня
  • Нужен поиск по тексту в PDF-копии: вывод PDF растрируется, и текстовый слой пропадает

Пример запроса к агенту

Обезличь договор /Users/me/docs/contract.txt через pii-safe-documents, дай мне путь к копии и открой страницу ручной разметки

Ограничения

  • Требуются Python 3.13 (запускается и на 3.11), менеджер `uv` и загрузка модели CKIP BERT около 500 МБ. Ollama нужен только для усиленного режима и аудита.
  • Скилл рассчитан на текстовые файлы UTF-8 до 64 КиБ. Для docx, xlsx и PDF используют CLI с дополнением `formats`; сканы и OCR не поддержаны.
  • Основные платформы macOS и Linux. В Windows усиленный режим недоступен, потому что проверка Ollama использует `lsof`.
  • Обнаружение вероятностное: что-то пропускается, что-то закрывается лишнее, поэтому нужна ручная проверка.
  • Инструмент не гарантирует, что документ можно отдавать наружу целиком.

Как отключить. Удалите ссылку `~/.claude/skills/pii-safe-documents`, остановите и удалите службу командой `pii-guard-hookd uninstall`, если ставили, и очистите каталог заданий `~/.local/share/pii-safe-documents/jobs/` командой `purge`. Таблицы соответствий там хранят настоящие значения.

Частые вопросы

Как поставить скилл pii-safe-documents?

Склонируйте репозиторий, выполните `uv sync` и создайте ссылку `ln -s "$(pwd)/.agents/skills/pii-safe-documents" ~/.claude/skills/pii-safe-documents`. Копировать папку нельзя: скиллу нужно найти свой репозиторий.

Видит ли ИИ исходный документ?

Главный агент нет: чтение исходника, обезличивание и восстановление идут в отдельном локальном процессе, агенту отдают пути и квитанции. Автор оговаривает: это защита от случайной утечки, границей безопасности ОС она не служит.

Что значит быстрый режим?

Быстрый режим не запускает Ollama и опирается на Presidio, тайваньские правила и CKIP. Усиленный режим дополнительно прогоняет локальную модель для поиска пропущенного.

Какие форматы файлов поддерживаются?

Скилл берет `.txt`, `.md`, `.csv`, `.tsv`, `.log` и `.dat` в кодировке UTF-8 до 64 КиБ. CLI с дополнением `formats` умеет docx, xlsx и PDF, для PDF результат растрируется.

Заменяет ли инструмент сетевой шлюз?

Нет. По словам автора, для автоматического закрытия всех облачных запросов нужен шлюз вроде LiteLLM с Presidio. PII Guard дает одну обезличенную копию документа, которую можно сохранить.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

AgentShield проверяет папку .claude на ключи в открытом виде, широкие разрешения, опасные хуки и небезопасные MCP-серверы и ставит оценку от A до F

CLIРасширенный доступ1,4 тыс.Звезды репозитория

Хук безопасности для кодинг-агентов: оценка опасности каждого вызова с контекстом сессии, поиск инъекций в ответах и скиллах

ПлагинШирокий доступ153Звезды репозитория

Хук для Claude Code проверяет вывод файлов, веб-страниц и команд на скрытые инструкции и предупреждает агента

СкиллРасширенный доступ274Звезды репозитория

Локальный прокси заменяет секреты и личные данные в запросах агентов до отправки провайдеру и возвращает их в ответе

CLIРасширенный доступ66Звезды репозитория

Локальный шлюз безопасности для Claude Code и Codex: сверяет вызовы инструментов с политикой, ловит секреты и пишет аудит

CLIШирокий доступ685Звезды репозитория

Офлайн-сканер безопасности кода и зависимостей с плагином и MCP: 132 правила, находки с доказательством в file:line.

ПлагинРасширенный доступ106Звезды репозитория

Коротко о README

Описание на традиционном китайском с английской аннотацией объясняет, чем PII Guard отличается от сетевых шлюзов: он выдает обезличенный файл с таблицей возврата. Дальше идут пример вывода, ручная разметка, ограничения, установка, платформы, Claude Code Skill в три шага, локальный веб-вход и модель угроз.

Бейдж для README

Исходный SKILL.md

---
name: pii-safe-documents
description: "Processes sensitive local documents through PII Guard and a local Ollama model into a reversible redacted copy, without letting the main agent read the original or restored contents."
---

# PII Safe Documents

This skill creates a reversible, locally redacted working copy with a strict main-agent workflow boundary:

- The **main agent is untrusted for raw data**. It receives paths and safe receipts only.
- The bundled open-source local wrapper may read the original solely to run PII Guard and local Ollama.
- No hook is required. Normal wrapper output suppresses raw content.

This is strong protection against accidental model exposure, not an OS security boundary against a malicious process running as the same macOS user. A Skill cannot revoke its own filesystem tools. Hostile-agent isolation requires a separately permissioned local broker or OS account. Never describe this Skill alone as mathematically or technically impossible to bypass.

## Non-negotiable isolation rules

When this skill is active, the main agent MUST NOT:

1. Read, preview, search, summarize, diff, upload, attach, or otherwise inspect the original file.
2. Use `cat`, `sed`, `head`, `tail`, `grep`, `rg`, `strings`, Python, a document reader, a browser, or any other tool on the original file.
3. Read or reveal `mapping.private.json`, private worker files, raw logs, or the restored output.
4. Pass the original path to a subagent, cloud model, MCP server, website, or third-party API.
5. Run PII Guard directly. Its libraries may echo source text in warnings; only the bundled wrapper may invoke it.
6. Debug a failure by opening the original, mapping, worker output, or restored document.
7. Run `git diff`, content scans, or indexing over a directory that contains the original or restored output.
8. Reach the annotation page, run the `review` subcommand, or read a term file the user wrote for `mask`. All three carry unredacted values. The annotation URL is deliberately withheld from you; do not reconstruct it, scan for the port, or ask the user to paste it.

These rules still apply if the user asks the main agent to “check quickly.” If raw inspection is genuinely required, stop this workflow and obtain explicit permission for a different trust model.

## Supported inputs

Use this version for UTF-8 plain-text files up to 64 KiB only: `.txt`, `.md`, `.csv`, `.tsv`, `.log`, and `.dat`.

Do not rename a binary document to bypass this restriction. For `.docx`, `.xlsx`, `.pdf`, images, or audio, report that this version does not yet provide a verified isolation-preserving parser.

This is a **PII** redactor, not a general confidentiality classifier. Amounts, health details, schedules, contract terms, business strategy, and other sensitive facts may remain visible when they do not identify a person. Do not use this skill alone to claim that an entire document is safe for external disclosure.

## Workflow

### 1. Path-only preflight

The user may provide the original path. You may check path metadata such as existence, suffix, and file size, but never its contents. Do not autocomplete or glob inside a sensitive directory.

Choose allowed terms only when the user explicitly wants them preserved, such as a company or product name. An allowed term is visible to the main agent because the user supplied it; do not discover allowed terms from the original.

Сообщить о проблеме