Политика конфиденциальности
Обновлено: 15 августа 2026
Whisprompt построен по принципу privacy-first. Эта политика объясняет, что мы делаем и, что не менее важно, чего мы не собираем. Она распространяется на все приложения Whisprompt — на телефоне, планшете, часах, телевизоре и Mac — и на этот сайт. Если что-то относится только к одному из них, это сказано прямо.
Коротко: ваши скрипты остаются на ваших устройствах и до нас не доходят; никуда больше они не уходят, если вы сами не подключите сторонний сервис (раздел 3). Распознавание речи выполняет сам телефон, и для этого он может обращаться к серверам Apple или Google; установите офлайн-пакет языка — и звук не покидает устройство вовсе. До нас он не доходит ни в том, ни в другом случае. Аккаунт не обязателен, данные мы не продаём. Приложение может измерять, насколько хорошо оно работает, — счётчики и длительности, ни слова из того, что вы пишете или говорите, — но только если вы согласитесь: до вашего «да» не измеряется ничего, вопрос приходит только после того, как вы приложением воспользуетесь, и ваш ответ распространяется на устройства, которые вы связали как свои (раздел 6).
1. Кто отвечает (контролёр данных)
Leonid Kabanov (autónomo), Испания. Контакт: support@whisprompt.app. Полные реквизиты — в разделе Импринт. Мы учреждены в Испании, то есть в Европейском союзе, поэтому статья 27 GDPR, требующая назначить представителя в Союзе, к нам не применяется. Специалиста по защите данных мы не назначали и не обязаны: Whisprompt — не государственный орган, он не ведёт регулярного и систематического наблюдения за людьми в больших масштабах, и ни одна специальная категория данных до нас не доходит. Надзорный орган по месту нашего учреждения — Agencia Española de Protección de Datos (AEPD), aepd.es.
2. Данные, обрабатываемые на устройстве
- Звук с микрофона. Захватывается в реальном времени для слежения за голосом и (при записи) для видео. Он передаётся движку распознавания речи, встроенному в телефон, — Apple на iOS, Google на Android, — и тот, в зависимости от устройства, языка и настроек, может обрабатывать его на серверах соответствующей платформы по её собственным правилам. Установите офлайн-пакет языка, и распознавание будет происходить целиком на устройстве, без обращения к сети. В обоих случаях звук не попадает к нам: серверов распознавания у нас нет, аудиозаписи мы не храним — кроме видеофайлов, которые вы сами решили сохранить: они остаются на устройстве или в вашем облачном хранилище.
- Ваши скрипты и настройки. Хранятся локально на устройстве (и, если включите, в вашем личном облаке по условиям соответствующего провайдера). Если вы транслируете суфлёр на свои другие устройства, текст передаётся между ними в зашифрованном виде — см. раздел 5.
- Загруженные языковые модели. Хранятся на устройстве. Загрузка модели — это прямой запрос к хосту модели; мы не привязываем к нему вашу личность.
3. Данные, обрабатываемые подключёнными вами сервисами
Некоторые опциональные функции подключаются к сервисам, которые вы авторизуете. Мы выступаем лишь как ваш клиент; каждый провайдер — самостоятельный контролёр со своей политикой:
- Notion и документы, которые вы открываете. При подключении Notion Whisprompt читает выбранные вами страницы как зеркало в режиме read-only по предоставленным вами доступам. Если вы открываете файл с устройства или из облака, он читается для отображения текста. Копии этих доступов не попадают ни на какой наш сервер.
- ИИ-ассистент в операторской станции на Mac. Ассистент не делает ничего, пока вы не введёте собственный ключ провайдера ИИ. После этого каждый запрос уносит целиком открытый текст, выделенный вами фрагмент, вашу инструкцию и всю переписку — напрямую с вашего Mac этому провайдеру, Anthropic или OpenAI в зависимости от ключа, под вашим ключом и вашей учётной записью у него, на его условиях и с его сроками хранения. Ни через один наш сервер это не проходит: мы не видим ни ключа, ни текста. Ключ хранится в связке ключей macOS, не синхронизируется и не едет на ваши другие устройства. В приложениях для телефона и планшета ассистента нет.
- Apple и Google (магазины приложений и подписки). Покупки, бесплатный период, если он предусмотрен, и списания по подписке обрабатывают Apple или Google. Мы не видим платёжных данных; нам поступают лишь сведения о статусе подписки — как именно, описано в разделе 4.
4. Подписка и Pro
Аккаунтов в Whisprompt нет. Входить некуда и создавать нечего, адрес почты мы не запрашиваем ни у одного провайдера, и ни имени, ни адреса у нас для вас нет. Суфлёр, запись и трансляция работают и так, а подписка покупается и восстанавливается без аккаунта. Код необязательного аккаунта в приложении остаётся — вход через Apple, обработчик Supabase, — но он мёртв: включают его ключи, с которыми приложение не собирается, поэтому экрана входа нет, в Supabase ничего не уходит и адрес почты не собирается. Если аккаунт появится, эта страница опишет, что он обрабатывает, — до выпуска, который его принесёт, а не после.
- RevenueCat (управление подписками). Наш обработчик, определяющий, активна ли подписка, независимо от того, оформлена она в App Store или в Google Play. Ему поступают история покупок в этом приложении, идентификатор клиента и идентификатор устройства или установки, который выдаёт приложению операционная система (на устройствах Apple — IDFV), а также технические сведения об устройстве и версии ОС. Идентификатор клиента ни из чего вашего не выводится: до первой покупки это идентификатор, который RevenueCat создаёт себе сам, а с первой покупки — случайный, созданный и хранимый вашим устройством; тот же самый несут и остальные ваши устройства — так одна подписка покрывает их все (раздел 5). Это нужно, чтобы разблокировать Pro и восстановить покупку на ваших устройствах. Рекламные идентификаторы мы не собираем, рекламные интеграции и атрибуцию в RevenueCat не подключаем; эти данные не используются для отслеживания и не объединяются с данными других компаний.
- Удаление того, что у нас есть. Аккаунта нет — удалять нечего, и кнопки для этого в приложении нет. На нашем сервере есть список устройств, которые покрывает ваша подписка; удалить его можно в приложении в любой момент: «Настройки» → «Данные на наших серверах» (раздел 11). Удаление списка не отменяет подписку: она принадлежит вашей учётной записи App Store или Google Play и отменяется там, где оформлена. Тексты и записи в любом случае остаются на устройстве; как очистить само устройство — в разделе 7.
5. Трансляция на ваши другие устройства
Whisprompt умеет вести суфлёр сразу на нескольких ваших устройствах. В одной локальной сети они соединяются напрямую. Если общей сети нет, соединение идёт через наш ретранслятор на Cloudflare Workers:
- Общая библиотека между вашими устройствами. Устройства, которые вы связали как свои, зеркалят библиотеки друг друга: текст, написанный на одном, появляется на остальных, и правка на одном доходит до них. Копии живут на ваших устройствах и ездят между ними так же зашифрованно, как всё остальное здесь: ни на одном нашем сервере копии нет, и за пределы ваших устройств она не выходит, пока вы сами не поделитесь текстом.
- Каждый кадр сессии шифруется на устройстве-отправителе (AES-GCM), а ключ передаётся только внутри приглашения — QR-кода или кода подключения. Ретранслятор видит лишь зашифрованные кадры: ни текста, ни звука, ни видео он прочитать не может.
- Содержимое сессии ретранслятор не хранит. Комната живёт не дольше четырёх часов и затем удаляется. Почтовый ящик, через который ваши устройства находят друг друга, хранит только служебный ключ и отметку времени последней активности — не дольше 30 дней и без какого-либо содержимого.
- Если вы пользуетесь Pro больше чем на одном устройстве, ретранслятор хранит также список этих устройств — чтобы одна подписка покрывала до шести. В нём: идентификатор, который приложение выдаёт устройству, имя, которое устройство о себе сообщает, и даты добавления и последнего обращения. Ни текстов, ни звука, ни видео. Вся запись удаляется, если год ни одно из ваших устройств к ней не обращалось; удалить её самостоятельно можно в любой момент из приложения.
- Как и любой веб-сервис, ретранслятор при подключении видит IP-адрес. Он используется транзитно, для ограничения частоты запросов и защиты от злоупотреблений, и не связывается ни с вашей подпиской, ни со списком устройств, которые она покрывает.
6. Данные об использовании
Whisprompt может измерять, насколько хорошо он работает, и присылать нам эти замеры — счётчики, длительности и коды, ни слова из того, что вы пишете или говорите. Ничего из этого не происходит, пока вы не согласитесь. До вашего «да» нет ни замеров, ни идентификатора, ни каких-либо записей об этом на устройстве. Приложение спрашивает один раз и никогда — в момент, когда вы его только открыли: на вопрос, заданный до того, как приложение хоть что-то сделало, ответить не из чего. Вопрос приходит после того, как ваше первое чтение куда-то дошло, — или, если раньше этого вы подключаете второе устройство, в конце подключения, на одной карточке вместе с вопросом ниже о том, считать ли ваши устройства одним человеком. У этой карточки два ответа и никакого третьего выхода: она не закрывается ни от нажатия рядом с ней, ни по кнопке «назад», — карточка, закрытая случайным касанием, записала бы отказ, которого вы не давали. Пока вы не ответили, не записывается ничего: если карточку убрало с экрана что-то другое — приложение закрылось, его сменил другой экран, — вопрос просто остаётся открытым и вернётся после следующего чтения. А после вашего ответа, любого из двух, он не возвращается вовсе. Ваш ответ распространяется на устройства, которые вы связали как свои, и карточка говорит об этом там, где вы его даёте: устройство, связанное позже, примет этот ответ при следующем соединении и прямо сообщит вам об этом, вместо того чтобы задавать тот же вопрос второй раз. Работает это в обе стороны: выключите замеры на одном из ваших устройств — остальные тоже перестанут. Ответ, данный на устройстве, никогда не перезаписывается пришедшим с другого, поэтому выключение здесь нельзя отменить устройством, которое об этом ещё не слышало. Скажете «нет» — больше ничего в приложении не изменится, и это устройство больше не спросит. Скажете «да» — переключатель останется в настройках приложения, в разделе «Данные об использовании», и выключить его можно в любой момент, не объясняя причин. На чём это держится юридически — в разделе 9; способы отозвать согласие — в конце этого раздела. Выключение останавливает сами замеры, а не только отправку, и удаляет с устройства идентификатор из пункта ниже, всё, что ещё не было отправлено, и заметку о начатом чтении, описанную в пункте «Что измеряется».
- Что измеряется. Счётчики, длительности и коды — и дальше перечислено всё, а не выборка. Для чтения: шло оно по слежению за голосом или на автопрокрутке, сколько длилось, сколько слов было в тексте, до какого процента текста вы дошли, сколько раз вам пришлось взять текст в свои руки, код языка, какой движок распознавания работал, было ли устройство офлайн, шло ли это чтение одновременно на второй экран, сколько слышимого звука успела набрать проверка на сломавшийся движок ниже — одним из четырёх интервалов (совсем ничего, меньше десяти секунд, меньше минуты, минута и больше), без числа секунд и только когда распознавание речи вообще работало: это её собственный счётчик, а не мера того, сколько вы говорили, потому что звук тише того уровня, который она слушает, в него не идёт вовсе, каждый замер громкости от движка добавляет не больше половины секунды, а первый замер после каждого запуска не добавляет ничего — так что на движке, который сообщает уровень раз в секунду, там набирается доля того времени, что вы на самом деле говорили; по нему видно, могла ли эта проверка вообще сработать на вашем устройстве, и о сказанном он не говорит ничего, — а также чем оно кончилось: ничего не сломалось; чтение вообще никуда не дошло; или сломалось распознавание речи — и если сломалось, то каким из четырёх способов ниже. Если у чтения не оказалось конца — система закрыла приложение, пока оно было в фоне; кончился заряд; приложение отказало; или вы смахнули его прямо посреди чтения, — измерить всё перечисленное выше нечем: то, что вело замер, пропало вместе с остальным. Поэтому, пока чтение идёт, на устройстве лежит короткая заметка о том, что было известно на его старте, и ничего сверх этого: слежение за голосом или автопрокрутка, код языка, сколько слов было в тексте и какой движок распознавания работал. Заметка снимается в тот момент, когда чтение нормально заканчивается. Если приложение при следующем запуске находит её на месте, оно отправляет эти четыре факта, удаляет заметку и больше их не отправляет — об одном оборванном чтении сообщается один раз. Больше о таком чтении не сообщается ничего: ни сколько оно длилось, ни до какого места вы дошли, ни чем оно кончилось, — потому что измерить это было уже некому. Заметка пишется только пока замеры включены, не содержит ничего кроме этих четырёх фактов и удаляется вместе со всем остальным, когда вы их выключаете. Когда слежение вас теряет: код языка, движок, нашло ли оно вас снова вообще и сколько времени на это ушло, если нашло. Когда ломается само распознавание речи: код языка, движок, сколько секунд этот движок проработал, был ли он запущен из-за смены языка посреди текста, а не вашим нажатием на «плей», и что именно случилось из четырёх — он продолжал слышать звук и перестал возвращать слова; он вообще перестал что-либо говорить, так что пропал и показатель микрофона; он отказал и его подхватил другой движок; или он отказал и подхватить было некому. Один раз за установку: успело ли ваше первое чтение перевалить за половину в течение часа после установки, дня, недели, месяца — или позже; интервал, а не время. Для загрузки языковой модели: код языка, размер в байтах и началась ли она, завершилась или сорвалась. Для связи с другим устройством: чем она кончилась и каким способом устройства нашли друг друга. Для трансляции: на какой экран она шла (телефон, планшет, компьютер, телевизор, часы или экран, вид которого приложение не распознало), сколько длилась и оборвалась ли она сама. Для экрана подписки: у какой из закрытых функций вы стояли, когда он появился, — или что вы открыли его сами из настроек, а не упёрлись во что-то. Для попытки покупки: какой из четырёх видов был план — месячный, годовой, бессрочный или тот, период которого приложение не распознало, — и чем всё кончилось — покупка прошла, вы её отменили, магазин оставил её в ожидании, товар оказался недоступен или произошла ошибка. Для восстановления покупок: восстановилось ли что-то, не нашлось ли восстанавливать нечего, была ли отмена или ошибка. Рядом с идентификатором из пункта ниже хранятся и обновляются ещё два факта о подписке: действует ли Whisprompt Pro на этом устройстве сейчас и куплен ли он здесь, а не на другом вашем устройстве. Вместе со всем этим: момент, когда это произошло, версия приложения, платформа и то, сколько времени эта установка уже ведёт замеры, — интервалом, без даты и без числа дней: первый день, первая неделя, первый месяц, от одного до трёх месяцев, от трёх до шести, от шести до двенадцати, от года до двух или дольше. Отсчёт идёт со дня, когда вы разрешили замеры, потому что до этого для них ничего не хранится, и, в отличие от интервала первого чтения выше, он уезжает с каждым замером, а не один раз. И об устройстве, на котором сделан замер: какого оно рода — телефон, планшет, компьютер, телевизор или часы, и ничего конкретнее этого, — какая на нём операционная система, номер её основной версии и только он («18», а не «18.3.1»), на каком языке интерфейс самого приложения и какая страна выставлена на устройстве. О двух вещах стоит сказать точнее. Страна берётся из региональных настроек самого устройства: это страна, которую вы выбрали в настройках, а не вычисленная по сетевому адресу, через который вы подключились, — см. пункт «Кто обрабатывает» ниже. А версия — только основной номер, потому что именно он говорит нам, можно ли отказаться от старой системы; остальное сказало бы больше о вашем конкретном устройстве, чем о системе.
- Что не измеряется никогда. Ваши тексты, их названия, имена файлов, которые вы открываете, звук, записи, расшифровки, имена ваших устройств, ваши контакты. Код языка уезжает; название текста — нет. Из замеров о подписке, перечисленных выше, не уезжает ни цена, ни валюта, ни чек, ни номер заказа или транзакции, ни идентификатор товара в магазине, ни какие-либо платёжные данные, ни текст ошибки от магазина, — уезжает лишь то, какая из восьми названных функций открыла экран, какой из четырёх видов плана и какой из заранее заданного набора исходов. И не то, на скольких устройствах вы пользуетесь подпиской. Каждый замер — фиксированный набор чисел, длительностей и кодов, так что написанному, названному или оплаченному вами там просто негде появиться.
- Это не анонимно, и мы предпочитаем сказать это прямо. Замеры с этого устройства несут один постоянный случайный идентификатор. Он принадлежит этой установке приложения и больше ничему: его создаёт сам измеряющий компонент — в тот день, когда вы разрешили замеры, и ни минутой раньше, — используется он только для этих замеров и не является тем, под которым живёт ваша подписка, — тот с замерами не отправляется вовсе, так что две записи хранятся врозь и ни одна не несёт идентификатора другой. По замерам не видно, какие из ваших устройств принадлежат одному человеку: пока вы не дадите отдельное разрешение из пункта ниже, телефон и планшет приходят как две несвязанные установки и считаются двумя. Идентификатор заменяется не позже чем через тринадцать месяцев после создания — независимо от того, пользовались ли вы приложением всё это время, — и новый со старым не склеивается, так что запись об одной установке не может стать длиннее этого срока. Выключение замеров удаляет идентификатор с устройства. Случайный — но всё же идентификатор, и поэтому здесь стоит этот абзац, а не заявление, что замеры анонимны.
- Считать ваши устройства одним человеком — отдельное разрешение, выключенное, пока вы его не дадите. Если вы пользуетесь Whisprompt больше чем на одном устройстве, приложение может один раз спросить, должны ли замеры со всех них нести один общий идентификатор, — чтобы телефон и планшет считались одним человеком, а не двумя. Этот вопрос меняет только идентификатор и ничего из того, что измеряется: тот же список выше, те же свойства, ни одного лишнего события и ни одного нового получателя. Пока вы не согласитесь, оно выключено; отказ ни на что другое в приложении не влияет; включить или выключить позже можно в том же разделе настроек. Как и в случае с замерами выше, об этом спрашивают один раз, а не на каждом устройстве: скажете «да» — остальные устройства вашей подписки примут этот ответ при следующем соединении, общий идентификатор придёт к ним по тому же зашифрованному каналу, которым ваши устройства и так пользуются между собой, и вместе с ним не приедет ничего другого про замеры. Дойдёт он только до того устройства, где вы разрешили замеры: на любом другом считать было бы нечего. А «нет» никуда не передаётся, поэтому устройство, подключённое позже, может задать вопрос о счёте само; отказать снова — одно нажатие, и его запомнят. У этой карточки тоже два ответа и никакого третьего выхода, и ничего не записывается, пока вы не ответите. При включении оно действует с этого момента вперёд: уже собранные замеры заново не переподписываются, а идентификатор, под которым эта установка работала раньше, не отправляется и с общим не связывается. Один случай стоит назвать отдельно. Если эта установка уже несёт общий идентификатор и затем принимает другой — так бывает, когда вы связываете её с устройствами, у которых уже есть свой общий, — следующий замер один раз несёт предыдущий общий идентификатор, чтобы записи одного человека не читались как записи двух: одного, который перестал существовать, и другого, который взялся ниоткуда. Так уезжает только общий идентификатор; идентификатор установки из пункта выше в этом поле не отправляется никогда, ни при одном переходе. При выключении установка возвращается к собственному идентификатору — новому, а не тому, что был раньше. Включённым при выключенных замерах оно быть не может: считать было бы нечего — и если вы выключите замеры, общий идентификатор удалится с устройства вместе с другим. А если вы подключаете второе устройство раньше, чем вопрос о замерах вообще был вам задан, приложение может задать оба вопроса вместе — один раз за всю жизнь приложения, на одной карточке, где сказано, что представляет собой каждый из них. Эта карточка и есть тот единственный вопрос о замерах, а не добавочный: на этом устройстве после неё ни один из двух вопросов больше не задаётся. «Да» там — это «да» на оба, потому что оба были названы; «нет» отказывает обоим. Устройства свяжутся при любом ответе, и ни один ответ никогда не принимается за другой.
- Кто обрабатывает. Amplitude, наш обработчик, на его европейской точке приёма. Каждый запрос просит Amplitude ничего не выводить из адреса, с которого он пришёл, так что ни город, ни регион, ни какое-либо местоположение из того, откуда вы подключились, не вычисляется. Страна из списка выше — не исключение из этого: это та, что выставлена на вашем устройстве, она уезжает потому, что мы её туда положили, и она была бы той же самой в любой сети.
- Как отозвать согласие и что тогда будет. Два способа, и достаточно любого. В приложении: «Настройки» → «Данные об использовании» → выключить переключатель. Или напишите на support@whisprompt.app, что отзываете согласие, — и мы прекратим. Отозвать его не сложнее, чем дать, — столько же нажатий. Объяснять причину не нужно, и мы её не спрашиваем. Выключение считается вашим возражением, а не настройкой одного аппарата: остальным вашим связанным устройствам об этом сообщат по тому же зашифрованному каналу, который у них уже есть с этим устройством, и они тоже перестанут измерять при следующем соединении, — а если какое-то спит, оно узнает, когда вернётся: сообщение повторяется, пока не дойдёт. Обратное включение едет не так далеко: оно доходит до устройства, которое вы связали, но на котором вопрос ещё не задавали, — оно примет ответ и прямо об этом скажет, — и никогда не вытесняет ответ, который устройство дало за себя, так что выключенное здесь устройство останется выключенным, пока вы не включите замеры на нём самом. Асимметрия эта намеренная. Возражение против замеров исходит от человека, и пусть лучше оно дойдёт дальше, чем нужно, чем не дойдёт куда следует; а разрешение не должно перебивать ответ, уже данный кем-то на устройстве, которое он держит в руках. Ваш ответ помнится на устройстве и после перезапусков, и после обновлений приложения, и переживает замену идентификатора через тринадцать месяцев: новый идентификатор не возобновляет замеры для того, кто их выключил. Если хотите, чтобы удалили и уже отправленные замеры, попросите нас — раздел 11.
6a. Отчёты о сбоях — отдельное разрешение, выключенное, пока вы его не дадите
Если приложение перестало работать, оно может прислать нам отчёт об этом. Это не часть замеров из раздела 6: другая цель, другой получатель и свой отдельный переключатель. Вопрос задаётся на отдельной карточке, прямо перед вопросом о замерах, и отвечается отдельно — «да» одному не является «да» другому ни в одну сторону. Эта карточка устроена так же, как карточка о замерах: два ответа, никакого третьего выхода и ничего не записывается, пока вы не ответите.
Он выключен, пока вы его не включите. До этого для него ничего не устанавливается и ничего не отправляется — из этого правила исключений нет вовсе. Исключения есть из хранения, и их ниже два. Оба существуют, чтобы задать вам вопрос, а не чтобы что-то собрать; оба про сбой, который уже с вами случился; и ни один ничего не отправляет, пока вы не ответите.
Первое — сбой при запуске. Если Whisprompt не запускается вовсе, задать вам вопрос позже уже негде, поэтому экран ошибки задаёт его прямо там. Если отчёты о сбоях у вас уже включены, один отчёт об этом сбое отправляется, и экран сообщает, что отправил. Если вы их уже выключили, ничего не предлагается и ничего не отправляется. Если вас никогда не спрашивали, экран спрашивает — отправить этот отчёт, не отправлять или отправлять и впредь, — и до вашего выбора с устройства не уходит ничего. Отчёт, отправленный так, меньше описанного ниже: он не несёт никакого идентификатора вовсе и говорит, где приложение остановилось, какой оно было версии и какая это операционная система, — ничего больше об устройстве, ни языка интерфейса, ни того, что происходило перед этим. Получатель тот же — Sentry, те же серверы в Европе; сказанное ниже про интернет-адрес, с которого приходит отчёт, относится и к нему. Ответ «отправлять и впредь» — тот же ответ, что и переключатель в настройках, и выключается он там же. Тот же экран с теми же тремя ответами появляется и тогда, когда отказывает отдельная часть приложения на ходу, а не при запуске. Это касается только приложения для телефона и планшета: у приложений для Mac и телевизора такого экрана нет.
Второе — сбой, о котором мы не смогли спросить вовремя: приложение исчезло раньше, чем вы успели ответить, или вы закрыли его вместо ответа. Если вас никогда не спрашивали, один отчёт об этом остаётся на вашем устройстве, и при следующем нормальном запуске приложение скажет об этом внизу экрана и задаст вопрос. Это ровно один отчёт, а не очередь: второй сбой его не заменяет. Ничего из него не уходит, пока вы там не согласитесь. Он удаляется, когда вы ответили любым образом, когда вы велели той полоске его удалить, когда отчёты о сбоях выключены — и в любом случае через семь дней после того, как был сохранён. Это единственное, что хранится на вашем устройстве ради отчётов о сбоях до того, как вы на что-либо согласились, и мы предпочитаем назвать это прямо, а не позволить абзацу выше подразумевать, что там пусто: оно существует ради того, чтобы вопрос вообще можно было задать. Так возвращаются те сбои, которых мы иначе не увидели бы никогда, — первые запуски совсем новой установки, самые тяжёлые из всех, и принадлежали они ровно тем людям, до кого вопрос ещё не дошёл. Чего так не вернуть — сбой, который обрабатывает сама операционная система, ниже приложения: для них отчёты по-прежнему нужно включить заранее.
- Что в отчёте. Место, где приложение остановилось, — технический след сбоя, — тип устройства, система и её версия, версия приложения, язык интерфейса и короткий список того, что происходило перед этим: какие экраны открывались, предупреждения о нехватке памяти, уход приложения в фон.
- А если сбой случился в суфлёре — то и что делал суфлёр. Распознавание отказывает в конце цепочки событий, и одной строки «отказало» для починки не хватает — поэтому отчёт о сеансе чтения несёт короткую ленту этого сеанса: запуски и остановки движка распознавания и их причины, язык абзаца, до которого вы дочитали, переходы с языка на язык и удались ли они, шло ли распознавание на устройстве или через серверы платформы, сколько времени ушло до первых распознанных слов, когда слежение теряло ваше место и когда находило снова, переходы экрана между ожиданием, слушанием, паузой и остановкой, сколько успела скачаться языковая модель, если она качалась, и момент, в который отказ был объявлен. Ещё лента несёт ФОРМУ того, что вы читали, и место в нём: сколько в тексте слов и абзацев, сколько языков он смешивает, до какого по счёту слова вы дошли и в какие моменты вы брали текст в свои руки — перемоткой или перетаскиванием. Именно они и придают смысл остальному: позиция, которую не с чем соотнести, не говорит ничего, а скачок, которого распознавание не делало, читается как сбой, пока страница не скажет, что его сделала рука. Каждая строка — это счётчик, код, код языка или длительность. Рядом с ними едет ещё одно число: сколько памяти занимало само приложение в этот момент, в целых мегабайтах — это правдоподобная причина сбоя, и увидеть её иначе неоткуда; о вас и о том, что ещё есть на устройстве, оно не говорит ничего. Ни слова из текста, никогда — ни названия, ни строки из него, ни того, что распознавание услышало, и никаких ваших имён или имён ваших устройств. Время в ней указано промежутками — «за четыре секунды до сбоя», — а не по часам: время по часам несёт часовой пояс, а часовой пояс — это грубое местоположение.
- Что вычищается до отправки. Отчёт о сбое собирает не наш код, поэтому мы разбираем его и убираем: имена файлов и пути, веб-адреса дальше названия сервиса, адреса почты, сетевые адреса, имя вашего устройства и часовой пояс. Ни снимка экрана, ни копии экрана в отчёт не кладётся никогда — на этом экране ваш текст, — и ни один отчёт не несёт ни одного вашего идентификатора из тех, что есть у нас. Остаётся стек вызовов, вид сбоя и вид устройства.
- Единственное, что наше приложение вычистить не может. Sentry определяет примерное местоположение — страну и город — по интернет-адресу, с которого пришёл отчёт. Это происходит на их стороне, после всего, что наше приложение может отредактировать, поэтому, в отличие от замеров выше, отключить это для каждого отчёта мы не можем. За это отвечают две настройки проекта: одна запрещает хранить сам адрес, другая удаляет определённое по нему местоположение. Первая включена. Там, где не включена вторая, страна и город остаются при отчёте столько же, сколько хранится сам отчёт, — не дольше 90 дней. Мы говорим об этом здесь, а не позволяем предыдущему пункту намекнуть, будто мы убрали то, чего не убирали.
- Идентификатор. Отчёты одной установки несут случайный идентификатор, который сборщик отчётов делает сам для себя, — чтобы десять сбоев с одного устройства читались как одно устройство, а не как десять. Это не тот идентификатор, под которым хранятся замеры, и не тот, которым пользуется ваша подписка.
- Кто обрабатывает. Sentry, наш обработчик, на своих серверах в Европе.
- Как отозвать и что тогда будет. «Настройки» → «Отчёты о сбоях» → выключить. Отправка прекращается, а то, что ещё ждало отправки, удаляется с устройства. Ваш ответ на этот вопрос едет так же, как ответ про замеры: устройство, которое вы связали и на котором вопрос ещё не задавали, принимает уже данный вами ответ и прямо об этом сообщает; устройство, ответившее за себя, остаётся при своём ответе; а выключение отчётов доходит до ваших связанных устройств и там, где они уже ответили. На чём это держится юридически и что отзыв отменяет, а что нет, — в разделе 9.
Мы не кладём ключ обработчика в выпуск, пока не действует соглашение об обработке данных с ним. Что есть у Sentry помимо присланных людьми отчётов — это наши собственные тестовые отчёты с машины разработчика, отправленные, чтобы проверить, что имена, пути и адреса действительно вычищаются. Они наши, а не ваши, и мы их удаляем.
6b. То, что вы отправляете нам сами
В приложении есть экран «Отправить отзыв». Пока вы не нажали «Отправить», к нам не уходит ничего; когда нажали — уходит то, что вы написали, плюс то из необязательного, что вы решили приложить. Это не замер и не отчёт о сбое: текст пишете вы, что приложить — решаете вы, и используется он только чтобы вам ответить и починить то, о чём вы сообщили.
Что уходит с сообщением всегда — потому что обращение, которое не к чему привязать, нечем и отработать: версия и номер сборки приложения, операционная система и её версия, модель устройства и язык, на который оно настроено. Ровно это перечислено на самом экране, теми же словами, что и здесь, — до отправки, пока вы ещё пишете.
Что уходит, только если вы это добавили. Файлы — до трёх, снимки экрана или короткая запись экрана, выбранные вами из вашей же галереи; мы получаем то, что вы приложили, и ничего сверх того. Адрес для ответа, если ответ вам нужен; без него мы всё равно прочитаем каждое слово — и просто не будем знать, кто написал. И идентификатор замеров из раздела 6, за переключателем, который появляется, только когда прикладывать есть что: именно он позволяет посмотреть, как приложение вело себя до того, как вы написали.
Единственное, что мы выясняем сами, — пришло ли сообщение от подписчика, чтобы ответить на него первым. Устройство отправляет случайный идентификатор подписки из раздела 4, наш сервер спрашивает у RevenueCat, действует ли подписка, и записывает только ответ — да или нет, — но не сам идентификатор. Поэтому связи между тем, что вы сказали, и тем, что вы купили, не возникает.
Обращения хранит для нас Cloudflare на серверах в Западной Европе: текст — в базе данных, файлы — в объектном хранилище, и то и другое под номером обращения, который приложение показывает вам после отправки. Они хранятся два года и затем удаляются автоматически, а по вашей просьбе — раньше: назовите этот номер или что-то ещё, по чему обращение можно найти. Кроме нас их никто не читает, и ни для чего другого они не используются: ни для замеров, ни для профилирования, ни для решений о вас.
Одно предупреждение про картинки: снимок экрана содержит всё, что было на экране в тот момент, включая текст, который вы читали. Прикладывайте только то, что готовы нам отдать, а мы удалим то, что нам не нужно.
7. Стирание устройства перед тем, как оно уйдёт из ваших рук
В настройках приложения, в разделе «Данные об использовании», есть кнопка «Стереть это устройство». Её и следует нажать перед продажей, возвратом, сдачей в трейд-ин или передачей устройства другому человеку — Условия об этом просят.
Она удаляет с этого устройства: ваши тексты, ваши записи, скачанные голосовые модели, выданные вами подключения к сервисам вроде Notion, идентификатор замеров и все ответы про приватность, которые вы на нём дали. Ещё она выводит устройство из числа ваших связанных, так что оно перестаёт зеркалить библиотеку и делиться подпиской. На остальных ваших устройствах остаётся всё.
Подписки это не касается. Она принадлежит вашей учётной записи App Store или Google Play и восстановится на следующем устройстве.
Два ограничения, названные прямо. Если в момент стирания устройство было офлайн, локальная очистка всё равно доходит до конца, но остальным вашим устройствам об этом не сообщат; приложение так и скажет, а убрать его из списка устройств можно на любом из них. И замеры, отправленные до стирания, им не отзываются — для них есть запрос на удаление в разделе 11.
8. Чего мы НЕ собираем
- Нет рекламных идентификаторов и сторонних рекламных SDK.
- Нет аналитики и трекинга на сайте. В приложении — вообще ничего, пока вы не согласитесь, а после согласия только замеры из раздела 6 и ничего сверх них: ни рекламы, ни профилирования, ни слежения за вами по приложениям и сайтам других компаний.
- Никаких отчётов о сбоях, пока вы сами их не включите, и ничего опознающего вас в самом отчёте — см. раздел 6a.
- Нет продажи или передачи персональных данных в смысле GDPR.
Сайт не использует cookie. В браузере он хранит две настройки: тему, которую вы задаёте кнопкой с солнцем и луной в шапке, и язык — чтобы в следующий раз whisprompt.app открылся на том языке, на котором вы читали в прошлый раз. Обе доступны только этому сайту, ни одна вас не опознаёт, ни одна не передаётся ни нам, ни кому-либо ещё, и обе исчезают, когда вы очищаете данные этого сайта в браузере. Сайт обслуживается Cloudflare, который видит адрес, с которого вы подключились, — как любой веб-сервер, — и выводит из него только страну, чтобы показать цену вашего магазина.
9. Правовые основания (ст. 6 GDPR)
Обработка звука и текстов для работы суфлёра выполняется для предоставления запрошенной вами функциональности (ст. 6(1)(b) — исполнение договора / по вашему запросу). Опциональные источники, права на подписку и восстановление покупок — на том же основании. Защита ретранслятора от злоупотреблений опирается на наш законный интерес (ст. 6(1)(f)).
Всё из раздела 6 держится на вашем согласии (ст. 6(1)(a)): и сами замеры, и счёт ваших устройств как одного человека под общим идентификатором. На вашем согласии держатся и отчёты о сбоях из раздела 6a — это третье разрешение, не входящее ни в одно из двух: сборщик отчётов хранит данные на вашем устройстве и для работы суфлёра не нужен, так что опереть его не на что, кроме вашего «да». Все три спрашиваются отдельно и отзываются отдельно в любой момент; отозвать не сложнее, чем дать, и не большим числом нажатий. Отзыв действует с этого момента: он не делает незаконным то, что было сделано, пока согласие действовало, и сам по себе не удаляет уже отправленное — об этом нужно попросить, и раздел 11 говорит как. Замеры и отчёты о сбоях отвечаются за человека, а не за аппарат: данный вами ответ доходит до устройства, которое вы связали и которое ещё не спрашивали, — оно прямо сообщает вам, что приняло его, — и никогда не вытесняет ответ, уже данный на устройстве. Счёт устройств спрашивают один раз по близкой причине: это факт о наборе устройств, а не о каком-то одном из них, и «да» на него передаётся остальным устройствам той же подписки. Отзыв едет дальше всех: он доходит до ваших устройств и там, где они уже ответили, — возражение исходит от человека, и между тем, чтобы оно дошло до одного устройства лишнего, и тем, чтобы одно продолжало измерять вопреки воле человека, мы выбираем первое. Мы спрашиваем, а не считаем это само собой разумеющимся, и причину стоит назвать прямо: измерять приложение, храня на вашем устройстве идентификатор, можно было бы без вопроса лишь в том случае, если бы наш обработчик замеров письменно обязался никогда не использовать эти данные в своих целях и сделал невозможным просмотр отдельного человека в собственном инструменте. Мы его об этом не просили — поэтому спрашиваем вас.
Что мы делаем с замерами, стоит назвать, а не описывать отвлечённо: Whisprompt ведёт вас по тексту голосом на десяти языках, качество этого ведения от языка к языку разное, и единственный способ узнать, что на каком-то языке слежение работает плохо, — считать, сколько раз человеку пришлось взять текст в свои руки, в разрезе языка и на достаточном числе установок, чтобы число что-то значило. Замеры об экране подписки отвечают на вопрос поменьше: в какую именно закрытую функцию люди упираются. И в том и в другом случае замеры не несут ничего из написанного или сказанного вами, адрес, с которого они приходят, в местоположение не превращается, идентификатор заменяется через тринадцать месяцев, и ничто не объединяется с данными откуда-либо ещё и не используется для решений о вас.
Ничего из перечисленного здесь от вас не требуется. Ни один закон не обязывает вас это нам предоставлять, и ничто из того, что мы продаём, этим не обусловлено: приложение ставится, суфлёр работает, а подписка покупается и восстанавливается без аккаунта. От разрешения зависит одна функция — слежение за голосом без микрофона невозможно, — и отказ оставляет суфлёр на автопрокрутке: это самостоятельный режим, а не запасной. Замеры из раздела 6 и отчёты о сбоях из раздела 6a не нужны вообще ни для чего: откажите любому из них или обоим — приложение будет вести себя ровно так же. Последствия отказа наступают для нас, а не для вас: у нас просто не будет замера.
Решений о вас автоматизированными средствами мы не принимаем и профилей не строим. Ничто из описанного здесь вас не оценивает, ничего о вас не предсказывает и не относит вас к какой-либо группе; никаких юридических или сопоставимых с ними последствий для вас отсюда не наступает. Автоматически решаются две вещи, и обе — про технику, а не про вас: ретранслятор отклоняет запросы, приходящие слишком часто, и не добавляет седьмое устройство к подписке, которая уже покрывает шесть. Ни то ни другое ничего в вас не взвешивает: одно считает запросы, другое — устройства.
То, что вы отправляете нам сами, — сообщение с экрана отзывов (раздел 6b) или что угодно, посланное письмом, — держится на вашем согласии (ст. 6(1)(a)). Пока вы не отправили, не собрано ничего, а что уйдёт вместе с сообщением, решаете вы, пока пишете. Ответить вам и починить то, о чём вы сообщили, — это и есть исполнение того же самого вашего действия.
10. Обработчики и передача за пределы ЕЭЗ
Каждый обработчик, названный здесь, связан с нами письменным соглашением об обработке данных: оно обязывает его защищать ваши данные по стандарту настоящей политики, обрабатывать их только по нашим указаниям и только для названной здесь цели и никогда — в собственных целях. Наши обработчики — RevenueCat (подписки), Cloudflare (ретранслятор), Amplitude (данные об использовании) и Sentry (отчёты о сбоях) — могут обрабатывать данные за пределами Европейской экономической зоны, в том числе в США. Amplitude принимает замеры на европейской точке приёма, а Sentry хранит отчёты о сбоях в европейском регионе, но обе компании американские, и эти передачи всё равно опираются на условия ниже. Каждая такая передача осуществляется на основании стандартных договорных условий ЕС, включённых в договор об обработке данных с каждым из этих обработчиков: дополнение Amplitude является частью его условий обслуживания и несёт в себе Условия 2021 года, а дополнение Sentry об обработке данных несёт те же Условия вместе с британским дополнением. Чтобы получить копию условий, на которых держится любая из этих передач, напишите на support@whisprompt.app и назовите обработчика, о котором спрашиваете, — мы пришлём относящиеся к нему условия. (Что у Amplitude есть помимо ваших замеров — это тестовые события, которые мы отправили сами, со своих устройств, чтобы проверить, что адрес, с которого приходит замер, не превращается в местоположение. Они наши, а не ваши, и мы их удаляем.) Ни у одного из этих сервисов нет ни вашего имени, ни адреса почты: есть случайный идентификатор подписки, идентификаторы устройств, идентификатор, который несут замеры, имя, которое каждое устройство сообщает о себе, и технические сведения о соединении.
11. Ваши права
По GDPR у вас есть право на доступ, исправление, удаление, ограничение и переносимость данных, а также право на возражение. Ни имени, ни адреса почты у нас для вас нет: аккаунтов в Whisprompt не существует. Но одна запись на нашем сервере есть: если вы пользуетесь Whisprompt Pro на нескольких своих устройствах, мы храним их список — идентификатор, который приложение выдаёт каждому устройству, имя, которое устройство сообщает о себе, и даты добавления и последнего обращения — под случайным идентификатором подписки. Эту запись можно удалить из приложения в любой момент («Настройки» → «Данные на наших серверах»), а всё остальное остаётся на устройстве: тексты, модели и само приложение вы удаляете когда захотите. Чтобы отозвать согласие на замеры использования, выключите их («Настройки» → «Данные об использовании») или напишите нам — оба способа описаны в разделе 6, и любой из них останавливает сбор и удаляет идентификатор с устройства. Чтобы удалить и уже отправленные замеры, попросите нас — мы их удалим: они хранятся под этим одним случайным идентификатором и ни под каким вашим именем. Удаление записи о подписке до них не достаёт, а выключение замеров не достаёт до неё: они намеренно хранятся под разными идентификаторами. Попросите нас удалить то, что нужно, — или и то и другое. По любым запросам пишите на support@whisprompt.app. Вы также вправе подать жалобу в надзорный орган — по месту жительства, по месту работы или по месту, где, по-вашему, что-то пошло не так. Наш — испанский Agencia Española de Protección de Datos (aepd.es).
12. Сроки хранения
Локальные данные хранятся, пока вы их не удалите или не удалите приложение. Данные о подписке удаляются вместе с профилем клиента в RevenueCat, но обезличенные записи о транзакциях могут сохраняться у RevenueCat и в магазине приложений для целей отчётности. Комнаты ретранслятора живут не дольше четырёх часов, почтовый ящик подключения — до 30 дней, а список устройств вашей подписки — пока не пройдёт год без обращений от них, или пока вы не удалите его из приложения. На замерах использования не стоит даты: сколько они хранятся, решает то, ради чего они собраны. Они живут, пока ещё могут ответить на вопрос, ради которого сделаны, — работает ли та версия приложения, которой люди пользуются сейчас, так, как мы думаем, — и удаляются, когда отвечать на него перестают, либо раньше, если вы попросите удалить ваши. Ничего не хранится про запас. Идентификатор, под которым хранятся замеры, живёт по своим часам, и недолго: он заменяется не позже чем через тринадцать месяцев после создания — срок отсчитывается со дня создания и пользованием не продлевается, — так что запись под одним идентификатором не может охватить больше этого. Отчёты о сбоях хранятся в Sentry не дольше 90 дней. Письма в поддержку храним лишь столько, сколько нужно для обработки запроса.
13. Дети
Whisprompt не предназначен для детей младше 16 лет и не обрабатывает их данные осознанно.
14. Изменения
Мы обновим эту страницу при изменении практик и поправим дату выше. Если срок изменения зависит от нас, страница обновляется до выпуска, который это изменение приносит, а не после.