Skip to content

Приватность ​

Приложение, которое видит каждое нажатие клавиши, обязано объяснить, что оно с этим делает. Коротко: обрабатывает в памяти и забывает.

Что происходит с набранным текстом ​

LangFlip держит в памяти последнее слово — ровно столько, сколько нужно, чтобы решить, менять его или нет. Как только слово завершено и решение принято, буфер очищается. На диск не пишется ничего: ни слов, ни нажатий, ни истории исправлений.

Статистика считает события, а не текст: сколько раз сработало исправление в такой-то день. По этим числам восстановить набранное невозможно.

Защищённые поля ввода — пароли и всё, что macOS помечает как secure input, — исключены полностью: приложение в них не заглядывает.

Что происходит с голосом ​

Звук записывается только пока вы удерживаете клавишу диктовки, распознаётся на этом же Mac и стирается из памяти после того, как текст напечатан. Аудиофайлы не сохраняются.

Сеть ​

У приложения есть ровно два повода выйти в сеть, и оба выключены по умолчанию.

Первый — диктовка: в Настройках → «Диктовка» вы выбираете речевую модель, и приложение скачивает выбранную с Hugging Face, один раз, при первом использовании.

Второй — проверка обновлений: если вы включите её сами, приложение делает GET-запрос на https://langflip.app/latest.json, публичный файл с номером текущей версии и ссылкой на загрузку. Запрос не несёт ни версии приложения, ни идентификатора, ни какой-либо статистики — сервер видит только, что какой-то IP запросил публичный файл.

Аналитики, отправки отчётов об ошибках и любых других сетевых обращений нет.

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

Почему этому можно верить ​

Обещания в документации ничего не стоят, поэтому они проверяются автоматически. При каждой сборке запускается проверка, которая ищет в исходном коде и в готовом бинарном файле:

  • обращения к буферу обмена;
  • библиотеки аналитики и сбора статистики;
  • любые сетевые адреса, кроме загрузки речевой модели, проверки обновлений и четырёх ссылок, которые просто открываются в браузере (сайт, исходный код, политика приватности и vibecoded.ru из вкладки «О программе»);
  • сетевые вызовы за пределами кода диктовки и проверки обновлений;
  • попадание текста и содержимого полей в диагностические отчёты.

Если что-то из этого находится, сборка падает и релиз не выходит. Эта проверка встроена в процесс выпуска, а не запускается по желанию.

Файл диагностики ​

Кнопка «Сохранить диагностику…» на вкладке «Основные» выгружает счётчики и состояние разрешений — то, что помогает понять, почему приложение не работает. Набранный текст, содержимое полей и распознанная речь в этот файл не попадают: за этим следит та же автоматическая проверка.

Файл сохраняется туда, куда вы укажете, и никуда не отправляется — решение, показывать его кому-то или нет, остаётся за вами.

Что хранится на диске ​

ЧтоГде
Настройки~/Library/Preferences/io.langflip.LangFlip.plist
Счётчики статистики (90 дней)там же
Личный словарь~/Library/Application Support/LangFlip/CustomWords.json
Речевая модель, если включена диктовка~/Library/Application Support/LangFlip

Удаление приложения вместе с этими файлами описано в разделе «Установка».

Локальная утилита для macOS: исправление раскладки и диктовка. Проект vibecoded.ru.