Что Bzz обрабатывает
Bzz через системный API macOS (CGEventTap) получает события нажатия клавиш в реальном времени. Эти события используются исключительно для:
- Накопления символов в буфер слова (память процесса)
- Сравнения накопленного слова со встроенным русским словарём (98K слов)
- Если найдено совпадение в неправильной раскладке — отправки backspace и нового текста через тот же системный API
Никакие события не сохраняются на диск, никуда не отправляются по сети, не агрегируются и не логируются за пределами текущего вычисления.
Что Bzz НЕ делает
- Не имеет сетевого клиента. Исходный код можно проверить:
grep -r "net/http\|net.Dial" *.goв репозитории — пусто - Не отправляет телеметрию. Приложение не содержит аналитики и отчётов о падениях. (На сайте-витрине используется Plausible — аналитика без cookies и без персональных данных; к приложению она отношения не имеет.)
- Не проверяет обновления. Новые версии вы скачиваете вручную с сайта Bzz
- Не хранит логи ввода. Слова не записываются на диск
- Не использует буфер обмена кроме момента Cmd+Shift+X (ручная конверсия выделения) — и тогда буфер мгновенно восстанавливается в исходное состояние
- Не требует регистрации/аккаунта
Какие локальные файлы создаёт Bzz
Bzz хранит в ~/Library/Application Support/Bzz/ два файла:
config.yaml— ваши настройки: какие приложения исключены, минимальная длина слова, и т.д. Только эти параметры, никакого вводаexceptions.json— слова, которые Bzz решил «больше не трогать» в конкретных приложениях. Запись в этот файл происходит в двух случаях: (а) вы явно нажали Cmd+Z в течение 5 секунд после автозамены — самый частый случай; (б) Bzz зафиксировал паттерн «исправление → стирание → ручной возврат к оригиналу» в одном приложении (это эвристика «вы это слово не хотите менять, я понял»). Файл хранится локально с правами 0600 (только для вашего пользователя). Можно очистить командойbzz --clear-exceptions.
Лог пишется в /tmp/bzz.log при установке через LaunchAgent. В дефолтном режиме там только структурные сообщения — старт, остановка, счётчики применённых замен — без слов, которые вы напечатали. Полный текст слов в лог попадает только если вы явно запустили Bzz с флагом -verbose (например, чтобы прислать разработчику отладочные данные). Без флага — нет содержимого ввода в логе.
Что Bzz отображает в системе
Bzz запрашивает у macOS:
- Accessibility permission — обязательно для перехвата клавиатуры. Это видно в System Settings → Privacy & Security → Accessibility
- Bundle ID активного приложения — через
NSWorkspace. Используется только для применения per-app исключений
Это всё. Bzz не запрашивает доступ к контактам, фотографиям, камере, микрофону, диску, документам.
Что меняется с Pro
Ядро остаётся бесплатным. Pro (490 ₽ один раз) добавляет свой словарь и окно исключений, и ключ проверяется на вашем Mac:
- Проверка офлайн, по криптографической подписи Ed25519, без запросов на сервер
- Ключ хранится локально в файле
~/Library/Application Support/Bzz/license.keyс правами 0600 - Свой словарь хранится в
custom_dict.txtв той же папке и никуда не отправляется
Открытый код = проверяемость
Bzz распространяется под лицензией MIT. Полный исходный код находится на GitHub. Любой человек может:
- Прочитать код самостоятельно
- Запустить grep по сетевым API:
grep -rE "net/http|net.Dial|url.Parse" *.go— пусто - Собрать свой бинарник из исходников
- Нанять стороннего аудитора
Это принципиальное отличие от закрытых конкурентов — там приходится верить разработчику на слово.
Notarization Apple
Bzz.app подписан Developer ID (Roman Kovalev, TeamID 7FJC4XM2S5) и нотаризован Apple. Это значит:
- macOS подтвердил, что бинарник пришёл от заявленного разработчика
- Apple просканировал бинарник на вредоносное поведение и не нашёл
- На любом современном Mac приложение открывается двойным кликом без предупреждения Gatekeeper
Контакт
Вопросы про конфиденциальность можно задать через GitHub Issues (публично) или email zlopixatel12@gmail.com.
Последнее обновление: 31 мая 2026.