What this covers

This policy is about the Lingary app for iOS and Android. The site you're reading it on is covered separately by Legal & privacy.

Lingary is an independent project with no sign-up and no user account. The only server we run hands out the Basics courses — see The course server. "We" below means the developer of the app.

What stays on your device

Everything the app knows about your learning is kept locally: your language profile and level, your word bank and spaced-repetition schedule, the full text of your conversations with the tutor, and your session analyses, missions, grammar notes and statistics.

On iOS that database is stored with file protection enabled, so it is encrypted at rest and unreadable while the device is locked. API keys are kept separately in the iOS Keychain, marked device-only and excluded from backups. On Android the database sits in the app's private storage, which other apps cannot read, and API keys in storage encrypted with a key held by the Android Keystore; neither goes into Android's backups or device-to-device transfers. None of it is transmitted to us — the course server learns your language pair, to send you its course, and the text of a tutor reply only if you report it.

AI providers (online mode)

Lingary is bring-your-own-key. You pick a provider and enter an API key you obtained yourself; from then on the app talks to that provider directly from your device, authenticating as you.

Depending on which features you use, it may send:

ProviderUsed for
OpenAIConversation, analysis, speech-to-text, text-to-speech, live voice
Google (Gemini)Conversation, analysis, speech-to-text, text-to-speech, live voice
GroqSpeech-to-text; conversation via the OpenAI-compatible option
Fish AudioText-to-speech
OpenRouter, DeepSeek, MistralConversation and analysis, via the OpenAI-compatible option
Any custom endpointWhatever you configure it for

We are not a party to these requests. We don't proxy them, log them or hold credentials for them. What a provider does with the data — how long it keeps it, whether it trains on it — is governed by their terms and privacy policy, under the account your key belongs to. Read the policy of whichever provider you choose.

Your permission comes first. Before the app sends anything to a provider, it shows you what will be sent and who receives it, and asks. The answer is kept per provider — allowing one does not allow another — and a provider you haven't allowed receives nothing. You can withdraw a permission at any time in Settings → Privacy; from then on nothing more is sent to that provider.

How your data is protected there. The providers in the table are the only third parties Lingary sends your data to. Lingary offers only providers that publish privacy terms binding them to keep the data they receive secure and to handle it as those terms describe, and we consider that protection equal to the protection this policy, the App Store Review Guidelines and Google Play's policies require. The details differ between providers — how long data is kept, where it is stored, whether data from a free account may be used to improve the provider's models — so read the policy of the provider you choose.

If you enter a custom endpoint, all of the above goes to whatever address you typed. The app asks for your permission for it like for any other provider, but we can't vouch for a server we don't know: only point it at one you run or trust.

Offline mode

Lingary can run entirely on your phone, using a downloaded language model together with on-device speech recognition and speech synthesis. Apple's on-device transcription and Apple Intelligence, where your device supports them, also run locally and are handled by iOS.

In offline mode nothing leaves your device — no audio, no text, no network request at all.

Turning offline mode on downloads model files from Hugging Face. Those are ordinary file downloads, pinned to fixed versions and checksum-verified; they carry no personal data.

The course server

The Basics courses — the structured lessons for a language pair — come from the one server we run, lang-tutor-basics.fly.dev, hosted by Fly.io in Frankfurt. It receives only this:

Requests and reports are kept in a log on that server and may be forwarded to our email so we can act on them. They carry no account, device identifier or contact details — only what you typed and, in a reply report, the reply — so don't put anything personal in a report. They are kept until they have been dealt with; to have one deleted sooner, email us with roughly what it said and when.

Like any server, it sees the IP address a request comes from. It uses it only to stop one address from flooding it: the address is held in memory for at most an hour and is never written anywhere. Apart from a reply you report, your conversations, voice, word bank, level and API keys never go to this server.

Permissions the app asks for

On Android the app asks for the microphone and, on Android 13 and later, for notifications. There is no speech-recognition or camera permission there.

Feedback

Apart from course requests, lesson reports and reports about the tutor's replies (see The course server), the app sends nothing to us. Settings → About → Feedback opens the project page in your browser, where there is an email address.

So what reaches us is what you send yourself — an email, the text of a lesson report, or a tutor reply you report with your note — containing exactly what you chose to put in it. Earlier versions had an in-app form that filed a ticket in a third-party tracker; it was removed, along with the API token it required the app to carry.

