Аккаунта нет, и приложение не измеряет то, что ты делаешь. Ниже описано всё: что остаётся на твоём телефоне, что может с него уйти, что хранит наш сервер и как это удалить.
RIPEN делает Антон Козионов — один человек, не компания. «Мы» в этом документе означает именно этого одного человека. Пиши на hello@ripen.day.
что остаётся на телефоне
Твоё дерево живёт у тебя на телефоне. Здесь нет ни аккаунта, ни регистрации, поэтому мы не знаем, кто ты. Приложение не измеряет то, что ты делаешь: никакой аналитики, никаких отчётов о сбоях, никакой рекламы, никаких рекламных идентификаторов и никаких сторонних трекеров.
Пин-код и фраза восстановления никогда не покидают твой телефон. Названия привычек и идентичностей и то, что записано в «после чего» и «во сколько», уходят с него только внутри онлайн-копии, о которой сказано ниже.
что может уйти с телефона
Пять вещей. Публичная страница, картинка или фильм, сообщение о проблеме, идеи и замечания уходят с телефона, только когда ты их включаешь или отправляешь. Онлайн-копия делается сама.
Публичная страница твоего дерева — только пока включена «публичная ссылка». Для неё на наш сервер уходит форма дерева — всё, что нужно странице, чтобы его нарисовать: номер твоей формы, день посадки дерева и день, когда была начата каждая идентичность и привычка, какие дни отмечены или пропущены, расписания, дни перерыва и нужно ли напомнить, когда перерыв закончится, когда вырастали плоды и когда привычки укоренялись или срезались, когда сметались опавшие листья, день, когда приложение открывали в последний раз, и имя на странице, если оно вписано. Никогда — названия привычек и идентичностей, то, что записано в «после чего» и «во сколько», пин-код и фраза восстановления. Ссылка случайная, и это единственное, что защищает страницу: открыть её может любой, у кого есть ссылка, без неё страницу никто не найдёт, и поисковики её не показывают. Выключи ссылку — и страница перестанет существовать.
Картинка или фильм с твоим деревом, когда ты ими делишься. Приложение создаёт их на твоём телефоне и передаёт в системное меню «Поделиться»; куда они пойдут дальше — решать тебе, и через наш сервер они не проходят.
Онлайн-копия — чтобы перенести дерево на новый телефон. Она делается сама, переключателя для неё нет, и обновляется, когда ты что-то меняешь. В ней всё дерево вместе с названиями, но никогда — пин-код и фраза восстановления. Она шифруется на твоём телефоне ключом, созданным из твоей фразы восстановления, и только потом загружается на наш сервер — вместе с меткой телефона, который её сохранил (тип телефона и 3 случайных символа, например «iPhone · 3fa»), и временем. Сама фраза восстановления никуда не отправляется, поэтому прочитать копию не можем ни мы, ни тот, кто получит её от нас. На iPhone с включённым iCloud она попадает ещё и в твой iCloud: её хранит Apple в твоей собственной учётной записи, а приложение её там не шифрует.
Сообщение о проблеме — только если ты его отправишь через «сообщить о проблеме» во вкладке «ещё». Оно открывает письмо нам с таблицей, которую ты видишь до отправки: версия приложения, версия системы, размер экрана и высота системной панели внизу экрана, размер текста, язык и регион телефона, возраст дерева, сколько в нём идентичностей и привычек и сколько из этих привычек ещё растут, номер твоей формы, включены ли Pro, «публичная ссылка», звук и «застывший мир», а также ошибки за этот сеанс — только их тип, место в коде приложения, где они случились, и время, но никогда не их текст. В нём нет ни названий привычек и идентичностей, ни фразы восстановления. Этот список ошибок приложение держит только в памяти, пока оно открыто, и уходит он только в этом письме. Как и любое письмо, оно показывает нам адрес, с которого ты его отправляешь.
Идеи и замечания — только если ты их отправишь через «идеи и замечания» во вкладке «ещё»: твой текст, язык приложения, версия приложения, iOS на телефоне или Android и адрес твоей почты — только если ты его впишешь, чтобы мы могли ответить. Больше с ними ничего не уходит: ни имени, ни дерева, ни названий привычек и идентичностей.
напоминания
Напоминания планирует сам телефон, и они его не покидают: ни один наш сервер их не отправляет. Если задан пин-код, уведомление не называет привычку, а говорит: «Время одной из твоих привычек.»
покупки
Покупки проходят через App Store или Google Play. Магазин сообщает приложению, что покупка сделана; твоё имя, карта и адрес остаются у магазина и до нас никогда не доходят. Покупки принадлежат твоему аккаунту в магазине, а не дереву: они остаются, когда ты стираешь дерево, а на новом телефоне в ТОМ ЖЕ магазине их возвращает «восстановить покупки» во вкладке «ещё». Покупка из App Store не вернётся в Google Play и наоборот.
сайт
Главная страница ripen.day, её демо-дерево и публичные страницы деревьев загружаются с нашего собственного сайта вместе со шрифтами: ни одна страница ничего не загружает с Google или других сторонних серверов. Сайт не ставит cookie, и ни на одной странице нет скрипта аналитики.
Шрифты приложения встроены в него самого, извне оно их не загружает.
что хранит наш сервер
Пять видов записей, и больше ничего.
Форма опубликованного дерева под его ссылкой: список выше — и картинка того же дерева, которую показывают в превью, когда ссылкой делятся. Картинку рисует твой телефон и ставит на ней день, когда нарисовал, так что старое превью не врёт, а имеет дату. Обе хранятся, только пока включена «публичная ссылка». Если выключить ссылку или стереть дерево, исчезают обе.
Онлайн-копия с каждого телефона: зашифрованный блок данных, метка телефона, время сохранения и номер версии. Она хранится под адресом, который вычисляется на твоём телефоне из твоей фразы восстановления, пока ты не сотрёшь дерево. Прочитать её мы не можем.
Запись для каждой ссылки, которая когда-либо включалась: случайная часть ссылки, случайная соль и хеш, вычисленный из твоей фразы восстановления. Она подтверждает, какому дереву принадлежит ссылка, поэтому никто другой не может её занять. Она остаётся и после того, как страницы не стало; см. ниже.
Присланные идеи и замечания: текст, язык приложения, версия приложения, iOS или Android, время, когда они пришли, и адрес почты, если он был указан. Этот адрес мы используем только чтобы ответить на это сообщение. Сообщение без адреса ни на кого не указывает, поэтому мы не можем на него ответить или узнать, кто его прислал.
Адрес из списка запуска, если ты оставляешь его на нашем сайте: сам адрес и день, когда он пришёл, и больше ничего. Он нужен для одного письма — в день, когда RIPEN появится в магазинах, — и как только письмо уйдёт, весь список удаляется. Напиши нам раньше, и твой адрес исчезнет раньше.
Наш сайт и сервер работают на Cloudflare, поэтому каждый запрос вместе с IP-адресом, с которого он пришёл, проходит через Cloudflare. Код нашего сервера не хранит IP-адреса и не записывает, кто открыл страницу или сохранил копию.
дети
RIPEN не предназначен для детей. Ни у кого, в каком бы возрасте, он не спрашивает настоящее имя, возраст или местоположение. Адрес почты он спрашивает в двух местах, и в обоих он необязателен: «идеи и замечания» в приложении и список запуска на нашем сайте.
удаление данных
Аккаунта здесь нет, так что и удалять аккаунт не нужно. Дерево, его онлайн-копию и публичную страницу ты удаляешь без нас, прямо в приложении, как только твой телефон может связаться с нашим сервером. Только идеи и замечания удаляются по просьбе к нам — как именно, сказано ниже.
Выключи переключатель «публичная ссылка» (во вкладке «ещё» или кнопкой «ссылка» во вкладке «дерево») — и публичная страница перестанет существовать: эта ссылка больше никогда не заработает, а если включить её снова, появится новая. Без сети страница останется на месте, пока ты не попробуешь снова.
«стереть дерево» внизу вкладки «ещё» навсегда стирает дерево с твоего телефона. В тот же момент удаляется онлайн-копия — с нашего сервера и из твоего iCloud — и снимается публичная страница. До нашего сервера можно достучаться только через сеть: без сети приложение ничего не стирает и сообщает об этом, потому что без фразы восстановления никто уже не смог бы удалить то, что там осталось. Тогда можно подключиться к сети и попробовать снова или выбрать «всё же стереть». Пин-код и покупки останутся.
Удалить приложение недостаточно. Это уберёт дерево с твоего телефона, но онлайн-копия — на нашем сервере и в твоём iCloud — и публичная страница останутся на месте. Сначала нажми «стереть дерево».
Одно остаётся намеренно: та самая запись для каждой ссылки, о которой сказано выше, — со случайной солью и хешем, вычисленным из твоей фразы восстановления. Именно она не даёт никому другому занять эту ссылку, когда ты от неё откажешься. В ней нет ни имён, ни дней, ни фразы восстановления, и восстановить из неё ничего нельзя.
Можно и попросить нас. Напиши на hello@ripen.day с любого адреса и скажи, что нужно удалить. Мы отвечаем в течение 24 часов. Публичную страницу мы можем удалить, если ты пришлёшь её ссылку, но пока в приложении включена «публичная ссылка», страница вернётся после твоего следующего изменения, поэтому выключи и ссылку. Найти онлайн-копию на нашем сервере вручную мы не можем: она хранится под адресом, который вычисляется из твоей фразы восстановления, а её мы никогда не видим. Чтобы удалить копию, нажми «стереть дерево».
Идеи и замечания нельзя удалить в приложении. Если к ним был приложен адрес почты, напиши на hello@ripen.day с этого же адреса, и мы удалим все сообщения с ним. Сообщение без адреса ни на кого не указывает, поэтому мы не можем понять, какое из них твоё.
изменения
Эта политика одинакова в приложении — в разделе «приватность» во вкладке «ещё» — и на ripen.day/privacy. Когда она меняется, меняется и дата вверху веб-страницы.