Перейти к содержимому

Что покидает ваш компьютер

anonymizer построен на одном жёстком правиле: движок редактуры никогда не открывает сокет. Эта страница перечисляет каждый сетевой запрос, который продукт в принципе может сделать, и когда.

Во время обезличивания — ничего

Ноль исходящих запросов. Ноль loopback-запросов, кроме локального трафика браузер ↔ веб-UI на 127.0.0.1. Это гарантирует build-time интеграционный тест — CI падает, если сокет открылся во время обработки документа.

При запуске — один опциональный запрос

При запуске веб-UI CLI отправляет GET-запрос на https://anonymizer.site/version.json с таймаутом 2 секунды для проверки обновлений. Это единственный запрос CLI при запуске.

  • Что отправляется: HTTP GET. Без User-Agent кроме python-requests/<version>. Без referer. Без cookies.
  • Что получено: JSON со строкой версии и SHA256.

Отключить: ANONYMIZER_NO_UPDATE_CHECK=1.

Во время опциональной установки OCR — трафик пакетного менеджера

Для OCR сканированных PDF во время обработки используется локальный Tesseract и локальные языковые данные eng/rus. Если вы разрешаете установщику настроить Tesseract, он может вызвать Homebrew, apt или winget, а эти пакетные менеджеры обращаются к своим настроенным репозиториям. На Windows установщик также может скачать недостающие файлы eng/rus traineddata во время настройки.

Эта сетевая активность происходит только при установке, до обработки документов. Сам OCR работает локально и никуда не отправляет сканы.

Когда вы нажимаете «Обновить» — один раз

Если вы принимаете обновление в баннере UI, отдельный процесс anonymizer.updater запускает uv tool upgrade docs-anonymizer. Эта команда тянет новый wheel с PyPI (или с вашего зеркала, см. Корпоративная установка).

Запускается по вашему клику — не автоматически.

При установке опционального языкового пакета — один раз, по вашему клику

Русская и английская модели идут внутри wheel. Опциональные пакеты (испанский, немецкий, итальянский) скачивают свою модель, когда вы их устанавливаете — через промпт установщика, ANONYMIZER_LANGS или Настройки → Языки. Источники — официальные реестры моделей (GitHub releases для моделей spaCy, PyPI для данных русской Natasha в macOS-приложении); каждая загрузка запинена URL и SHA-256 и проверяется до использования. Ничего о ваших документах не отправляется — это обычная загрузка файла.

macOS-приложение

Нативное приложение следует тому же жёсткому правилу — никаких сокетов во время обезличивания — со своим, немного другим сетевым списком:

  • Нет запроса version.json. Приложение не обращается к update-endpoint’у CLI.
  • Обновления: проверяются встроенным апдейтером по адресу https://dl.anonymizer.site/appcast.xml — вручную (Check for Updates) или, если включить тумблер, по расписанию (не чаще раза в сутки). Загрузка обновления проверяется подписью до установки.
  • Языковые модели: скачиваются только по вашему явному клику в Настройки → Языки, из запиненных официальных источников выше.

Когда вы нажимаете «Сообщить» — никогда автоматически

Обратная связь никогда не отправляется автоматически. Диалог Report формирует JSON-payload, который вы копируете и отправляете вручную (Slack, email, тикет). См. Обратная связь.

Что НЕ происходит, никогда

  • Никакой аналитики. Ни Google Analytics, ни Plausible, ни Umami, ни first-party-пингов.
  • Никаких отчётов о крэшах. Крэши пишутся в ~/.anonymizer/logs/. Никогда не отправляются.
  • Никаких внешних шрифтов / CSS. Всё поставляется в wheel.
  • Никаких тихих загрузок моделей. Русская/английская модели — внутри wheel; опциональные языковые модели скачиваются только при явной установке вами (см. выше).

Если вы наблюдаете сетевую активность, не описанную выше, — это критический баг, пожалуйста, сообщите.