Политика конфиденциальности
Коротко. Чат, в котором ИИ-помощник выключен, шифруется ключом комнаты, которого у нас нет, — его содержимое нам недоступно (прямой секретности мы при этом не обещаем). Отдельного «секретного чата» больше нет. Переписка хранится на наших серверах в зашифрованном виде, чтобы синхронизироваться между вашими устройствами. AI-функции выключены по умолчанию, включаются вами и работают на наших моделях. Мы не продаём ваши данные и не используем их для рекламного трекинга. Две вещи, о которых стоит знать заранее: из России соединение идёт через наши входные серверы в Москве (§ 7.1), а Android-приложение отправляет отчёты о сбоях в Google (§ 2.9).
1. Кто мы и сфера действия
Gluline — мессенджер для iOS, Android и веба. Оператором персональных данных (data controller) является Apri Software L.L.C-FZ — компания с ограниченной ответственностью в свободной зоне (лицензия № 2647334.01), зарегистрированная по адресу Meydan Grandstand, 6th floor, Meydan Road, Nad Al Sheba, Dubai, Объединённые Арабские Эмираты (далее «мы», «Gluline»). Настоящая Политика описывает, какие данные мы обрабатываем в приложениях и сервисах Gluline и как вы можете этим управлять.
По любым вопросам о конфиденциальности пишите на support@gluline.com.
2. Какие данные мы собираем
2.1. Номер телефона
Мы используем ваш номер телефона для регистрации и входа. Номер хранится на наших серверах в нормализованном международном формате (E.164) и служит основным идентификатором вашего аккаунта. Чтобы подтвердить номер, мы отправляем на него одноразовый код подтверждения по SMS (доставка выполняется сторонним SMS-провайдером — см. раздел «Суб-обработчики»). Сам код мы храним только в виде необратимого хэша на время проверки.
2.2. Профиль
Вы можете указать: имя пользователя (username), отображаемое имя/фамилию и никнейм, описание профиля (bio), фотографию профиля (аватар), а также по желанию дату рождения, город/местоположение (текстовое поле) и язык интерфейса. Часть этих полей видна другим пользователям в соответствии с вашими настройками приватности.
2.3. Контакты (адресная книга)
Если вы дадите разрешение в операционной системе, приложение может загрузить контакты из вашей адресной книги (имена и номера телефонов), чтобы помочь вам найти знакомых, уже пользующихся Gluline, и уведомить вас, когда кто-то из ваших контактов присоединится. Сами номера и имена на сервере не сохраняются: они существуют только внутри одного запроса на сопоставление и отбрасываются, когда он завершён. На хранении остаётся солёный хеш (HMAC-SHA256) каждого номера и ссылка на найденный аккаунт — если номер принадлежит зарегистрированному пользователю и его настройки приватности это позволяют. Имя из вашей телефонной книги не сохраняется нигде: подпись контакта в приложении — это либо имя из профиля самого пользователя, либо ярлык, который вы задали вручную уже внутри Gluline. Обратите внимание: в адресной книге могут быть номера людей, не являющихся пользователями Gluline — их хеши тоже сохраняются, чтобы мы могли уведомить вас, если такой человек позже зарегистрируется; ни номера, ни имени такого человека у нас при этом нет. Вы можете в любой момент удалить сохранённое — в приложении («Найти друзей» → «Перестать синхронизировать») или через support@gluline.com.
2.4. Сообщения и медиа
- Чаты: содержимое сообщений хранится на наших серверах в зашифрованном виде, чтобы вы могли синхронизировать переписку между устройствами. Прикреплённые файлы и медиа хранятся в файловом хранилище. Для медиа сохраняются уменьшенные превью (миниатюры), и они хранятся в открытом виде — это маленькая, но настоящая копия изображения.
- Чаты с выключенным ИИ-помощником: содержимое зашифровано ключом комнаты, которого у нас нет, и нам недоступно (см. раздел «Шифрование»).
- Метаданные: независимо от типа чата мы обрабатываем служебные данные, необходимые для доставки: участники, идентификаторы чатов, отметки времени, реакции, статусы прочтения и доставки.
- Чаты с ботами и с AI-ассистентом по своей природе хранятся в открытом (незашифрованном) виде, поскольку их должен обрабатывать сервер/бот.
2.5. Данные AI-функций (если вы их включили)
Если вы включаете AI-функции, мы можем хранить: историю переписки с AI-ассистентом, извлечённые факты и заметки (например, напоминания, задачи, события календаря, черновики), а также производные данные о ваших предпочтениях и контексте, которые помогают ассистенту. Эти данные привязаны к вашему аккаунту и удаляются вместе с ним (см. «Сроки хранения»).
2.6. Устройства, сессии и push-токены
Для работы на нескольких устройствах мы храним: идентификатор устройства, его название и тип, строку User-Agent, а также токены push-уведомлений (Apple APNs, Google FCM или веб-push) и язык устройства. Для активных сессий хранится хэш токена сессии (сам токен находится только в cookie на вашем устройстве).
2.7. Технические данные и защита от злоупотреблений
Ваш IP-адрес используется временно (в оперативной памяти) для защиты от спама, подбора кодов и других злоупотреблений (ограничение частоты запросов). Само приложение не ведёт журнал IP-адресов и не строит по ним рекламные профили. Есть два узких исключения, и оба сделаны ради вашей же безопасности: адрес сохраняется в короткоживущей записи запроса на вход с нового устройства (чтобы вы видели, откуда он пришёл, когда подтверждаете вход), и он попадает в служебное уведомление о событии безопасности — «вход с нового устройства», «ключи заменены», — которое приходит вам сообщением в ваш собственный чат. Больше нигде IP-адрес в базе не хранится.
На сетевом уровне картина другая, и мы описываем её честно. Веб-серверы и ретрансляторы, через которые проходит соединение, ведут обычные технические журналы, и в них IP-адрес есть:
- московские входные серверы ведут полный журнал обращений — что именно в нём записано и сколько он хранится, см. § 7.1;
- на основном сервере во Франции журнал обращений не ведётся, но при ошибке обработки запроса (например, когда бэкенд недоступен) обратный прокси записывает строку с адресом клиента;
- сервер ретрансляции звонков (TURN) записывает адреса участников соединения в свой технический журнал.
Эти журналы служат для эксплуатации и диагностики, не связываются с рекламными профилями и не передаются третьим лицам.
Для защиты от массовых рассылок сервис сравнивает усечённые хэши текста первых сообщений незнакомым людям (сам текст для этого не сохраняется).
2.8. Прочее
- Двухфакторная защита (если включена): облачный пароль хранится в виде хэша; адрес электронной почты для восстановления, если вы его укажете, хранится в открытом виде.
- Записи согласий: мы ведём журнал ваших согласий на обработку данных AI и на обучение моделей (с указанием версии условий и локали). Записи из него не удаляются: при удалении аккаунта они обезличиваются и остаются (см. § 8).
- Звонки: журнал звонков (кто, когда, длительность, тип). Звонок один на один идёт напрямую между устройствами — а если прямой путь не устанавливается, через наш ретранслятор TURN, который передаёт уже зашифрованный поток и не может его открыть. Групповой звонок (трое и больше) устроен иначе: он идёт через наш медиасервер (SFU), и тот расшифровывает звук и видео каждого участника, чтобы разослать их остальным. Сквозного шифрования в групповых звонках нет — на этом сервере их содержимое технически доступно нам.
- Обращения в поддержку и жалобы: содержимое ваших обращений и жалоб, а также связанные с ними идентификаторы.
- Геопозиция (Android и веб, только когда вы её отправляете): в приложении для Android и в веб-версии можно приложить к сообщению своё местоположение. Координаты берутся у операционной системы (в вебе — у браузера) в момент отправки, по разрешению, которое вы даёте, и уходят в чат как содержимое сообщения. Фоново местоположение не собирается и по нему ничего не строится. Картинку карты приложение ни у кого не запрашивает: карточка в переписке рисуется на самом устройстве, поэтому при её показе координаты никуда не уходят. Они покидают устройство только если вы сами нажмёте на карточку, чтобы открыть карту: на Android приложение передаёт их ссылкой
geo:тому картографическому приложению, которое у вас установлено, в вебе — открываетopenstreetmap.orgв новой вкладке. С этого момента координаты видит выбранный вами картографический сервис, а не мы. - Резервная копия ключа устройства у платформы: чтобы вы могли восстановить переписку на новом телефоне, приложение сохраняет один ключ устройства в хранилище платформы — iCloud Keychain на iOS и Google Block Store на Android. Ключ защищён самой платформой и привязан к коду разблокировки вашего устройства: ни мы, ни Apple, ни Google не можем его прочитать. Это можно отключить в настройках соответствующей ОС.
2.9. Диагностика сбоев
О падениях и ошибках мы узнаём на всех трёх платформах, но устроено это по-разному, и разница здесь важнее общего правила: на Android отчёт уходит третьей стороне, на iOS и в вебе — только на наши собственные серверы.
Android — Google Firebase Crashlytics (третья сторона). При сбое или восстановимой ошибке в Google уходят диагностические данные: стек вызовов, модель устройства, версия ОС и приложения, идентификатор установки Firebase, а также последние внутренние строки журнала приложения, которые прикладываются к отчёту. Содержимое сообщений в отчёты не попадает: строки журнала проходят через фильтр, который вычищает из них телефоны, адреса почты, токены сессий, ключевой материал и параметры ссылок на медиа, и ограничивает длину строки. Эти данные используются только для исправления дефектов — не для рекламы и не для профилирования.
Это можно выключить. «Настройки → Приватность → Диагностика → Отчёты о сбоях». По умолчанию включено; если выключить, с этого устройства не уходит ни автоматический отчёт о падении, ни строка журнала. Настройка привязана к устройству, а не к аккаунту, и переживает выход из аккаунта. В отладочных сборках сбор выключен всегда.
iOS — средствами самой операционной системы, отчёт нам. Приложение не использует сторонних SDK для диагностики. Сведения о падениях, зависаниях главного потока и превышениях по процессору и записи на диск приложение получает от MetricKit — механизма Apple, работающего на устройстве; отдельно ставится обработчик необработанных исключений и фатальных сигналов, чтобы следующий запуск знал о случившемся. Записи хранятся на устройстве и при следующем открытии приложения отправляются нам, а не Apple и не другому получателю. В отправке — только: пометка вида события (падение, зависание, ресурсы), одна короткая строка с названием исключения или сигнала и кратким описанием, и версия ОС и приложения. Стек вызовов мы не передаём — он остаётся на устройстве. Содержимого сообщений, идентификаторов чатов и вложений в этих записях нет. На нашей стороне запись увеличивает счётчик и попадает одной строкой в служебный журнал: с хэшем идентификатора аккаунта, без открытого идентификатора, и в базу данных не сохраняется. Запрос отправляется от вашего имени (в сессии), поэтому мы видим, к какому аккаунту относится сбой.
Веб — то же самое, из браузера. Когда в веб-клиенте происходит непойманная ошибка, он отправляет нам ту же служебную запись: вид ошибки, её текст (не более 240 символов), адрес страницы и номер строки. Не более восьми таких записей на одну загрузку страницы. Сторонние сервисы аналитики или сбора ошибок в вебе не используются.
3. Как, зачем и на каком основании мы используем данные
Ниже — каждая цель обработки, данные, которые для неё нужны, и правовое основание, на которое мы опираемся (ст. 6(1) GDPR). Мы используем четыре основания из шести: договор, согласие, юридическая обязанность и законный интерес. На «жизненно важные интересы» и «общественный интерес» мы не опираемся ни для чего.
| Цель | Какие данные | Правовое основание |
|---|---|---|
| Зарегистрировать вас, подтвердить номер, впустить в аккаунт и не выкидывать из него | Номер телефона, одноразовый код (хранится хэшем), записи об устройствах и сессиях, хэш токена сессии | Договор — ст. 6(1)(b). Без этого аккаунта попросту нет. |
| Доставлять и синхронизировать сообщения, медиа и чаты между вашими устройствами | Шифротекст переписки, файлы и превью, метаданные доставки (участники, идентификаторы чатов, время, статусы прочтения и доставки, реакции) | Договор — ст. 6(1)(b) |
| Показывать ваш профиль тем, с кем вы общаетесь | Username, отображаемое имя, описание, аватар и заполненные вами необязательные поля | Договор — ст. 6(1)(b) |
| Доставлять push-уведомления | Push-токен, язык устройства, метаданные уведомления | Договор — ст. 6(1)(b) |
| Устанавливать и вести аудио- и видеозвонки | Журнал звонков, данные соединения (включая IP-адреса на время установления связи), ваш идентификатор и отображаемое имя | Договор — ст. 6(1)(b) |
| Двухфакторная защита, когда вы её включили | Хэш облачного пароля, адрес почты для восстановления, если вы его указали | Договор — ст. 6(1)(b) |
| Помогать находить знакомых | Номера из вашей адресной книги — в момент сопоставления; на хранении остаются только их солёные хеши (имена не сохраняются) | Согласие — ст. 6(1)(a). Даётся через системный запрос разрешения, отзывается в любой момент; удаление сохранённой адресной книги в приложении и есть отзыв. |
| Хранить записи адресной книги, принадлежащие людям, которые Gluline не пользуются | Только солёные хеши их номеров — ни номеров, ни имён в открытом виде у нас нет | Законный интерес — ст. 6(1)(f): сопоставить номер с нашей базой — единственный способ, которым поиск знакомых вообще может работать. Ни для чего другого эти записи не используются, и они удаляются вместе с вашей адресной книгой или аккаунтом. |
| AI-функции | Содержимое, которое вы направляете ассистенту, история переписки с ним, извлечённые факты и заметки | Согласие — ст. 6(1)(a). Выключено по умолчанию, настраивается для каждого чата и контакта, отзывается в любой момент. |
| Обучение моделей | Только то, что покрыто вашим согласием на обучение | Отдельное согласие — ст. 6(1)(a). Выключено по умолчанию, отзывается в любой момент. |
| Сохранять сервис доступным из сетей, которые его блокируют или душат (см. § 7.1) | IP-адрес, метаданные запроса | Договор — ст. 6(1)(b) для самой маршрутизации; законный интерес — ст. 6(1)(f) для журналов обращений, которые ведут входные серверы. |
| Предотвращать спам, подбор кодов, массовые рассылки незнакомым людям, мошенничество и другие злоупотребления | IP-адрес (в оперативной памяти), усечённые хэши первых сообщений незнакомым людям, счётчики ограничения частоты, токен капчи, если она включена | Законный интерес — ст. 6(1)(f): сервисом должно быть можно пользоваться. Баланс с вашими правами мы держим тем, что работаем в памяти там, где это возможно, усекаем и хэшируем там, где нет, и никогда не используем эти данные для профилирования или рекламы. |
| Отвечать на обращения в поддержку и разбирать жалобы | Содержимое обращения или жалобы и связанные с ним идентификаторы | Договор для ваших собственных обращений; законный интерес — ст. 6(1)(f) для жалоб, которые на контент подают другие люди. |
| Хранить запись о том, что вы дали (или отозвали) согласие | Записи согласий: какое согласие, версия условий, локаль, отметка времени | Юридическая обязанность — ст. 6(1)(c) во взаимосвязи со ст. 7(1): мы обязаны быть в состоянии доказать наличие согласия. Именно поэтому записи согласий переживают данные, к которым относятся: при удалении аккаунта запись не стирается, а обезличивается — она остаётся, но перестаёт указывать на вас. |
| Исполнять требования закона и отвечать на законные запросы | То, что требует конкретная обязанность | Юридическая обязанность — ст. 6(1)(c) |
Отзыв согласия. Там, где мы опираемся на согласие, вы можете отозвать его в любой момент в приложении и без объяснения причин. Отзыв не делает незаконной обработку, которая уже произошла.
Возражение. Там, где мы опираемся на законный интерес, у вас есть право возразить (ст. 21 GDPR). Напишите на support@gluline.com — мы прекратим обработку, если только у нас не окажется веских оснований, перевешивающих ваши интересы.
4. Шифрование и конфиденциальность переписки
Отдельного «секретного чата» больше нет. Раньше в Gluline был второй тип чата на базе протокола Signal. Мы его убрали во всех приложениях: приватный режим — это обычный чат с выключенным ИИ-помощником.
Чат с выключенным ИИ-помощником. Содержимое сообщений шифруется на вашем устройстве ключом комнаты (AES-GCM), а сам ключ комнаты хранится у нас только в виде копии, зашифрованной на открытый ключ каждого участника (ECDH). Закрытый ключ, которым эта копия открывается, защищён ключом вашего устройства, и этого ключа у нас нет — значит, ключом комнаты мы не располагаем и содержимое таких чатов нам недоступно. Поскольку шифрует и расшифровывает само приложение на вашем устройстве, эта гарантия предполагает, что вы пользуетесь официальным, неизменённым приложением Gluline.
Чего эта схема не даёт. Мы не заявляем ни прямой секретности (forward secrecy), ни восстановления после компрометации (post-compromise security). Один ключ комнаты покрывает всю переписку до следующей ротации ключа, поэтому тот, кто получит этот ключ и сохранённый шифротекст, прочитает весь охваченный им отрезок — и прошлое, и будущее. Схема с ключом на каждое сообщение это ограничивала бы; ключ комнаты — нет.
Чат с включённым ИИ-помощником — это не сквозное шифрование: чтобы помощник мог прочитать сообщение, приложение отправляет его расшифрованный текст на наш сервер. Это и есть смысл функции. Если вам нужна максимальная приватность конкретной переписки — выключите в ней ИИ-помощника.
Облачное хранение. Переписка передаётся по защищённому соединению (TLS) и хранится на наших серверах, чтобы синхронизироваться между вашими устройствами. Метаданные (кто, кому, когда и сколько) при этом не шифруются сквозным образом.
Восстановление ключей на iPhone (только iOS). Ваш набор ключей шифрования хранится на нашем сервере только в закрытом виде — открыть его может лишь ключ вашего устройства, и у нас этого ключа нет. Чтобы вход на новом iPhone возвращал вам переписку без кода восстановления и без подтверждения со старого устройства, приложение для iOS кладёт этот ключ устройства (32 байта) в Связку ключей iCloud, если она у вас включена. Связка ключей iCloud защищена сквозным шифрованием на стороне Apple и привязана к код-паролю вашего устройства: ни мы, ни Apple содержимое не читаем. Но сказать об этом стоит прямо — это означает, что ключ существует за пределами вашего iPhone, и тот, кто получит одновременно и доступ к вашей учётной записи iCloud, и ваш код-пароль, сможет им воспользоваться. Если вас это не устраивает, отключите Связку ключей iCloud: тогда ключ никуда не уезжает, а восстановление на новом устройстве идёт через подтверждение с того устройства, где вы уже вошли. Мы удаляем этот ключ только при удалении учётной записи — выход из аккаунта его не стирает, иначе восстановление сломалось бы на всех ваших устройствах сразу.
Мы не заявляем сквозное шифрование для всего приложения. Метаданные (кто, кому, когда и сколько) не шифруются сквозным образом.
5. AI-функции
AI-функции (ассистент, суммаризация, транскрипция голосовых сообщений) работают на наших моделях и на сервере, которым управляем мы. Содержимое ваших сообщений не передаётся сторонним AI-провайдерам — ни для ответа вам, ни для обучения их моделей. Мы не пользуемся коммерческими AI-API. Сам сервер с ускорителями мы арендуем у стороннего GPU-провайдера: железо не наше, но настраиваем и обслуживаем его мы, и ничего, кроме наших моделей, на нём не работает. Сейчас эта машина стоит во Франции, то есть в ЕС; с основным сервером она связана зашифрованным туннелем и в интернет не выставлена (см. § 7).
Принципы работы AI:
- AI выключен по умолчанию и включается вами. Его можно отключить в любой момент — глобально, для конкретного чата или для конкретного контакта.
- В групповых чатах AI работает только при взаимном согласии всех участников.
- Чат с выключенным AI никогда не обрабатывается AI. Это правило закреплено на сервере, а не только в интерфейсе: запрос по такому чату отклоняется.
- Транскрипция голосовых. Расшифровать голосовое сообщение можно только в чате, где AI включён у всех участников; сама расшифровка выполняется на нашем сервере, а не на вашем устройстве. Там, где у кого-то из участников AI выключен, голосовые сообщения не транскрибируются вообще. Готовый текст расшифровки на сервере не сохраняется.
- Что мы храним. Историю вашей переписки с AI-ассистентом мы храним в открытом виде — иначе ассистент не помнил бы разговор (см. § 2.5 и сроки в § 8). Отдельно ведутся счётчики использования (количество токенов). Утверждать, что содержимое запросов к модели не сохраняется, было бы неправдой.
- Диктовка в ассистенте (Android). Кнопка микрофона в чате с ассистентом вызывает системное распознавание речи Android. Эту запись обрабатываем не мы, а распознаватель вашей операционной системы — на большинстве устройств это сервис Google, и он может отправлять звук на серверы Google по правилам самой ОС.
Обучение моделей — это отдельное согласие, которое выключено по умолчанию и может быть отозвано в любой момент. Без вашего согласия ваши сообщения не используются для обучения.
6. Кому мы передаём данные (суб-обработчики)
Мы не продаём ваши персональные данные и не передаём их для рекламы. Мы привлекаем ограниченный круг поставщиков инфраструктуры («суб-обработчиков»), которые обрабатывают данные по нашему поручению и под обязательствами конфиденциальности:
- Хостинг-провайдеры (ЕС) — размещение и хранение данных сервиса;
- Сервисы push-уведомлений — Apple (APNs) и Google (FCM), а также браузерные веб-push-сервисы;
- Провайдер доставки SMS/OTP — отправка кода подтверждения на ваш номер;
- Хостинг входных серверов в России — площадка, на которой стоят московские входы и российский ретранслятор звонков (см. § 7.1);
- GPU-провайдер — площадка, на которой стоит арендованный сервер с ускорителями и работают наши AI-модели (см. § 7);
- DNS — авторитетные серверы имён для наших доменов и выпуск TLS-сертификатов; ваш трафик через них не идёт;
- Диагностика сбоев Android-приложения — Google (Firebase Crashlytics), см. § 2.9;
- Ретрансляция звонков (STUN) — публичный сервер согласования соединения;
- Защита от ботов — сервис проверки (капча), если он включён.
Медиасервер и сервер ретрансляции звонков (TURN) — наши собственные, они работают на нашем оборудовании, а не у стороннего поставщика. Сторонних AI-провайдеров среди суб-обработчиков нет: модели наши, а арендуем мы только машину, на которой они крутятся, — её хостер это обычный поставщик инфраструктуры, и он в списке.
Полный актуальный список с названиями компаний, целями и категориями передаваемых данных — на странице Суб-обработчики.
Push-уведомления: текст сообщений из обычных чатов не передаётся в push — отправляется только сигнал «новое сообщение», а приложение расшифровывает и показывает содержимое локально. Однако некоторые уведомления (например, о напоминаниях, задачах или входящих звонках) могут содержать ограниченный текст — заголовок напоминания или имя отправителя/звонящего.
7. Международная передача данных и региональная маршрутизация
Наши основные серверы — бэкенд, база данных и всё, что хранится, — расположены в Европейском союзе (Франция). Отдельные суб-обработчики (например, сервисы push-уведомлений) могут находиться за пределами вашей страны, включая США. В таких случаях мы полагаемся на применимые правовые механизмы и договорные гарантии защиты данных.
Сервер AI-моделей — сейчас во Франции, то есть в ЕС. Когда вы пользуетесь AI-функциями, текст и аудио, которые вы направляете ассистенту, обрабатываются на сервере с ускорителями, который мы арендуем у стороннего GPU-провайдера. Он соединён с основным сервером зашифрованным туннелем и не выставлен в интернет. Ничего постоянно на нём не хранится: история переписки с ассистентом лежит в базе во Франции. Провайдер этой площадки — суб-обработчик, он указан на странице Суб-обработчики. Страну мы называем по состоянию на сегодня: такую машину можно заменить за час, и один раз мы это уже делали — если следующая окажется за пределами ЕС, мы обновим эту страницу.
Есть ещё одно место, где наши собственные машины стоят не в ЕС, и мы называем его прямо:
- Входные серверы и ретранслятор звонков — Россия. См. § 7.1 ниже.
7.1. Доступ из России
Часть российских сетей не блокирует соединения с зарубежными дата-центрами, а притормаживает их до полной остановки: сервис при этом не «работает медленно», а не открывается вообще. Чтобы Gluline оставался доступен, мы держим собственные входные серверы в Москве — на площадке хостинг-провайдера FirstVDS, под именами ru.gluline.com и ru2.gluline.com. Для тех, кто открывает сервис из России, на них указывает и само имя gluline.com. Эти серверы передают запросы на наши основные серверы во Франции по зашифрованному туннелю, который принадлежит нам. Это наши серверы, а не VPN и не сторонний прокси.
Здесь есть реальный компромисс, и мы описываем его прямо.
- На этих серверах завершается TLS. Ваше защищённое соединение заканчивается в Москве, дальше запрос идёт во Францию по второму, отдельному зашифрованному соединению. Пока запрос обрабатывается, московская машина видит всё, что отправляет приложение или браузер: адрес, с которого вы подключились, путь и параметры запроса, заголовки (включая название и тип вашего устройства), cookie сессии, а также тело запроса и ответа.
- Они ведут журнал обращений. Каждый запрос записывается в JSON-журнал: IP-адрес и порт клиента, имя хоста, метод, путь и строка запроса, версия протокола и параметры TLS, код и размер ответа, длительность обработки и заголовки запроса — в том числе User-Agent. Учётные данные в журнал не попадают: значение cookie сессии заменяется на
REDACTED. Журналы ротируются по размеру и не хранятся дольше 90 дней. Они нужны, чтобы при поломке доступа ответить на вопрос «дошёл ли человек до нас и что мы ему ответили». - Чего эти серверы по-прежнему не видят. Чат с выключенным ИИ-помощником остаётся зашифрованным на всём пути: через Москву проходит шифротекст, который открывается только ключом комнаты — а он есть лишь на устройствах участников. Никакая настройка на входном сервере этого не меняет.
- Звонки. Через эти HTTP-входы звонки не идут. Но звонки из России ретранслируются через наш TURN-сервер в той же московской сети (
turn-ru.gluline.com): те же фильтры, что душат TLS, ломают и звонок в Европу. Ретранслятор передаёт медиапоток, не имея возможности его расшифровать — медиа зашифровано между участниками (SRTP/DTLS), и устройства сверяют отпечатки ключей друг друга. Это относится к звонкам один на один: групповой звонок идёт не через ретранслятор, а через наш медиасервер, и там содержимое расшифровывается (см. § 2.8). При этом ретранслятор видит, кто и откуда подключается, сколько идёт трафика и ваш числовой идентификатор Gluline: он входит в имя пользователя, которым клиент авторизуется на релее. - Юрисдикция. Эти машины физически находятся в России и подпадают под российское право.
- Кого это касается. Адреса московских входов вшиты в приложения для iOS и Android, и приложение пробует их при каждом подключении. Но прямой европейский путь получает фору: московский вход используется, только если прямой оказался слишком медленным или завис — на практике это и есть случай России. За её пределами прямой путь обычно выигрывает. В браузере проще: тот, кто пришёл на московский вход с адреса за пределами России, возвращается на европейский сервер. Маршрут выбирается заново при каждом подключении и нигде не запоминается.
8. Сроки хранения и удаление
Мы храним данные аккаунта, пока аккаунт активен. Отдельные категории данных удаляются автоматически по истечении срока (значения по умолчанию, могут настраиваться):
- история переписки с AI-ассистентом — 90 дней (ежедневная фоновая задача);
- служебные технические журналы AI — 30 и 180 дней в зависимости от типа (ежедневная фоновая задача);
- журналы обращений на московских входных серверах — ротация по размеру, но не дольше 90 дней (см. § 7.1);
- файлы экспорта ваших данных — 24 часа. Срок держат два независимых механизма: периодическая задача, которая удаляет просроченные файлы с диска, и проверка возраста при обращении — файл старше суток считается отсутствующим и удаляется, даже если задача до него ещё не дошла. Прошлая редакция этой страницы честно оговаривала, что задачи по расписанию нет; теперь она есть.
Удаление аккаунта. Вы можете удалить аккаунт в приложении. Удаление немедленное и необратимое — «корзины» и периода восстановления нет. Удаляются: профиль и аватар, все ваши личные (1:1) переписки, «Избранное» (Saved Messages), загруженные вами медиафайлы вместе с их уменьшенными превью, ранее заказанные файлы экспорта ваших данных, данные AI и сохранённая адресная книга.
Что не удаляется вместе с аккаунтом:
- сообщения, отправленные вами в групповые чаты и каналы: они остаются в этих беседах, но перестают быть привязанными к вашему аккаунту — авторство обезличивается;
- записи ваших согласий: сама запись остаётся, но перестаёт быть привязанной к аккаунту — мы её обезличиваем, ровно как авторство сообщений в группах. Хранить её мы обязаны по закону: нужно уметь доказать, что согласие было получено и когда отозвано (см. § 3). По обезличенной записи видно, что кто-то дал и отозвал согласие, но не видно, кто именно.
9. Ваши права и контроль
Вы можете:
- Получить доступ и экспортировать свои данные — приложение формирует машиночитаемый архив (JSON/ZIP) с профилем, настройками, контактами, чатами/сообщениями и метаданными медиа;
- Исправить данные профиля в настройках;
- Удалить аккаунт и связанные данные;
- Отозвать согласие на AI-обработку и на обучение моделей;
- Возразить против отдельных видов обработки или ограничить её.
Для пользователей из ЕС/ЕЭЗ (GDPR). Правовое основание для каждой цели обработки указано отдельно в разделе «Как, зачем и на каком основании мы используем данные». Вам принадлежат права на доступ, исправление, удаление, ограничение и переносимость данных, а также право подать жалобу в надзорный орган по защите данных. Реализовать права можно в приложении или написав на support@gluline.com.
10. Безопасность
Мы применяем защищённые соединения (TLS), шифрование содержимого чатов ключом комнаты, которого у нас нет, и принцип минимизации данных. Само приложение не пишет IP-адреса в свои журналы и хэширует идентификаторы пользователей в чувствительных журналах; на сетевом уровне IP-адреса в технических журналах есть — где именно, написано в § 2.7 и § 7.1.
В Gluline нет сторонних рекламных, аналитических или атрибуционных SDK, и мы не отслеживаем вас в приложениях и на сайтах других компаний. В клиентах для iOS и веба нет и стороннего сбора данных об ошибках — но собственную диагностику сбоев мы получаем и там: она уходит на наши серверы, а не третьей стороне. Единственная третья сторона здесь — Android: Google Firebase Crashlytics. Что именно отправляется с каждой платформы, разобрано в § 2.9. Если вы пришли по нашей собственной рекламной ссылке, при регистрации мы сохраняем её метки кампании (utm_*, идентификатор клика) и домен-источник — только чтобы понимать, какая наша реклама работает. Это остаётся у нас на нашем сервере: никому не передаётся и для показа вам рекламы не используется.
Ни один метод передачи или хранения не защищён на 100%, но мы стремимся защищать ваши данные адекватными техническими и организационными мерами.
11. Дети
Gluline не предназначен для лиц младше 13 лет (или более старшего возраста, если этого требует законодательство вашей страны). Мы сознательно не собираем данные детей. Если вы считаете, что ребёнок предоставил нам данные, напишите на support@gluline.com, и мы удалим их.
12. Изменения политики
Мы можем обновлять эту Политику. О существенных изменениях мы уведомим в приложении или иным разумным способом и обновим дату вверху страницы.
13. Как с нами связаться
Оператор данных: Apri Software L.L.C-FZ (лицензия № 2647334.01), Meydan Grandstand, 6th floor, Meydan Road, Nad Al Sheba, Dubai, Объединённые Арабские Эмираты.
Электронная почта: support@gluline.com
Privacy Policy
In short. A chat with the AI assistant switched off is encrypted with a room key we do not hold — we cannot read it (we do not, however, promise forward secrecy). There is no separate “secret chat” any more. Conversations are stored encrypted on our servers so they sync across your devices. AI features are off by default, turned on by you, and run on our own models. We do not sell your data and do not use it for advertising tracking. Two things worth knowing up front: from Russia your connection goes through our entry servers in Moscow (§ 7.1), and the Android app sends crash reports to Google (§ 2.9).
1. Who we are & scope
Gluline is a messenger for iOS, Android and the web. The data controller is Apri Software L.L.C-FZ, a Free Zone Limited Liability Company (License No. 2647334.01), registered at Meydan Grandstand, 6th floor, Meydan Road, Nad Al Sheba, Dubai, United Arab Emirates (“we”, “Gluline”). This Policy explains what data we process in the Gluline apps and services and how you can control it.
For any privacy question, email support@gluline.com.
2. What data we collect
2.1. Phone number
We use your phone number to register and sign you in. It is stored on our servers in normalized international format (E.164) and serves as the primary identifier of your account. To verify the number, we send a one-time verification code to it by SMS (delivery is performed by a third-party SMS provider — see “Sub-processors”). The code itself is stored only as an irreversible hash for the duration of the check.
2.2. Profile
You may provide: a username, a display name/last name and nickname, a profile description (bio), a profile photo (avatar), and optionally a date of birth, a city/location (free-text field) and an interface language. Some of these fields are visible to other users according to your privacy settings.
2.3. Contacts (address book)
If you grant the operating-system permission, the app may upload contacts from your address book (names and phone numbers) to help you find people you know who already use Gluline, and to notify you when one of your contacts joins. The numbers and names themselves are not stored on the server: they exist only for the duration of the single matching request and are discarded once it completes. What we keep is a salted hash (HMAC-SHA256) of each number, plus a reference to the matched account — if the number belongs to a registered user whose privacy settings allow it. The name from your phone book is not stored anywhere: a contact's display name in the app is either that user's own profile name or a label you set yourself inside Gluline. Please note: your address book may contain numbers of people who are not Gluline users — their hashes are stored as well, so that we can notify you if such a person registers later; we hold neither their number nor their name. You can delete what is stored at any time — in the app ("Find friends" → "Stop syncing") or via support@gluline.com.
2.4. Messages and media
- Chats: message content is stored on our servers in encrypted form so you can sync your conversations across devices. Attached files and media are kept in file storage. For media we store low-resolution previews (thumbnails), and those are stored unencrypted — a small but real copy of the picture.
- Chats with the AI assistant switched off: content is encrypted with a room key we do not hold and is not accessible to us (see “Encryption”).
- Metadata: regardless of chat type, we process the service data needed to deliver messages: participants, chat identifiers, timestamps, reactions, read and delivery states.
- Bot chats and AI-assistant chats are, by their nature, stored in plaintext, because a server/bot must process them.
2.5. AI-feature data (if you enable it)
If you enable AI features, we may store: your AI-assistant conversation history, extracted facts and notes (e.g. reminders, tasks, calendar events, drafts), and derived data about your preferences and context that help the assistant. This data is linked to your account and is deleted together with it (see “Retention”).
2.6. Devices, sessions and push tokens
To work across multiple devices we store: a device identifier, its name and type, the User-Agent string, and push-notification tokens (Apple APNs, Google FCM or web push) plus the device locale. For active sessions we store a hash of the session token (the token itself lives only in a cookie on your device).
2.7. Technical data and abuse prevention
Your IP address is used transiently (in memory) to protect against spam, code-guessing and other abuse (rate limiting). The application itself keeps no log of IP addresses and builds no advertising profiles from them. There are two narrow exceptions, both there for your own security: the address is kept on the short-lived record of a sign-in request from a new device (so you can see where it came from when you approve it), and it appears in the security notice — “new sign-in”, “keys replaced” — that arrives as a message in your own chat. Your IP address is not stored in the database anywhere else.
At the network layer the picture is different, and we would rather describe it honestly. The web servers and relays your connection passes through keep ordinary operational logs, and your IP address appears in them:
- the Moscow entry servers keep a full access log — what it contains and how long it is kept is described in § 7.1;
- on the main server in France no access log is kept, but when a request fails to be handled (for example when the backend is unreachable) the reverse proxy writes an error line containing the client address;
- the call relay (TURN) records participants’ addresses in its own operational log.
These logs exist for operating and debugging the service. They are not joined to advertising profiles and are not shared with third parties.
To detect mass messaging, the service compares truncated hashes of the text of first messages to strangers (the text itself is not stored for this).
2.8. Other
- Two-factor protection (if enabled): the cloud password is stored as a hash; a recovery email address, if you provide one, is stored in plaintext.
- Consent records: we keep a log of your consents for AI processing and for model training (with the terms version and locale). Entries are never deleted from it: when you delete your account they are anonymized and kept (see § 8).
- Calls: a call log (who, when, duration, type). A one-to-one call runs directly between the two devices — or, when no direct path can be established, through our TURN relay, which forwards an already-encrypted stream it cannot open. A group call (three or more people) works differently: it is routed through our media server (SFU), and that server decrypts each participant’s audio and video in order to forward it to the others. Group calls are not end-to-end encrypted — at that server their content is technically accessible to us.
- Support and reports: the content of your support requests and reports, and related identifiers.
- Location (Android and web, and only when you send it): the Android app and the web client let you attach your location to a message. The coordinates are read from the operating system — in the browser, from the browser — at the moment you send, under a permission you grant, and travel into the chat as message content. We do not collect location in the background and we build nothing from it. The app does not request a map image from anyone: the card in the conversation is drawn on the device itself, so displaying it sends the coordinates nowhere. They leave the device only if you tap the card to open a map: on Android the app hands them to whatever maps app you have installed over a
geo:link, and on the web it opensopenstreetmap.orgin a new tab. From that point the mapping service you chose sees the coordinates, not us. - Platform backup of your device key: so you can restore your conversations on a new phone, the app stores one device key in the platform’s own vault — iCloud Keychain on iOS and Google Block Store on Android. The key is protected by the platform and tied to your device passcode: neither we, nor Apple, nor Google can read it. You can turn this off in the operating system’s settings.
2.9. Crash diagnostics
We learn about crashes and errors on all three platforms, but the arrangement differs, and that difference matters more than the general rule: on Android the report goes to a third party; on iOS and the web it goes only to our own servers.
Android — Google Firebase Crashlytics (a third party). When the app crashes or hits a recoverable error, diagnostic data is sent to Google: a stack trace, the device model, the OS and app version, a Firebase installation identifier, and the app’s most recent internal log lines, which are attached to the report. Message content is never included: those log lines pass through a filter that strips phone numbers, email addresses, session tokens, key material and media-link parameters, and caps each line’s length. This data is used only to fix defects — not for advertising and not for profiling.
You can turn it off. Settings → Privacy → Diagnostics → Crash reports. It is on by default; switched off, neither an automatic crash report nor a log line leaves the device. The setting belongs to the device rather than the account and survives signing out. In debug builds collection is always off.
iOS — the operating system’s own facility, reported to us. The app uses no third-party diagnostics SDK. Crashes, main-thread hangs, and CPU and disk-write exceptions are delivered to the app by MetricKit, Apple’s on-device mechanism; separately, a handler for uncaught exceptions and fatal signals records that the process died so the next launch knows. Records are held on the device and, the next time you open the app, uploaded to us — not to Apple and not to anyone else. What is uploaded is only: a label for the kind of event (crash, hang, resource), one short line naming the exception or signal with a brief detail, and the OS and app version. The stack trace is not transmitted — it stays on the device. These records contain no message content, no chat identifiers and no attachments. On our side the record increments a counter and produces one line in an operational log, carrying a hash of the account identifier rather than the identifier itself, and is not written to the database. The upload is made in your session, so we can see which account a crash belongs to.
Web — the same thing, from the browser. When an uncaught error occurs in the web client, it sends us the same kind of record: the type of error, its text (240 characters at most), the page path and the line number. No more than eight such records per page load. No third-party analytics or error-reporting service is used on the web.
3. How, why and on what legal basis we use data
Below is every purpose we process data for, the data each purpose needs, and the legal basis we rely on (Article 6(1) GDPR). We use four of the six bases: contract, consent, legal obligation and legitimate interests. We do not rely on vital interests or public task for anything.
| Purpose | Data used | Legal basis |
|---|---|---|
| Register you, verify your number, sign you in and keep you signed in | Phone number, one-time code (stored hashed), device and session records, session-token hash | Contract — Art. 6(1)(b). Without this there is no account. |
| Deliver and sync your messages, media and chats across your devices | Conversation ciphertext, files and previews, delivery metadata (participants, chat identifiers, timestamps, read and delivery states, reactions) | Contract — Art. 6(1)(b) |
| Show your profile to the people you talk to | Username, display name, bio, avatar and any optional fields you filled in | Contract — Art. 6(1)(b) |
| Deliver push notifications | Push token, device locale, notification metadata | Contract — Art. 6(1)(b) |
| Set up and carry audio and video calls | Call log, connection data (including IP addresses for the duration of call setup), your identifier and display name | Contract — Art. 6(1)(b) |
| Two-factor protection, when you turn it on | Cloud-password hash, recovery email address if you provided one | Contract — Art. 6(1)(b) |
| Help you find people you know | Phone numbers from your address book at the moment of matching; only their salted hashes are retained afterwards (names are not stored) | Consent — Art. 6(1)(a). Given through the operating-system permission prompt and withdrawable at any time; deleting the stored address book in the app is the withdrawal. |
| Storing address-book entries that belong to people who do not use Gluline | Salted hashes of their numbers only — we hold neither the numbers nor the names in the clear | Legitimate interests — Art. 6(1)(f): matching a number against our user base is the only way contact discovery can work at all. Those entries are used for nothing else, and they are deleted with your address book or your account. |
| AI features | What you send to the assistant, your conversation history with it, extracted facts and notes | Consent — Art. 6(1)(a). Off by default, configurable per chat and per contact, withdrawable at any time. |
| Model training | Only what your training consent covers | Separate consent — Art. 6(1)(a). Off by default, withdrawable at any time. |
| Keeping the service reachable from networks that block or throttle it (see § 7.1) | IP address, request metadata | Contract — Art. 6(1)(b) for the routing itself; legitimate interests — Art. 6(1)(f) for the access logs the entry servers keep. |
| Preventing spam, code-guessing, mass unsolicited messaging, fraud and other abuse | IP address (in memory), truncated hashes of first messages to strangers, rate-limit counters, a captcha token where captcha is enabled | Legitimate interests — Art. 6(1)(f): the service has to remain usable. We balance this against your rights by working in memory where we can, truncating and hashing where we cannot, and never using any of it for profiling or advertising. |
| Answering your support requests and acting on abuse reports | The content of the request or report and the identifiers attached to it | Contract for your own requests; legitimate interests — Art. 6(1)(f) for reports other people file about content. |
| Keeping a record that you gave (or withdrew) consent | Consent records: which consent, which version of the terms, locale, timestamp | Legal obligation — Art. 6(1)(c) read with Art. 7(1): we must be able to demonstrate consent. This is why consent records outlive the data they relate to: deleting your account does not erase the record, it anonymizes it — the record stays, but it stops pointing at you. |
| Complying with the law and responding to lawful requests | Whatever the specific obligation requires | Legal obligation — Art. 6(1)(c) |
Withdrawing consent. Where we rely on consent you may withdraw it at any time in the app, without giving a reason. Withdrawal does not make processing that already happened unlawful.
Objecting. Where we rely on legitimate interests you have the right to object under Article 21 GDPR. Write to support@gluline.com and we will stop, unless we have compelling grounds that override your interests.
4. Encryption & message privacy
There is no separate “secret chat” any more. Gluline used to offer a second chat type built on the Signal protocol. We removed it from every app: the private mode is an ordinary chat with the AI assistant switched off.
A chat with the AI assistant switched off. Message content is encrypted on your device with a per-chat room key (AES-GCM). We store that room key only as a copy wrapped to each member's public key (ECDH). The private key that opens that copy is protected by a key held on your device, and we do not have it — so we do not hold the room key and the content of those chats is not accessible to us. Because your own device does the encrypting and decrypting, this guarantee assumes you are using an official, unmodified Gluline app.
What this scheme does not give you. We do not claim forward secrecy, and we do not claim post-compromise security. One room key covers the whole conversation until the key is rotated, so anyone who obtains that key together with the stored ciphertext can read the span it covers — past and future alike. A per-message ratchet would bound that; a room key does not.
A chat with the AI assistant switched on is not end-to-end encrypted: for the assistant to read a message, the app sends its decrypted text to our server. That is the point of the feature. If you need maximum privacy for a particular conversation, switch the assistant off in it.
Cloud storage. Conversations are transmitted over a secure connection (TLS) and stored on our servers so they sync across your devices. Metadata (who, to whom, when and how much) is not end-to-end encrypted.
Key recovery on iPhone (iOS only). Your set of encryption keys is held on our server only in sealed form — nothing but your device's own key opens it, and we do not have that key. So that signing in on a new iPhone gives you your conversations back without a recovery code and without approval from your old device, the iOS app places that 32-byte device key in your iCloud Keychain, if you have it switched on. iCloud Keychain is end-to-end encrypted by Apple and tied to your device passcode: neither we nor Apple can read what is in it. It is worth saying the consequence plainly, though — it means the key exists outside your iPhone, and someone who obtained both your iCloud account and your device passcode could use it. If you would rather that not be true, turn iCloud Keychain off: the key then stays on the device, and recovery on a new one goes through approval from a device you are already signed in on. We delete this key only when you delete your account — signing out does not erase it, because that would break recovery on all of your devices at once.
We do not claim end-to-end encryption for the whole app. Metadata (who, to whom, when and how much) is not end-to-end encrypted.
5. AI features
AI features (assistant, summarization, voice-message transcription) run on our own models, on a server we operate. The content of your messages is not shared with third-party AI providers — neither to answer you nor to train their models. We do not use commercial AI APIs. The accelerator server itself we rent from a third-party GPU provider: the hardware is not ours, but we set it up and run it, and nothing but our own models runs on it. That machine is currently in France, i.e. in the EU; it is joined to our main server by an encrypted tunnel and is not exposed to the internet (see § 7).
How AI works:
- AI is off by default and turned on by you. It can be disabled at any time — globally, for a specific chat, or for a specific contact.
- In group chats, AI runs only with the mutual consent of all participants.
- A chat with AI switched off is never processed by AI. That rule is enforced on the server, not just in the interface: a request scoped to such a chat is refused.
- Voice transcription. A voice message can be transcribed only in a chat where every participant has AI enabled, and the transcription runs on our server, not on your device. Wherever a participant has AI turned off, voice messages are not transcribed at all. The finished transcript is not stored on the server.
- What we store. We store your conversation history with the AI assistant in the clear — otherwise the assistant could not remember the conversation (see § 2.5, and § 8 for how long). Separately we keep usage counts (number of tokens). It would not be true to say that the content of your requests to the model is not stored.
- Dictation in the assistant (Android). The microphone button in the assistant chat invokes Android’s system speech recognition. That recording is handled not by us but by your operating system’s recognizer — on most devices that is a Google service, and it may send the audio to Google’s servers under the OS’s own rules.
Model training is a separate consent that is off by default and can be revoked at any time. Without your consent, your messages are not used for training.
6. Who we share data with (sub-processors)
We do not sell your personal data and do not share it for advertising. We use a limited set of infrastructure providers (“sub-processors”) that process data on our behalf under confidentiality obligations:
- Hosting providers (EU) — hosting and storage of service data;
- Push-notification services — Apple (APNs) and Google (FCM), and browser web-push services;
- SMS/OTP delivery provider — sending the verification code to your number;
- Hosting for the entry servers in Russia — the facility where the Moscow entry points and the Russian call relay run (see § 7.1);
- GPU provider — the facility where the rented accelerator server sits and our AI models run (see § 7);
- DNS — authoritative name servers for our domains and TLS-certificate issuance; your traffic does not pass through them;
- Crash diagnostics for the Android app — Google (Firebase Crashlytics), see § 2.9;
- Call connection negotiation (STUN) — a public server used to negotiate the connection;
- Bot protection — a challenge (captcha) service, if enabled.
The media server and the call relay (TURN) are our own: they run on our hardware, not at a third-party vendor. There is no third-party AI provider among our sub-processors: the models are ours, and what we rent is the machine they run on — its host is an ordinary infrastructure provider, and it is on the list.
The full, current list with company names, purposes and categories of data shared is on the Sub-processors page.
Push notifications: the text of messages in regular chats is not sent in push — only a “new message” signal is sent, and the app decrypts and shows the content locally. However, some notifications (e.g. for reminders, tasks or incoming calls) may contain limited text — a reminder title or the sender’s/caller’s name.
7. International transfers & regional routing
Our main servers — the backend, the database and everything that is stored — are located in the European Union (France). Some sub-processors (e.g. push-notification services) may be located outside your country, including in the United States. In such cases we rely on applicable legal mechanisms and contractual data-protection safeguards.
The AI model server — currently in France, i.e. in the EU. When you use AI features, the text and audio you send to the assistant are processed on an accelerator server we rent from a third-party GPU provider. It is joined to our main server by an encrypted tunnel and is not exposed to the internet. Nothing is kept there permanently: your assistant conversation history lives in the database in France. The provider of that machine is a sub-processor and is listed on the Sub-processors page. We name the country as it stands today: a box like this can be swapped in an hour, and we have done it once already — if the next one lands outside the EU, we will update this page.
There is one further place where machines of our own sit outside the EU, and we would rather name it plainly:
- The entry servers and the call relay — Russia. See § 7.1 below.
7.1. Access from Russia
Some networks in Russia do not block connections to foreign datacentres — they throttle them until they stall, so the service does not run slowly, it does not open at all. So that Gluline stays reachable, we run our own entry servers in Moscow, at the hosting provider FirstVDS, under the names ru.gluline.com and ru2.gluline.com. For people reaching the service from Russia, the name gluline.com itself also points at them. Those servers forward requests to our main servers in France over an encrypted tunnel that belongs to us. They are our servers — not a VPN and not a third-party proxy.
There is a real trade-off here, and we would rather state it plainly.
- These servers terminate TLS. Your secure connection ends in Moscow, and a second, separate encrypted connection carries the request on to France. While the request is being handled, that machine can see everything your app or browser sends: the address you connected from, the request path and query, your headers (including the name and type of your device), your session cookie, and the request and response bodies.
- They keep access logs. Every request is written to a JSON log: the client IP address and port, the hostname, the method, path and query string, the protocol version and TLS parameters, the response status and size, how long it took, and request headers including the User-Agent. Credentials are not written: the value of the session cookie is replaced with
REDACTED. Logs rotate by size and are not kept longer than 90 days. They exist so that when access breaks we can answer “did this person reach us, and what did we answer”. - What these servers still cannot see. A chat with the AI assistant switched off stays encrypted the whole way: what passes through Moscow is ciphertext that only the room key opens — and that key exists only on the participants’ devices. No setting on the entry server changes that.
- Calls. Calls do not go through these HTTP entry servers at all. Calls from Russia are, however, relayed by a TURN server we run on the same Moscow network (
turn-ru.gluline.com), because the same filtering that stalls TLS also breaks a call to Europe. A relay carries the media stream without being able to decrypt it — media is encrypted between the participants (SRTP/DTLS) and the devices verify each other’s key fingerprints. This applies to one-to-one calls: a group call does not go through the relay but through our media server, where its content is decrypted (see § 2.8). The relay does see who connects from where, how much traffic there is, and your numeric Gluline identifier: it forms part of the username the client authenticates to the relay with. - Jurisdiction. These machines are physically located in Russia and subject to Russian law.
- Who this affects. The addresses of the Moscow entry points are built into the iOS and Android apps, and the app tries them on every connection. The direct European route is given a head start, though: a Moscow entry point is used only when the direct route turns out to be too slow or stalls — which in practice is the Russian case. Outside Russia the direct route normally wins. In a browser it is simpler: anyone who arrives at a Moscow entry point from an address outside Russia is sent back to the European server. The route is chosen afresh on every connection and is never remembered.
8. Retention & deletion
We keep account data while your account is active. Some categories of data are deleted automatically after a period (default values, configurable):
- AI-assistant conversation history — 90 days (a daily background job);
- internal AI technical logs — 30 and 180 days depending on type (a daily background job);
- access logs on the Moscow entry servers — rotated by size, and in no case kept longer than 90 days (see § 7.1);
- your data-export files — 24 hours. Two independent mechanisms hold that limit: a periodic job that deletes expired files from disk, and an age check on access — an archive older than a day is treated as absent and unlinked even if the job has not reached it yet. An earlier version of this page honestly noted that no scheduled job existed; it does now.
Account deletion. You can delete your account in the app. Deletion is immediate and irreversible — there is no trash can and no grace period. Deleted are: your profile and avatar, all of your one-to-one conversations, Saved Messages, media you uploaded together with their low-resolution previews, any data-export files you had requested, AI data and your stored address book.
What is not deleted with the account:
- messages you sent in group chats and channels: they stay in those conversations but stop being linked to your account — authorship is anonymized;
- your consent records: the record itself stays, but it stops being linked to the account — we anonymize it, exactly as we do authorship in group chats. We have to keep it: the law requires us to be able to demonstrate that consent was given, and when it was withdrawn (see § 3). An anonymized record shows that someone gave and withdrew consent; it does not show who.
9. Your rights & controls
You can:
- Access and export your data — the app produces a machine-readable archive (JSON/ZIP) with your profile, settings, contacts, chats/messages and media metadata;
- Correct your profile data in settings;
- Delete your account and associated data;
- Withdraw consent for AI processing and for model training;
- Object to certain processing or restrict it.
For EU/EEA users (GDPR). The legal basis for each purpose is stated separately in “How, why and on what legal basis we use data”. You have the rights to access, rectification, erasure, restriction and portability, and the right to lodge a complaint with a data-protection supervisory authority. You can exercise your rights in the app or by emailing support@gluline.com.
10. Security
We use secure connections (TLS), room-key encryption of chat content with a key we do not hold, and a data-minimization approach. The application itself does not write IP addresses to its own logs and hashes user identifiers in sensitive logs; at the network layer IP addresses do appear in operational logs — exactly where is set out in § 2.7 and § 7.1.
Gluline contains no third-party advertising, analytics or attribution SDKs, and we do not track you across other companies’ apps or websites. The iOS and web clients contain no third-party error reporting either — but we do receive first-party crash diagnostics from them, sent to our own servers rather than to anyone else. The only third party here is Android: Google Firebase Crashlytics. What each platform actually sends is set out in § 2.9. If you arrived through one of our own ad links, we record its campaign labels (utm_*, the click id) and the referring domain at registration, solely so we can tell which of our ads work. That stays first-party on our own server; it is not shared and is not used to show you ads.
No method of transmission or storage is 100% secure, but we strive to protect your data with appropriate technical and organizational measures.
11. Children
Gluline is not intended for anyone under 13 (or older where your local law requires). We do not knowingly collect children’s data. If you believe a child has provided us with data, email support@gluline.com and we will delete it.
12. Changes to this policy
We may update this Policy. We will notify you of material changes in the app or by other reasonable means and update the date at the top of the page.
13. How to contact us
Data controller: Apri Software L.L.C-FZ (License No. 2647334.01), Meydan Grandstand, 6th floor, Meydan Road, Nad Al Sheba, Dubai, United Arab Emirates.
Email: support@gluline.com