Политика конфиденциальности

Действует для сайта и приложения — они оба на snapfork.app. Обновлена 13 сентября 2026 года.

Что хранится на сервере

Только то, без чего не работают вход, синхронизация и переписка с разработчиком:

Что происходит с дневником

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

Прочитать дневник не можем и мы. Это не обещание вести себя хорошо, а устройство системы: ключа у нас нет. Отсюда цена, которую надо знать заранее — потеряете код восстановления вместе с устройством, и дневник не вернёт никто, включая нас. Восстанавливать будет нечем. Код показывается в настройках, в разделе «Данные»; запишите его и держите отдельно от телефона.

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

Настройки уезжают на сервер, только если вы включили их обмен. Цели, профиль (пол, год рождения, рост, активность), цель по воде, доли приёмов, функции дневника, быстрые действия, единицы, тема открытки и два флажка — скрытая оценка товара и выключенный поиск в открытой базе — едут одним конвертом, запечатанным тем же ключом, что и дневник. Включается это отдельным переключателем в разделе «Данные»; до этого настройки лежат только на устройстве. Выключаете там же — и копия на сервере стирается сразу, а обмен выключается на всех ваших устройствах. Сервер видит, что конверт есть, когда он менялся, сколько весит и когда обмен выключили, — и не видит, что внутри. Тема оформления, язык, напоминания, подключение Apple Health и ключ своей площадки распознавания не уезжают никогда: это свойства устройства.

Резервная копия в файл по-прежнему делается вами и остаётся у вас — она не зашифрована, и это единственный способ прочитать дневник без кода.

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

Резервная копия устройства

Это про приложение для iPhone. В App Store его пока нет, и сказанное ниже описывает, как оно будет себя вести, когда выйдет. На сайте такого нет: в браузере ни контейнера приложения, ни такой копии не существует.

Резервная копия iPhone забирает данные приложений в iCloud — так устроена сама копия, а не наше приложение. Попадёт ли в неё дневник, решаете вы, и по умолчанию он в неё не попадает. Вопрос задаётся при первом запуске, а поменять ответ можно в любой момент: настройки → «Данные» → «Копия дневника в iCloud».

Мы описываем здесь механизм, а не исход, и это не уклончивость: после вашего ответа одна и та же фраза «дневник в iCloud» будет правдой у одних читателей и неправдой у других. Скажете «да» — копию делает и хранит Apple по своим правилам, и это её копия, не наша: мы её не видим и открыть не можем. Скажете «нет» или не ответите вовсе — каталог приложения помечен как исключённый из копии, и дневник в неё не едет.

Копии в файл (кнопка «Экспорт JSON») это не касается вовсе: тот файл делаете вы и храните где хотите.

Куда уходят данные

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

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

Строка поиска товара — если вы нажали «Поискать в открытой базе». В приложении есть дверь «Продукты»: она ищет по вашим продуктам и по справочнику товаров, скачанному на устройство, и всё это происходит без сети. Когда товара нет в справочнике, под списком появляется кнопка «Поискать в открытой базе». По нажатию — и только по нему — то, что вы набрали в строке поиска, уходит с вашего устройства в Open Food Facts, минуя наш сервер: мы этой строки не видим и не храним. Ни автодополнения по мере ввода, ни фоновых запросов нет: без нажатия наружу не уходит ничего.

Вместе со строкой не уходит больше ничего: ни записи дневника, ни фотографии, ни ваш вес, ни идентификатор аккаунта — ни один из них приложению для этого запроса не нужен, и он их не прикладывает. Дальше действуют условия Open Food Facts, а не наши. Отключается это флажком: настройки → раздел «Товары по штрихкоду» → «Искать в открытой базе по кнопке»; выключенный, он убирает саму кнопку, и наружу не уходит ничего. Поиск товара по коду с упаковки и поиск по скачанному справочнику в сеть не ходят никогда — ни при включённом флажке, ни при выключенном.

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

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

Счётчик посещений

Сайт считает посещения сам, без кук и без чужих скриптов. В базу попадают суточные числа: страница, язык, откуда пришёл переход. Ни IP-адрес, ни User-Agent не сохраняются ни в каком виде — из них считается ключ с суточной солью, а сама соль не записывается никуда, поэтому сопоставить два дня между собой нельзя даже нам. Заголовок Sec-GPC уважается: с ним не считается ничего.

Переписка с разработчиком

В настройках приложения есть раздел «Поддержка»: можно написать о поломке или о том, чего не хватает, и получить ответ там же. Это переписка, а не форма, — значит, она хранится на сервере: иначе ответить было бы некуда.

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

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

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

Приглашение по ссылке

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

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

Сама ссылка несёт код и ничего о вас. Переход по ней счётчик посещений считает как отдельную кампанию — только метку: код в счётчик не попадает, иначе суточные числа превратились бы в таблицу «чьи ссылки работают».

Удаление аккаунта уносит ссылку и запись о том, откуда этот аккаунт пришёл; записи о начислениях остаются обезличенными — по ним считаются пределы того, сколько можно раздать.

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

Друзья

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

Согласие спрашивается на каждую дружбу и на каждый уровень отдельно, и мы запоминаем, под каким текстом вы его дали: изменится смысл — спросим заново, а не продлим молча. Отменить можно в любой день, и кнопок две: «перестать делиться» оставляет дружбу, «удалить дружбу» убирает связь и стирает всё, что вы друг о друге видели.

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

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

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

