Что видит AI-помощник в Finsight, а чего не видит
Как мы добавили AI-помощника в финансовое приложение со сквозным шифрованием: кто собирает данные, что уходит с устройства, что не уходит никогда и зачем дневной лимит.
- AI-помощник
- privacy
- E2E шифрование
- local-first
В Finsight появился помощник. Вы спрашиваете «хватит ли денег до конца месяца с учётом кредита и подписок?» и получаете ответ с вашими цифрами. Прикладываете фото чека или банковскую выписку и получаете список операций на подтверждение. Доступен в тарифе Pro.
Мы уже писали, почему Finsight шифрует данные на устройстве и почему сервер не может их прочитать. Помощник, который отвечает на вопросы о тратах, вроде бы противоречит этому: чтобы ответить, модель должна траты увидеть. Эта статья о том, как мы совместили одно с другим, и о границах, которые решили не переходить.
Сервер по-прежнему не может читать ваши данные
Первое решение следовало из архитектуры, которая у нас уже была. Суммы, балансы, названия счетов и заметки лежат на сервере только шифротекстом, под ключом, который остаётся у вас. Сервер не может собрать картину ваших финансов для модели, потому что у него этой картины нет.
Поэтому картину собирает ваше устройство. Приложение и так держит локальные агрегаты для своих экранов: балансы по счетам, денежный поток по месяцам, траты по категориям, бюджеты, цели, кредиты, долги, регулярные платежи и прогноз до конца месяца. Когда вы задаёте вопрос, приложение упаковывает эти агрегаты в компактную сводку и отправляет вместе с вопросом. Сервер Finsight проверяет, что вы вошли, что тариф включает помощника, что согласие дано и дневной лимит не исчерпан, затем передаёт запрос поставщику модели и возвращает ответ.
Альтернатива, расшифровать данные на сервере, чтобы модель прочитала их там, тихо сломала бы обещание, что ключ есть только у вас. Долго мы её не обсуждали.
Что уходит с устройства
Здесь точность важнее успокаивающих слов, поэтому список целиком.
- Названия, типы, валюты и балансы счетов.
- Доходы и расходы по месяцам за последние полгода, по валютам.
- Траты по категориям за текущий и прошлый месяц.
- Бюджеты с лимитами и тем, сколько по ним уже потрачено.
- Цели, кредиты с остатком и ближайшим платежом, долги по контрагентам, регулярные платежи.
- Прогноз до конца месяца.
- Ваш язык, часовой пояс и сегодняшняя дата, чтобы ответ был осмысленным.
- Документы, которые вы приложили: фото чека, выписка фотографией или PDF, файл CSV или XLSX.
Если для вопроса нужны отдельные операции, например «покажи самые крупные траты за месяц», модель запрашивает их у приложения, и приложение отправляет этот срез. Всю историю оно не отправляет.
Что не уходит никогда
Заметки к операциям не передаются. Это самый личный свободный текст в приложении: кому ушли деньги, за что, почему. Помощник отвечает по цифрам и названиям, и в наших проверках этого хватило на все вопросы, которые нас интересовали. Если однажды не хватит, мы предпочтём менее умного помощника отправке ваших заметок в модель.
История чата не хранится в вашей учётной записи Finsight. Разговор живёт на вашем устройстве. Сервер держит только служебную запись на разговор: чей он, сколько вопросов и токенов израсходовано и когда отправлялась последняя сводка. Поставщик модели хранит разговор в сессии, чтобы уточняющие вопросы можно было задавать без повторения контекста; «Новый разговор» удаляет эту сессию вместе с локальной историей, то же делает отзыв согласия в настройках.
Всё это написано на экране согласия внутри приложения теми же словами. Помощник не включится, пока вы не прочитали и не согласились.
Почему десять вопросов в день
Pro стоит 20 долларов в год. Один вопрос с полной сводкой обходится нам в цент-два, выписка чуть дороже. Без лимита горстка очень активных пользователей сделала бы тариф убыточным для всех остальных, а у нас появился бы соблазн урезать сводку или взять модель подешевле.
Десять вопросов в день оставляют помощника полезным, сводку полной, а тариф честным. Уточняющие вопросы внутри разговора дешевле новых, потому что сводка отправляется заново только когда устарела, так что лимит на деле просторнее, чем звучит.
Чего помощник не делает
Он отвечает на вопросы о ваших финансах и о приложении. Попросите рецепт или план поездки, и он вежливо откажет. Когда он советует, гасить ли кредит досрочно или укладывается ли покупка в этот месяц, он опирается на ваши цифры и прямо говорит, что это не профессиональная финансовая консультация.
Он не подключается к банку и не двигает деньги. Он читает только то, что вы уже записали, и создаёт операции только после того, как вы посмотрели список и подтвердили его.
Что дальше
Что мы рассматриваем, в порядке желания: потоковый ответ вместо ожидания всего текста, проактивные наблюдения на главном экране, когда в прогнозе есть что-то заслуживающее внимания, и больше форматов документов для импорта. Ничто из этого не меняет правил выше. Сводка остаётся агрегированной, заметки остаются у вас, а помощник остаётся выключенным, пока вы его не включите.