DataFog — плагин
Офлайн-брандмауэр персональных данных для агентов: хук Claude Code и защита шлюза LiteLLM маскируют email, телефоны и карты.
- 80 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Хук запускается на каждом вызове инструмента и может блокировать его, а в режимах без подтверждений ask не защищает.
Установка
- Работает в
Ручная установка
pip install datafogЗатем хуки в `settings.json` или плагин `/plugin marketplace add DataFog/datafog-claude-plugin`.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Хук запускается на каждом вызове инструмента и может блокировать его, а в режимах без подтверждений ask не защищает.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
DataFog — Python-библиотека для поиска и маскировки персональных данных. В агентской части у нее два готовых пункта контроля. Хук `datafog-hook` для Claude Code проверяет вызовы инструментов (команды оболочки, веб-запросы, запись файлов, MCP) и предупреждает модель, если в промптах или ответах инструментов есть персональные данные. Проверка занимает около 70–90 мс с запуском процесса. Второй пункт — страж `DataFogGuardrail` для шлюза LiteLLM: он маскирует или блокирует данные в запросах и ответах любого провайдера. По умолчанию ищутся `EMAIL`, `PHONE`, `CREDIT_CARD` и `SSN`, более шумные типы включают отдельно. Найденные значения не попадают в журналы и транскрипты. Есть исключения через `allowlist` и необязательный разбор имен через spaCy и GLiNER.
Для кого. Командам, которые пускают агентов к реальным данным клиентов и не хотят, чтобы email, телефоны и номера карт уходили в промпты и внешние сервисы.
Подходит, если
- Агент выполняет `curl`, и в теле запроса номер карты должен остановить вызов.
- Прочитанный файл с данными клиентов попадает в разговор, и модель получает предупреждение.
- Шлюз LiteLLM скрывает персональные данные во всех запросах к провайдерам.
- Тестовые таймстемпы не должны считаться телефонами: их выводят из проверки регулярным выражением.
Не подходит, если
- Нужна гарантия без исключений: проверка ловит только заданные типы данных.
- Сессия идет в режиме без подтверждений при настройке `ask`.
- Данные требуют распознавания имен без установки моделей NLP.
Пример запроса к агенту
Подключи datafog-hook к Claude Code с режимом deny и проверь на команде `curl`, в которую подставлен тестовый номер карты.Ограничения
Ядро ищет данные регулярными выражениями, имена и адреса требуют дополнительных пакетов `datafog[nlp]` или `datafog[nlp-advanced]`. Хук по умолчанию спрашивает подтверждение: в режимах `--dangerously-skip-permissions` и автоприема вопрос принимается молча, поэтому для них нужна настройка `DATAFOG_HOOK_ACTION=deny`. Типы `EMAIL`, `PHONE`, `CREDIT_CARD` и `SSN` включены сразу, остальные отключены ради точности. Хуки для Claude Code настраиваются вручную в `settings.json`, плагин для маркетплейса лежит в отдельном репозитории. Немецкие идентификаторы включаются только явным выбором локали `de`.
Как отключить. Уберите блоки `datafog-hook` из `PreToolUse`, `UserPromptSubmit` и `PostToolUse` в `settings.json`, затем выполните `pip uninstall datafog`. Плагин снимается командой `/plugin uninstall datafog`.
Частые вопросы
Как поставить хук для Claude Code?
Выполните `pip install datafog` и добавьте `datafog-hook` в хуки `settings.json`. Проще плагин: `/plugin marketplace add DataFog/datafog-claude-plugin`, затем `/plugin install datafog@datafog`.
Что хук делает с найденными данными?
При `ask` показывает, что нашел, и спрашивает вас. При `deny` блокирует вызов и просит модель замаскировать значения. Хуки запроса и результата только предупреждают.
Работает ли без сети?
Да, проверка идет локально и офлайн за микросекунды в самой библиотеке. Найденные значения не пишутся в журналы.
Как исключить известное безопасное значение?
Передайте `allowlist=[...]` для точных значений или `allowlist_patterns=[...]` для регулярных выражений, например `^\d{10}$` для таймстемпов.
Как подключить к шлюзу LiteLLM?
Используйте `DataFogGuardrail`: пример настройки лежит в `examples/litellm_guardrail/`. Работает внутри процесса, без отдельного сервиса.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныПлагин Codex, который в каждой сессии показывает, какие личные данные видит агент и куда они уходят.
Claude Hooks (Prompt Injection Defender)
Claude Hooks
Хук для Claude Code проверяет вывод файлов, веб-страниц и команд на скрытые инструкции и предупреждает агента
secure-llm-auditor: поиск персональных данных в тексте
secure-llm-auditor
Однофайловый Python-скрипт, который ищет в тексте персональные данные по регуляркам, обезличивает их и пишет отчет перед отправкой промпта в ИИ
Плагин Sysdig для Claude Code: подключение облаков, уязвимости, опасные находки и расследование угроз во время работы.
Локальное обезличивание личных данных в документах на традиционном китайском: коды-заменители и точный возврат после ИИ
Хук безопасности для кодинг-агентов: оценка опасности каждого вызова с контекстом сессии, поиск инъекций в ответах и скиллах
Коротко о README
Описаны библиотека и два готовых пункта контроля, установка с дополнительными профилями, быстрый старт, API для LLM-приложений, немецкие идентификаторы и выбор движков. Измерения скорости воспроизводятся одной командой.