DataFog — плагин

Офлайн-брандмауэр персональных данных для агентов: хук Claude Code и защита шлюза LiteLLM маскируют email, телефоны и карты.

  • 80 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Расширенный доступ

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

  • Хук запускается на каждом вызове инструмента и может блокировать его, а в режимах без подтверждений ask не защищает.
Все причины и проверки

datafog/datafog-python

Установка

Работает в

Ручная установка

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, который в каждой сессии показывает, какие личные данные видит агент и куда они уходят.

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

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

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

Однофайловый Python-скрипт, который ищет в тексте персональные данные по регуляркам, обезличивает их и пишет отчет перед отправкой промпта в ИИ

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

Плагин Sysdig для Claude Code: подключение облаков, уязвимости, опасные находки и расследование угроз во время работы.

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

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

СкиллШирокий доступ255Звезды репозитория

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

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

Коротко о README

Описаны библиотека и два готовых пункта контроля, установка с дополнительными профилями, быстрый старт, API для LLM-приложений, немецкие идентификаторы и выбор движков. Измерения скорости воспроизводятся одной командой.

Бейдж для README

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