Backups and diagnostic exports

You can export a backup to move to a new phone. It is unencrypted JSON containing your learning data and conversation history. API keys are never written into it. Once you've shared that file nothing protects it — treat it as a private document.

You can also generate a diagnostic export when something goes wrong. You choose what goes in, it's created only when you ask, it's deleted once you close the share sheet, and it is never sent anywhere automatically.

Tapping a media recommendation opens a search on YouTube, Goodreads or Google. The app passes the search text and nothing else — never who you are or what you've been studying. Settings also links to this policy, the terms of use, the feedback section of this site and the list of my other projects. Those links carry a marker, ?from=app, that tells the site not to show donation buttons; it says nothing about you and disappears from the address as soon as the page opens. Following any of them is subject to the privacy policy of wherever you land.

What Lingary doesn't do

Lingary does not ask anyone, including children, for personal information. There is no account, no profile visible to us and no communication with other users.

Your control over your data

If you have statutory data rights (GDPR, CCPA and similar): the only thing we may hold is a course request, lesson report or reply report you sent, which is not linked to you — email us and we will delete it. For data held by an AI provider, that provider is the controller and you are their customer.

Changes and contact

This page is updated when the app's data handling changes; the date at the top says when it last was, and the commit history shows exactly what changed.

Questions: email lvigtor@gmail.com.

К чему это относится

Политика описывает приложение Lingary для iOS и Android. Сайт, на котором вы её читаете, покрыт отдельно — страницей Legal & privacy.

Lingary — независимый проект без регистрации и учётных записей. Единственный наш сервер раздаёт курсы «Основы языка» — см. Сервер курсов. «Мы» ниже означает разработчика приложения.

Что остаётся на устройстве

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

На iOS база данных хранится с включённой защитой файлов: зашифрована на диске и недоступна для чтения, пока устройство заблокировано. API-ключи лежат отдельно, в Keychain, помечены как привязанные к устройству и исключены из резервных копий. На Android база лежит в закрытом хранилище приложения, недоступном другим приложениям, а API-ключи — в хранилище, зашифрованном ключом из Android Keystore; ни то ни другое не попадает в резервные копии Android и при переносе на новое устройство не копируется. Ничего из этого нам не передаётся — серверу курсов достаётся языковая пара, чтобы прислать курс, а текст ответа тьютора — только если вы на него пожалуетесь.

AI-провайдеры (онлайн-режим)

Lingary работает по принципу «свой ключ». Вы выбираете провайдера и вводите API-ключ, который получили сами; дальше приложение обращается к нему напрямую с вашего устройства, от вашего имени.

В зависимости от используемых функций может отправляться:

ПровайдерДля чего
OpenAIРазговор, разбор, распознавание и синтез речи, живой голос
Google (Gemini)Разговор, разбор, распознавание и синтез речи, живой голос
GroqРаспознавание речи; разговор — через OpenAI-совместимый режим
Fish AudioСинтез речи
OpenRouter, DeepSeek, MistralРазговор и разбор, через OpenAI-совместимый режим
Любой свой эндпоинтТо, для чего вы его настроите

Мы не участвуем в этих запросах. Не проксируем, не логируем и не храним для них учётных данных. Что провайдер делает с данными — сколько хранит, обучается ли на них — определяют его условия и политика, в рамках учётной записи, которой принадлежит ваш ключ. Прочитайте политику того провайдера, которого выбрали.

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

Как данные защищены у провайдера. Провайдеры из таблицы — единственные третьи стороны, которым Lingary отправляет ваши данные. Lingary предлагает только тех провайдеров, которые публикуют условия конфиденциальности, обязывающие их хранить полученные данные в безопасности и обращаться с ними так, как описано в этих условиях, и мы считаем такую защиту равной той, которой требуют эта политика и правила App Store и Google Play. Детали у провайдеров разные — сколько хранятся данные, где они хранятся, могут ли данные с бесплатной учётной записи использоваться для улучшения моделей провайдера, — поэтому прочитайте политику того провайдера, которого выбрали.

Если вы указали свой эндпоинт, всё перечисленное уходит по тому адресу, который вы вписали. Приложение спросит разрешения и для него, как для любого провайдера, но поручиться за незнакомый нам сервер мы не можем: указывайте только сервер, который держите сами или которому доверяете.

