Где на самом деле лежит ваш дневник
На телефоне. Не лозунгом, а физически: это то место, куда пишутся записи. Копия уезжает и на сервер — запечатанной, и открыть её там нечем: ключ остаётся у вас.
Что уезжает с устройства и в каком виде
Записи, веса порций, журнал веса и маленькие превью фотографий пишутся в собственное хранилище браузера, а их копия уезжает на сервер в запечатанном виде: ключ есть только на вашем устройстве. Показать кому-либо содержимое сервер не может — не потому, что мы обещали, а потому что у него нет ключа. Резервная копия — файл, который вы выгружаете сами и держите там, где вам удобно.
Обратную сторону стоит назвать прямо, потому что это то же самое свойство: потеряете код восстановления вместе с устройством — и дневник не вернёт никто, включая нас. Расшифровать его будет нечем.
Что устройство всё-таки покидает
Две вещи, и обе — по вашему действию: фотография еды и строка поиска товара.
Строка поиска — только если вы нажали «Поискать в открытой базе». Дверь «Продукты» ищет по вашим продуктам и по справочнику товаров, скачанному на устройство, — без сети. Когда товара нет в справочнике, под списком появляется кнопка, и по нажатию набранное вами уходит в Open Food Facts прямо с устройства, минуя наш сервер. Ни автодополнения по мере ввода, ни фоновых запросов: без нажатия не уходит ничего, а вместе со строкой не уходит ни дневник, ни фотографии, ни идентификатор. Выключается флажком в настройках (раздел «Товары по штрихкоду»), и тогда кнопки нет вовсе; поиск товара по коду с упаковки в сеть не ходит ни при каком положении флажка.
Фотография еды. Куда именно она едет, зависит от того, чей ключ подписывает запрос, — а это выбираете вы в приложении:
- Своим ключом фотография уходит с устройства прямо на площадку, чей ключ вы вписали, минуя наш сервер. Мы её не видим и не храним. Площадок, чьи ключи приложение умеет, десять, а адресов, куда фотография может уйти, девять — они перечислены поимённо в политике конфиденциальности, и других адресов оно не знает.
- Ключом Snapfork фотография проходит через наш сервер — там её подписывают — и дальше идёт через OpenRouter, площадку, которая передаёт запрос провайдеру модели. У нас она не сохраняется: ни файлом, ни копией в журнале. Остаётся строка чисел: модель, токены, во что нам это обошлось. Площадке мы в каждом запросе запрещаем маршрут через провайдеров, которые сохраняют переданное, — это часть запроса, а не обещание на словах.
Приложение начинает с вашего ключа, а на наш переходит только после того, как ваш отказал: кончилась квота, ключ отозван, площадка не ответила. Это умолчание, и оно выключается флажком в настройках — тогда при отказе вашего ключа распознавание просто не состоится, а фотография не покинет выбранной вами площадки ни при каких условиях. Каждый снимок, распознанный нашим ключом, говорит об этом на экране.
Дальше действуют условия площадки, а не наши. У Google, например, они разные даже на двух уровнях одного ключа: на бесплатном он оставляет за собой право использовать отправленное для улучшения своих продуктов, на платном — нет. У остальных площадок свои условия, и читать их надо у них. Чей ключ вписать и какого уровня — решаете вы, и это самое важное, что стоит понять до того, как фотографировать еду.
Что сервер всё же хранит
Больше, чем нужно одному входу, — и сказать это лучше прямо. Ради входа: адрес почты не открытым текстом, а как результат необратимого преобразования, отпечаток сессии и коды из писем — под хешем и на десять минут. Ради дневника: его запечатанная копия, превью фотографий и спорные версии, а если вы включили обмен настроек, то и настройки, — всё это запечатано вашим ключом. Сверх того: переписка с разработчиком, пополнения баланса распознаваний, список ваших устройств, друзья и приглашения, если вы ими пользуетесь, и почасовые резервные копии базы. Политика конфиденциальности — единственный полный экземпляр, и перечислено это там целиком, вместе со сроками хранения.
Чего здесь нет
- Баннера о куках. Кука здесь ровно одна — та, что держит вас во входе; без неё вход не работает, и разрешения на неё не спрашивают нигде. Ради аналитики или рекламы не ставится ничего.
- Чужой аналитики, рекламных пикселей и виджетов чата.
- Шрифтов с CDN: текст набран шрифтом вашей системы, и он не стоит ни одного запроса.
Это проверяется, а не обещается: откройте инструменты разработчика и
посмотрите на вкладку сети, пока грузится эта страница. Один запрос там
наш, и назвать его здесь честнее, чем дать вам найти его самим: маяк на
/hit, который считает посещение без кук и без чужого кода. Что
именно он записывает — и чего не записывает намеренно, — расписано на
странице конфиденциальности.