Политика конфиденциальности
Это перевод. Если он расходится с английским оригиналом, приоритет у английского текста; подробности — в конце страницы.
Здесь объясняется, какие данные собирает Narrativ, зачем, кому они попадают, сколько хранятся и как их удалить. Политика относится к приложению, сайту и письмам для входа.
Meta Media LLCGeorgia, Tbilisi, Saburtalo district, Ikalto I lane N 1
support@mtmd.dev
1. Кто мы
Сервис Narrativ ведёт Meta Media LLC, компания, зарегистрированная в Грузии, Georgia, Tbilisi, Saburtalo district, Ikalto I lane N 1. Ниже «мы» — эта компания. Мы определяем, зачем и как используются описанные здесь данные.
Эта политика действует вместе с Условиями использования. Если в двух документах одни и те же слова, они значат одно и то же.
2. Какие данные мы собираем и зачем
Мы собираем только то, что нужно сервису для работы:
- Аккаунт: адрес почты и пароль либо одноразовые коды, которые приходят на эту почту. Пароль обрабатывает провайдер входа Supabase Auth. В аккаунте мы также храним язык интерфейса, настройки языка постов и настройки «Продаж»: схему поста, силу призыва, этап воронки, текст про аудиторию, тон и площадку и переключатель «Спрашивать при создании поста». Если вы входите через Apple или Google, они передают нам адрес почты (Apple может передать вместо него скрытый адрес-пересыльщик) и подтверждённый токен входа. Имя мы не сохраняем.
- Ваш контент: тексты, ссылки, исходный текст каждого запроса, готовые результаты, изображения, логотипы, референсы стиля, цвета и шрифты бренда, документы холста с историей версий, сохранённые идеи, избранное и ваши шаблоны. О клиентах внутри пространства — имя, ниша, тон и ник.
- Фото, которые вы добавляете с устройства. Они уменьшаются на устройстве и загружаются в наше файловое хранилище.
- Голосовые записи. Звук отправляется на расшифровку (раздел 3). В наше хранилище мы его не записываем; остаётся текст, который вы получаете.
- Выбор шаблонов: какой шаблон вы выбрали, где в приложении и для какого поста.
- Уведомления: если вы их разрешили, push-токен вашего устройства. Если вы выключите их в Настройках, этот выбор хранится в данных входа (Supabase Auth) и удаляется вместе с аккаунтом.
- Telegram: если вы подключаете бота, номер чата (chat ID). Имя пользователя и имя в Telegram мы не храним.
- Технические данные: отчёты об ошибках и выборка 1 из 10 замеров производительности. Отчёт об ошибке содержит саму ошибку, тип устройства и версию приложения, а также журнал последних действий перед ошибкой (так называемые хлебные крошки). При каждом запуске приложение дополнительно отправляет сессию и данные об этом запуске. С нашего сервера и отчёты об ошибках, и выборочные замеры производительности содержат ещё и запрос, в котором может быть отправленный вами текст или ссылка. Наш сервер также пишет обычные журналы, а веб-сервер фиксирует IP-адрес, время и запрошенный адрес.
- Пробный текст в демо: демо доступно только после входа. Чтобы ограничить число попыток, мы записываем идентификатор вашего аккаунта в счётчик. Сам текст не сохраняется.
- Жалобы на контент: на странице просмотра по ссылке любой человек может пожаловаться на материал, входить для этого не нужно, а вошедший пользователь может пожаловаться на результат в редакторе и на экране черновика. Мы сохраняем причину из фиксированного списка, необязательный текст жалобы (до 1000 знаков) и необязательный контакт жалобщика, дату и ссылку или идентификатор материала, на который пожаловались. IP-адрес жалобщика мы не храним: вместо него записывается необратимый хэш (HMAC с секретным ключом; у вошедшего пользователя он считается от идентификатора аккаунта), он нужен для лимита жалоб и защиты от дублей. Хэш остаётся при самой жалобе. Текст и контакт читает администратор в админке. В Telegram уходит только номер жалобы и причина. Если по жалобе ссылку отозвали, её владелец не сможет выдать ссылку заново, пока администратор не снимет запрет (метка на жалобе). Копия жалоб с причинами «незаконный контент» и «сексуальное насилие над детьми» хранится отдельно (раздел 9).
- Принятые условия: при регистрации и по кнопке «Принять» мы записываем в данные вашего входа (Supabase Auth) номер принятой версии Условий и время принятия. По ним мы знаем, какую редакцию вы приняли и когда попросить подтвердить новую. Запись удаляется вместе с аккаунтом.
- Журнал запросов без привязки к аккаунту: обезличенная копия текста запроса и несколько параметров генерации, без аккаунта и IP-адреса (раздел 12).
- Разрешение на ИИ: когда вы разрешаете обработку ИИ или отзываете разрешение, мы записываем версию разрешения и время в данные входа (Supabase Auth). Запись удаляется вместе с аккаунтом.
- События использования: пока вы вошли в аккаунт, мы записываем несколько событий: приложение открыто (запуск или возврат после долгого перерыва); карусель скачана (формат файла и число слайдов); что вы сделали с результатом (открыли в редакторе, правили, удалили черновик); использован голосовой ввод или импорт ссылки. Каждое событие хранится с идентификатором аккаунта, названием, временем и платформой (iOS, Android или веб). Тексты постов и запросов, IP-адреса, идентификаторы устройств и рекламные идентификаторы в событиях не хранятся. Сторонним сервисам события не передаются, они лежат в нашей собственной базе. События хранятся, пока существует аккаунт, и удаляются вместе с ним. Ещё одно событие записывается при создании текста: сколько вы ждали (с точностью до долей секунды) и получился ли результат или произошла ошибка. Оно хранится так же, как остальные. Отдельно записывается, что вы достигли лимита (скачиваний или публичных ссылок): идентификатор аккаунта, вид и значение лимита, время. Содержимого ваших материалов в записи нет. Она нужна, чтобы защищать сервис от злоупотреблений и автоматических выгрузок; хранится, пока существует аккаунт, и удаляется вместе с ним. Если лимит исчерпан при просмотре публичной ссылки, запись привязана только к пространству, которому принадлежит ссылка, и ничего не говорит о смотрящем.
- Причина удаления аккаунта: при удалении аккаунта вы можете, если хотите, выбрать причину из списка. Она сохраняется без связи с аккаунтом, только дата и выбранный вариант, и остаётся после удаления аккаунта (раздел 9).
Эти данные нужны, чтобы работал сервис, чтобы подстраивать результат под вас, считать, во сколько нам обходятся модели ИИ, понимать, чем пользуются и где продукт ломается, улучшать приложение, находить и исправлять ошибки, обеспечивать безопасность, рассматривать жалобы на контент и отвечать на ваши обращения. Для рекламы мы их не используем и не продаём. Рекламных сервисов и сторонней аналитики в приложении нет.
3. Кому мы передаём данные
Мы не продаём ваши данные. Чтобы сервис работал, мы передаём данные этим подрядчикам, каждому только для его задачи:
- Supabase: база данных, файловое хранилище и вход. Здесь лежат все данные вашего аккаунта.
- OpenRouter: сервис ИИ, который отправляет наши запросы текстовым и графическим моделям Anthropic, OpenAI, Google и других. Он получает то, что вы ввели или импортировали, данные бренда и, если вы просите их разобрать, ваши фото и референсы стиля. В некоторых случаях текст уходит напрямую в Google AI.
- OpenAI: распознавание речи и проверка безопасности текстов. Когда вы диктуете, звук идёт с вашего устройства прямо в OpenAI; записанный файл попадает туда через наш сервер. Когда для файла OpenAI не используется, запись уходит через OpenRouter в модель Google. Кроме того, текст каждого запроса и каждого результата отправляется в OpenAI, чтобы проверить его на недопустимое содержимое (сексуальный контент с участием несовершеннолетних, угрозы, жестокое насилие, самоповреждение); OpenAI возвращает только заключение.
- Генерация изображений ИИ: если она включена, тема, стиль и текст слайда через OpenRouter попадают в графическую модель, вместе с референсом стиля, если вы его приложили.
- Apify: когда вы вставляете ссылку из TikTok, Instagram, X, Threads или LinkedIn, ссылка уходит в Apify, чтобы прочитать пост. Для видеопостов наш сервер затем ненадолго скачивает ролик, а звук и несколько кадров уходят в модели речи и изображений, названные выше. После разбора ролик удаляется. Остальные веб-страницы и расшифровки YouTube наш сервер читает сам.
- Каталоги фото (например, Openverse и Pexels): короткая поисковая фраза о теме слайда. Текст вашего поста не отправляется. Найденные фото сохраняются в хранилище вашего пространства.
- Telegram: если вы подключили бота и нажали «отправить», chat ID и то, что вы отправляете.
- Expo: доставляет push-уведомления; получает токен устройства, короткий текст уведомления и id готового поста.
- Resend: отправляет письма для входа и подтверждения; получает ваш адрес почты и само письмо.
- Sentry: получает отчёты об ошибках и выборки замеров производительности из приложения и с нашего сервера.
- Apple и Google: только если вы выбрали вход через них, чтобы подтвердить, что это вы. Они передают нам адрес почты и токен входа.
Мы также можем передать данные властям, когда этого требует закон.
Эти подрядчики обрабатывают данные по своим условиям и политикам конфиденциальности. Мы не можем проверять или менять то, как они работают.
ИИ-функции работают только с вашего разрешения. Приложение спрашивает его на отдельном экране перед первым запросом, который передаёт ваши материалы в OpenRouter, OpenAI или Apify. Без разрешения эти функции не работают, остальное приложение доступно. Разрешение можно отозвать в любой момент в Настройках: на устройстве, где вы это сделали, ИИ-функции останавливаются сразу, на остальных ваших устройствах — примерно за 15 минут.
4. Где хранятся данные
Данные аккаунта, контент и файлы хранятся у нашего поставщика облачной инфраструктуры Supabase. Наш сервер обрабатывает запросы и передаёт их поставщикам, названным выше; файлы, которые нужны ему на мгновение (например, скачанное видео), лежат во временной папке и удаляются после задачи.
Изображения лежат в файловом хранилище по публичным ссылкам, которые нельзя угадать. Кто знает ссылку, тот может открыть картинку без входа, а копии в браузерах, мессенджерах и сетях доставки могут открываться и после удаления файла. Не размещайте в изображениях то, что должно остаться приватным.
Приложение и сайт также хранят немного данных на вашем устройстве (см. «Куки и локальное хранилище»).
5. Передача данных в другие страны
Мы находимся в Грузии, а перечисленные подрядчики могут обрабатывать данные в других странах, в том числе там, где закон о защите данных отличается от вашего.
Пользуясь сервисом, вы понимаете, что ваши данные обрабатываются в этих местах. Мы не обещаем какого-либо определённого правового механизма передачи.
6. Сколько хранятся данные
Контент и данные аккаунта хранятся, пока существует аккаунт, и удаляются, когда вы его удаляете (разделы с 7 по 11). Более короткие сроки:
- Ссылка для просмотра действует 3 дня или пока вы её не отзовёте.
- Приглашение в пространство действует 3 дня.
- Код для подключения Telegram действует 24 часа; просроченные коды удаляются автоматически каждые 15 минут.
- Код из письма для удаления аккаунта действует 1 час.
- Идентификатор аккаунта в счётчике попыток демо и записи счётчика, который ограничивает число жалоб с одного адреса (в них лежит необратимый хэш жалобщика), удаляются примерно через 2 часа.
- История версий документа холста не ограничена и хранится, пока не удалено пространство. Записи о расходах и журнал администраторов не имеют срока (разделы 9 и 11).
- Фото, подобранные автоматически для слайда и не использованные ни в одном сохранённом документе, удаляются через 30 дней.
- Технические ключи, которые защищают от повторной отправки одного и того же запроса (в них только технические идентификаторы пространства и запроса, без содержимого), удаляются через 30 дней после создания, а при удалении аккаунта — сразу.
- У самих жалоб на контент срока хранения нет: жалоба хранится, пока не удалена генерация, на которую она подана, или аккаунт владельца этой генерации (раздел 8). Отдельная копия жалоб о незаконном контенте и безопасности детей вместе с ними не удаляется и срока не имеет (раздел 9).
- Записи журнала запросов хранятся 12 месяцев и затем удаляются автоматически (раздел 12).
Сколько хранятся отчёты об ошибках, определяет Sentry. Журналы нашего веб-сервера и хостинг-провайдера ротируются регулярно, срок для них мы не называем.
7. Как удалить аккаунт
В приложении: «Настройки» → «Удалить аккаунт». Без приложения — на странице /delete-account, там достаточно почты, на которую заведён аккаунт. В обоих случаях мы присылаем на эту почту одноразовый код и ничего не трогаем, пока не получим его обратно. Отложенного удаления нет: код принят — данные сразу уходят из сервиса, и мы не можем их вернуть.
8. Что удаляется
Удаляется всё, чем владеет аккаунт:
- рабочие пространства, которые вы создали, и всё внутри них — клиенты (вместе с подключённым чатом Telegram), генерации вместе с текстами и исходными запросами, документы холста с историей версий, шаблоны каруселей, настройки бренда, ваши референсы стиля, сохранённые идеи, выданные ссылки для просмотра и приглашения, жалобы на ваши ссылки и материалы и технические ключи защиты от повторных запросов;
- файлы в хранилище, которые лежат под этими пространствами: сгенерированные изображения, загруженные вами фото, автоматически подобранные фото, логотипы, экспорты, превью и превью ваших референсов стиля. После удаления мы отдельно проверяем, что под пространством не осталось ни одного объекта, и считаем удаление несостоявшимся, если что-то осталось;
- ваше участие в чужих пространствах, токены push-уведомлений с ваших устройств, а также ваше избранное, выбор шаблонов и собственные шаблоны, где бы они ни были созданы;
- сама учётная запись. Она стирается, а не помечается удалённой, поэтому адрес почты освобождается — на него можно зарегистрироваться заново.
Чужие рабочие пространства, куда вас приглашали, продолжают жить: оттуда уходит только ваше участие. Материалы, созданные в чужом пространстве, принадлежат ему и остаются у его владельца.
Когда вы выбираете шаблон, мы записываем, какой именно, где в приложении вы его выбрали и к какому посту применили. Из этих записей собираются недавние и популярные шаблоны, и по ним мы считаем, какая доля постов начата со вкладки «Дизайны». Записи удаляются вместе с аккаунтом.
Копия текста запроса в журнале запросов не удаляется вместе с аккаунтом: она не привязана к нему и обезличена (раздел 12).
События использования, записанные по вашему аккаунту, удаляются вместе с ним. Записи о достигнутых лимитах тоже удаляются вместе с ним.
9. Что остаётся
Записи о расходах на генерацию: какая модель, сколько токенов или элементов, сколько это стоило и когда. То же касается записей об использовании сервиса чтения ссылок. В тот же момент, когда удаляется пространство, база сама (а для записей чтения ссылок — наш код удаления) снимает с этих записей ссылку на него. Остаётся сумма и дата, но не остаётся, чей это был запрос.
В этих записях нет ни текстов, ни изображений, ни адреса почты. Мы держим их, потому что это наша собственная бухгалтерия по оплате сервисов: без неё не сойтись со счётом провайдера и не понять, откуда взялся всплеск трат. Обезличенная копия текста запроса хранится отдельно, в журнале запросов (раздел 12).
Копии жалоб с причинами «незаконный контент» и «сексуальное насилие над детьми». Когда подана такая жалоба, факт жалобы сохраняется отдельной копией: причина, текст и контакт, которые написал жалобщик, дата, идентификаторы материала и пространства и необратимый хэш жалобщика. Самого материала в копии нет. Она не удаляется вместе с материалом и с аккаунтом, потому что может понадобиться, чтобы разобрать такую жалобу и ответить органам власти, и срока хранения не имеет. Читает её только администратор.
Причина удаления, если вы её выбрали, остаётся: она сохраняется без идентификатора аккаунта, только как дата и выбранный вариант. Мы не обещаем, что связать её с вами невозможно: при небольшом числе пользователей дата может быть близка ко дню удаления вашего аккаунта.
10. Резервные копии
Копиями базы и хранилища, если они есть, управляет наш поставщик инфраструктуры, Supabase, по своему тарифу и своим правилам. Срок хранения таких копий мы не называем, потому что не управляем им. Это значит, что после удаления аккаунта копия ваших данных у поставщика, если она существует, может ещё какое-то время сохраняться, хотя из сервиса данные уже ушли. Если это изменится так, что для вас это важно, мы обновим этот раздел.
11. Чего удаление не касается
Есть места, до которых кнопка «Удалить аккаунт» не дотягивается, и честнее назвать их прямо:
- журнал административных действий. В нём записано, кто из администраторов менял настройки сервиса или открывал отдельную генерацию, чтобы разобраться с проблемой. Там хранятся адрес администратора и технические идентификаторы (например, генерации и пространства), но не ваши тексты и не ваш адрес. Но если администратором были вы, ваш адрес в этом журнале останется;
- служебный журнал входов у Supabase, нашего провайдера аутентификации. Он ведётся на их стороне и живёт по их правилам, а не по нашим;
- сообщения, которые бот уже отправил в Telegram. Они лежат в чужом чате, и забрать их обратно мы не можем;
- кэшированные копии изображений. Ссылки на изображения публичные: мы удаляем сам файл, но копия в кэше браузера, CDN или мессенджера может ещё какое-то время открываться;
- журнал запросов (раздел 12). В нём нет аккаунта, пространства и id генерации, поэтому записи нельзя найти и удалить по вашему аккаунту; они удаляются сами через 12 месяцев;
- то, что уже попало к подрядчикам из раздела 3 (сервисы ИИ и речи, отчёты об ошибках, доставка писем). Удаление аккаунта не отправляет им запрос на удаление, и они хранят это по своим правилам.
12. Журнал запросов без привязки к аккаунту
После каждой успешной генерации мы копируем в отдельный журнал текст вашего запроса (до 500 знаков), язык, шаблон, категорию, формат, число слайдов, откуда запущена генерация, тип источника (текст, ссылка и т. п.) и дату — без времени. Часть полей может быть пустой. Перед записью из текста автоматически вырезаются адреса почты, телефоны, ссылки, @имена, номера карт и длинные числа.
В журнале нет ни аккаунта, ни пространства, ни id генерации, ни IP-адреса, ни точного времени. Пока аккаунт жив, администраторы и так видят ваши генерации, и журнал от этого не защищает: запись можно сопоставить с генерацией по совпадению текста. Его смысл в другом: после удаления аккаунта исходные генерации удалены, остаётся только обезличенная копия, и связать её с вами уже нельзя. Из-за этого журнал не удаляется вместе с аккаунтом и не находится по запросу о ваших данных.
Он нужен, чтобы понимать, какие темы и шаблоны людям нужны. Журнал видят только администраторы сервиса, а просмотры и выгрузки журнала записываются в журнал действий администраторов. Записи хранятся 12 месяцев, затем удаляются автоматически.
Назвать этот текст полностью анонимным нельзя: он обезличивается автоматически, но может содержать то, что вы написали сами. Не вписывайте в запросы личные данные.
13. Ваши права и как ими воспользоваться
Вы можете попросить нас:
- сообщить, какие данные о вас у нас есть, и прислать их копию;
- исправить неверные данные;
- удалить ваши данные (это можно сделать и самому, сразу, как описано в разделе 7);
- прекратить определённое использование ваших данных, если это возможно без закрытия аккаунта.
Напишите на support@mtmd.dev с темой «Privacy Request» с той почты, на которую заведён аккаунт, чтобы мы могли понять, что запрос ваш. Такие обращения мы обрабатываем вручную.
Многое можно сделать самому в приложении: править и удалять контент, отзывать ссылку для просмотра, отключать уведомления в настройках устройства или удалить аккаунт. В зависимости от вашей страны у вас может быть и право пожаловаться в орган по защите данных этой страны.
15. Дети
Сервис предназначен для людей от 16 лет, как сказано в Условиях. Мы сознательно не собираем данные детей младше этого возраста.
Если вы считаете, что сервисом пользуется ребёнок младше 16 лет, напишите на support@mtmd.dev. Если мы узнаем, что это так, мы можем закрыть аккаунт и удалить его данные.
16. Безопасность
Что мы делаем для защиты данных, насколько это можно утверждать:
- соединения с сервисом шифруются;
- каждый запрос, который читает или меняет данные аккаунта, проверяется на соответствие вошедшему аккаунту и пространству, и данные одного пространства не показываются другим;
- ссылки для просмотра и приглашения содержат секретный токен в той части адреса, которая не отправляется на сервер и не попадает в наши журналы; картинки по ссылке для просмотра отдаются по подписанным адресам;
- для удаления аккаунта нужен код, присланный на почту аккаунта, а число попыток ограничено.
Ни один способ передачи или хранения не безопасен полностью, поэтому абсолютной безопасности мы гарантировать не можем. Берегите пароль и письма для входа.
17. Изменения политики
Мы можем менять эту политику, например когда появляются новые функции или меняется закон. Дата последнего обновления указана вверху страницы.
О существенных изменениях мы напишем на этой странице и, где можем, сообщим в приложении или по почте не позднее чем за 14 дней до вступления в силу, если закон не требует иного или изменение не нужно срочно, чтобы остановить злоупотребление или угрозу безопасности. Если вы продолжите пользоваться сервисом после этой даты, вы принимаете новую редакцию. Если вы не согласны, прекратите пользоваться сервисом и удалите аккаунт.
18. Связаться с нами
Meta Media LLC, Georgia, Tbilisi, Saburtalo district, Ikalto I lane N 1. Вопросы об этой политике и обращения о ваших данных: support@mtmd.dev.
Укажите в теме письма «Privacy Request».
Если перевод этой политики, включая краткое изложение, расходится с английским текстом, приоритет у английского текста, если только закон вашей страны не даёт вам права ссылаться на версию на вашем языке.