Офлайн-режим

Lingary умеет работать полностью на телефоне: со скачанной языковой моделью, локальным распознаванием и синтезом речи. Системное распознавание Apple и Apple Intelligence, если устройство их поддерживает, тоже выполняются локально силами iOS.

В офлайн-режиме с устройства не уходит ничего — ни аудио, ни текст, ни один сетевой запрос.

Включение офлайн-режима скачивает файлы моделей с Hugging Face. Это обычная загрузка файлов, закреплённая за фиксированными версиями и проверяемая по контрольной сумме; персональных данных она не несёт.

Сервер курсов

Курсы «Основы языка» — структурированные уроки для языковой пары — приходят с единственного нашего сервера, lang-tutor-basics.fly.dev, который размещён у Fly.io во Франкфурте. Он получает только это:

Запросы и сообщения хранятся в журнале на этом сервере и могут пересылаться нам на почту, чтобы мы могли их разобрать. В них нет учётной записи, идентификатора устройства или контактов — только то, что вы написали, а в жалобе на ответ ещё и сам ответ, поэтому не пишите в сообщение ничего личного. Они хранятся, пока их не разберут; чтобы удалить своё раньше, напишите нам, примерно указав, что и когда было отправлено.

Как любой сервер, он видит IP-адрес, с которого пришёл запрос, и использует его только для защиты от потока запросов: адрес держится в памяти не дольше часа и никуда не записывается. Кроме ответа, на который вы пожаловались, ваши разговоры, голос, словарь, уровень и API-ключи на этот сервер не попадают никогда.

Запрашиваемые разрешения

На Android приложение спрашивает доступ к микрофону и, начиная с Android 13, к уведомлениям. Разрешений на распознавание речи и камеру там нет.

Обратная связь

Кроме запросов курсов, сообщений об ошибках в уроках и жалоб на ответы тьютора (см. Сервер курсов), приложение нам ничего не отправляет. «Настройки → О приложении → Обратная связь» открывает страницу проекта в браузере, где указан адрес электронной почты.

То есть до нас доходит только то, что вы отправили сами, — письмо, текст сообщения об ошибке или ответ тьютора с вашим комментарием, — и ровно с тем содержимым, которое вы в него вложили. В прежних версиях была встроенная форма, создававшая задачу в стороннем трекере, — она удалена вместе с API-токеном, который приложению приходилось носить с собой.

Резервные копии и диагностика

Вы можете выгрузить резервную копию для переезда на новый телефон. Это незашифрованный JSON с учебными данными и историей разговоров. API-ключи в него не попадают никогда. После того как вы поделились файлом, его ничто не защищает — обращайтесь с ним как с личным документом.

Ещё можно собрать диагностический экспорт, когда что-то пошло не так. Состав выбираете вы, файл создаётся только по запросу, удаляется после закрытия окна «Поделиться» и никуда не отправляется автоматически.

Нажатие на рекомендацию открывает поиск на YouTube, Goodreads или Google. Приложение передаёт текст запроса и больше ничего — никогда не сообщает, кто вы и что изучаете. В настройках также есть ссылки на эту политику, на условия использования, на раздел обратной связи этого сайта и на список других моих проектов. У этих ссылок есть метка ?from=app: она просит сайт не показывать кнопки пожертвований, ничего не сообщает о вас и исчезает из адреса, как только страница открылась. Переход по любой из них подчиняется политике того сайта, куда вы попали.

Чего Lingary не делает

Lingary ни у кого, включая детей, не запрашивает персональные данные. Нет учётных записей, нет видимого нам профиля, нет общения с другими пользователями.

Контроль над своими данными

Если на вас распространяются законные права на данные (GDPR, CCPA и подобные): у нас может быть только отправленный вами запрос курса, сообщение об ошибке или жалоба на ответ, не связанные с вами, — напишите нам, и мы их удалим. За данные на стороне AI-провайдера отвечает сам провайдер, а вы — его клиент.

Изменения и контакты

Страница обновляется, когда меняется обращение приложения с данными; дата наверху говорит, когда это было в последний раз, а история коммитов показывает, что именно изменилось.

Вопросы: почта lvigtor@gmail.com.