Что покидает ваш компьютер
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; опциональные языковые модели скачиваются только при явной установке вами (см. выше).
Если вы наблюдаете сетевую активность, не описанную выше, — это критический баг, пожалуйста, сообщите.