pii-masklisted
Install: claude install-skill dewil/claude-toolkit
# Маскировка ПД перед облачной моделью
Шлюз заменяет персданные метками (`{{PERSON_1}}`) и формат-сохраняющими фейками (`+7 000 ...`, `userN@example.com`), а после ответа модели возвращает оригиналы. Соответствие "метка - оригинал" живет в mapping-файле рядом с задачей; сервис не хранит ничего.
Движок: [pii-mask](https://github.com/dewil/pii-mask) - локальный, офлайн, русскоцентричный (ПД-форматы РФ, NER и морфология русского). Не установлен - скилл неприменим, ставится оттуда.
## Главное правило: не читай оригинал
Если облачная модель - это ты сам (сессия агента), то **оригинальный файл открывать нельзя**. Прочитал `Read` - персданные уже в контексте облачной модели, и маскировать дальше нечего. Отсюда порядок:
1. Файл прогоняется через CLI **не гля��я** - агент видит только путь.
2. Агент читает и обрабатывает **только** `*.masked.md`.
3. Ответ разворачивается обратно тем же CLI.
Тот же запрет касается mapping-файла: в нем лежат оригиналы списком, это самый концентрированный источник ПД во всей схеме. Не открывать, не цитировать, не пересылать.
## Порядок
### Если исходник - PDF с таблицами
**Как извлечен текст - решает больше, чем настройки шлюза.** Такой PDF превращается в текст двумя способами, и они дают разный результат:
```bash
pdftotext -layout документ.pdf текст.txt # сохраняет колонки - и рвет сущности
pdftotext документ.pdf текст.txt # поток в порядке чтения - сущности целые
```
Постраничный режим сохраняет визуальную верстку, а вместе с ней