Сроки и пределы: непринятое приглашение живёт 30 дней и срабатывает один раз; ваша неделя лежит на сервере до следующей и стирается сразу при разрыве; реплики живут семь дней; связь — до разрыва или удаления аккаунта. Не больше 50 друзей, и это предел не продуктовый, а наш: чем длиннее список, тем больше связей знает сервер. Социальные функции не предлагаются тем, кто указал в профиле возраст меньше 16 лет.

Куки

Кука ровно одна на весь домен: сессия входа. Она техническая, ставится только при входе, живёт до 180 дней с последнего входа и никому, кроме приложения, не видна. До входа её не существует, а после — она уходит с каждой страницей здесь, включая эту: сайт и приложение отвечают по одному адресу. Баннера нет потому, что разрешения не спрашивают на куку, без которой не работает вход, а спрашивать больше не о чем: ни аналитики, ни рекламы.

Сколько это хранится

Сессия — до 180 дней с последнего входа. Код из письма — 10 минут. Суточные числа счётчика — бессрочно, но в них нет ничего о человеке. Аккаунт — пока вы его не удалите. Переписка с разработчиком — столько же, сколько аккаунт: она уходит вместе с ним и отдельного срока не имеет. Отдельный срок мы называть не стали намеренно: он был бы обещанием стирать по расписанию, а расписания нет — и обещание врало бы ровно до первой проверки.

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

Тридцать дней, которые названы ниже, — не про сами записи, и путать эти сроки не нужно. Тридцать дней живут превью фотографий (и на устройстве, и на сервере) и версии записей, проигравшие при синхронизации. И то и другое лежит РЯДОМ с записью, а не вместо неё: пропадает картинка или прежняя редакция строки, а сама запись остаётся на месте. Оба срока считаются в рабочей базе сервера; в её резервных копиях картинка или версия могут пережить их ещё на срок до 14 суток — см. последний абзац раздела.

Превью фотографий еды — 30 дней. Приложение хранит маленькую копию снимка рядом с записью и удаляет её с устройства через тридцать дней после съёмки. Сама запись остаётся: пропадает только картинка. Этот срок мы называем именно потому, что расписание здесь есть — уборка идёт при каждом открытии приложения и сразу после восстановления из резервной копии, — и проверить его можно, открыв старый день. Полноразмерный снимок в дневник не попадает вовсе: в записи лежит только это превью.

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

Версии записей, проигравшие при синхронизации, — не дольше тридцати дней. Правя запись, вы заменяете её прежнюю версию; сервер эту прежнюю не выбрасывает сразу, а держит отдельно — чтобы «оно само исправилось» не осталось нашим словом против вашей памяти. Увидеть их и вернуть можно в приложении, в карточке спорных версий. Лежат они запечатанными, как и записи: открыть их не можем и мы. Уборка идёт по расписанию, раз в сутки, — и потому срок здесь мы называем.

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

Резервные копии базы — до 14 суток. Раз в час сервер копирует свою базу целиком — на случай, если отказ диска или неудачное обновление унесут аккаунты всех разом. Копии за последние 48 часов хранятся по одной на час, более старые — по одной на сутки, а копия старше 14 суток удаляется при ближайшей почасовой ротации. Удаляет копии только работающий сервер: пока он выключен, лежат все, а после включения просроченные уходят сразу. Одна оговорка: самая свежая копия остаётся всегда — даже просроченная, если новые перестали получаться, — до следующей удачной, потому что старая копия полезнее пустого места. В копии лежит ровно то, что было в базе в тот час, и в том же виде. Запечатанное вашим ключом — дневник, превью, настройки, спорные версии — остаётся запечатанным и в копии, и ключа к нему у нас нет; то, что сервер видит открыто, — переписку с разработчиком, кто с кем дружит, — он видит и в копии. Поэтому каждый срок выше — это срок в рабочей базе: всё, что оттуда стёрто — уборкой или вместе с аккаунтом, — остаётся в резервных копиях не дольше 14 суток после этого, кроме названных случаев. Четырнадцать суток — верхняя граница, а не обещание хранить: копия может уйти и раньше, например когда на диске кончается место.

Удаление

В приложении: настройки → «Удалить аккаунт». Это стирает аккаунт, все его способы входа, все сессии и всю переписку с разработчиком; для входа через Apple заодно отзывается доступ на стороне Apple. Вместе с аккаунтом уходит и то, что сервер хранил ради синхронизации: запечатанная копия дневника, превью фотографий, запечатанная копия настроек, журнал спорных версий и список ваших устройств — в базе сервера от них не остаётся ничего. В почасовых резервных копиях всё это ещё лежит до 14 суток, в том же виде, и затем уходит и оттуда (если сервер работал и новые копии делались исправно); как устроены копии, описано в разделе «Сколько это хранится». Суточные числа счётчика посещений остаются: в них нет ничего о человеке, и унести их по аккаунту невозможно — аккаунта в них нет. Дневник на устройстве стирается отдельной кнопкой — он ваш и только ваш, и решать его судьбу мы за вас не будем.

Изменения

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

Связь

Ответственный за данные — тот, кто решает, что здесь хранится, и отвечает за это, — частное лицо, а не компания: юридического лица за Snapfork нет. Это Oleksandr Trifonov. Всё по сервису, включая запросы о собственных данных, идёт на адрес ниже. Что это устройство означает на практике, написано на странице кто за этим стоит.

Вопросы, доступ к своим данным и удаление — через страницу вопросов или письмом на hello@snapfork.app.

Условия использования · Открыть приложение