【Предупреждение】После реверс‑анализа приложения для голосового ввода «Typeless» обнаружены довольно серьёзные риски для приватности — делюсь информацией.
■ Сразу вывод
Typeless заявляет «On-device history» и «Zero data retention», но на деле все аудиоданные отправляются на серверы AWS (США, Огайо) для обработки. Локальной модели распознавания речи нет вообще.
Если бы дело было только в этом, это был бы обычный «облачный STT‑сервис». Проблема в том, что объём собираемых неаудиоданных очень широк.
■ Что было проанализировано
На macOS для Typeless v0.9.3 выполнены: бинарный анализ, анализ сетевых коммуникаций, анализ локальной БД, а также анализ строк нативных библиотек.
■ Подтверждённые факты
- Обработка аудио на 100% в облаке
В приложении нет STT‑моделей вроде Whisper. Аудио после сжатия в Opus в реальном времени отправляется через WebSocket (wss://api.typeless.com/ws/rt_voice_flow) на сервер AWS us-east-2.
http://api.typeless.com → http://prod-typeless-lb-565501648.us-east-2.elb.amazonaws.com
В официальной политике конфиденциальности также написано «processed in real time on our cloud servers», так что это не полностью выдумка, но в маркетинге формулировка «On-device» фактически ограничивается «история хранится локально», что очень легко вводит в заблуждение.
- Помимо аудио собираются широкие данные
По локальной SQLite‑базе и анализу нативных библиотек подтверждён сбор следующих данных:
・ Полные URL просматриваемых сайтов (Gmail, Google Docs и т. п. тоже записываются)
・ Название приложения в фокусе, заголовок окна
・ Текст на экране (функция collectVisibleTexts, рекурсивный сбор через API специальных возможностей)
・ Чтение/запись буфера обмена (может обрабатывать TransientType менеджеров паролей)
・ Системный перехват ввода с клавиатуры через CGEventTap
・ Информация о DOM‑элементах браузера (поддерживаются Safari, Chrome, Edge, Firefox, Brave)
・ Текст, отредактированный пользователем (TrackEditTextService → sendTrackResultToServer)
-
Локальная БД хранит персональные данные в открытом виде
Вtypeless.dbрезультаты распознавания речи, URL посещений и информация о приложениях хранятся в открытом виде. Хотя заявлено «Zero data retention», локально всё сохраняется. Аудиофайлы (.ogg) тоже не удаляются и остаются. -
Чрезмерные запросы разрешений
Как инструмент голосового ввода, помимо микрофона запрашивает также запись экрана, камеру, Bluetooth и разрешения специальных возможностей, плюс встроена функция скриншотов. -
Прозрачность компании почти нулевая
・ В условиях и политике конфиденциальности не указано юридическое лицо
・ Местоположение указано только как «County of San Francisco, California» (юрисдикция в условиях)
・ WHOIS скрыт (GoDaddy + Cloudflare)
・ Нет сведений об аудитах безопасности вроде SOC2, ISO27001 и т. п.
・ Единственный контакт:hello@typeless.com
■ Технические доказательства (воспроизводимо)
Следующими командами можно проверить самостоятельно:
# цель сетевых соединений
nslookup http://api.typeless.com
# API URL внутри app.asar
strings /Applications/Typeless.app/Contents/Resources/app.asar | grep "http://api.typeless.com"
# протокол WebSocket
strings /Applications/Typeless.app/Contents/Resources/app.asar | grep "rt_voice_flow"
# нативная библиотека перехвата клавиатуры
strings /Applications/Typeless.app/Contents/Resources/lib/keyboard-helper/build/libKeyboardHelper.dylib | grep -i "key pressed"
# сбор текста с экрана
strings /Applications/Typeless.app/Contents/Resources/lib/context-helper/build/libContextHelper.dylib | grep -i "collectVisibleTexts"
# содержимое локальной БД
sqlite3 ~/Library/Application\ Support/Typeless/typeless.db ".schema history"
■ В чём проблема
CGEventTap (перехват клавиатуры) + API специальных возможностей (сбор текста с экрана) + доступ к буферу обмена. Комбинация этих трёх механизмов технически даёт возможности, эквивалентные кейлоггеру.
И вы отдаёте эти разрешения сервису с неясным оператором.
Для повышения точности голосового ввода получение контекста (текущее приложение/информация о поле ввода) само по себе — разумный дизайн. Но когда эти данные отправляются в облако, критически важны доверие к оператору и его система безопасности. Можно ли доверять компании, которая не раскрывает даже юридическое лицо, — решайте сами.
■ Альтернативы
Полностью локальные инструменты голосового ввода существуют:
・ Whisper.cpp / MLX Whisper (open-source, полностью локально, бесплатно)
・ Встроенный в macOS голосовой ввод (на Apple Silicon — обработка на устройстве)
・ Superwhisper (на базе Whisper, для Mac, но всё равно нужно проверять самостоятельно)
■ Итог
・ Распознавание речи Typeless на 100% обрабатывается в облаке (локальной модели нет)
・ Помимо аудио есть техническая база для сбора текста с экрана, URL и ввода с клавиатуры
・ Оператор непрозрачен (не раскрыты юридическое лицо и местоположение)
・ Нет доказательств аудита безопасности
Тем, кто уже пользуется, стоит оценить риски и решить самостоятельно. Как минимум рекомендуется мониторить сетевые соединения через Little Snitch и подобные инструменты.