Предыстория
Недавно посмотрел видео про скандал вокруг сервиса Kupikod. Если кто не в курсе, это контора, продающая ключи для игр. Хозяева данного заведения придумали отличную идею - уронить комиссии за пополнение кошелька до нуля, а радостных пользователей долбить скрытой ежемесячной подпиской размером в 300 рублей, которая автоматически оформляется при пополнении кошелька на сумму, большую определенной. И разумеется, нигде на сайте инфы об этой подписке не было. И разумеется, если эту подписку не отменить, то с тебя так каждый месяц и будет списываться по 300 рублей. Правда, эта подписка не была прям супер секретной - информации о ней была указана в публичной оферте, том самом документе, который никто никогда не читает, но с которым все всегда согласны. Собственно вот этот пункт:

И это меня натолкнуло на мысль: а существует ли софт, который помогает анализировать пользовательские соглашения на предмет таких вот интересных пунктов? Ведь та же LLM подобные задачи должна щелкать как орешки. Ответ вкратце: конечно же существует. Чуть более развернутый ответ: конечно же существует, но подходящий мне софт я так и не нашел, поэтому пришлось писать свой. Итак, что лично мне нужно от подобного софта?
Требования
Самое главное требование - минимум лишних телодвижений. Как только на очередном сайте натыкаешься на пользовательское соглашение, у тебя есть секунда, ну максимум две, на то, чтобы что-то с этим сделать. Дальше рука сама нажмет на кнопочку "Согласен" или "Далее" или поставит галочку или еще каким-либо образом выразит свое согласие с очередной простыней унылого юридического текста. В общем, действовать надо быстро и желательно прямо в самом браузере. Базовый вариант это просто скопировать текст договора и закинуть в ChatGPT или аналог, но это уже целая куча действий: скопировать текст, открыть окно с чатом, написать промпт или найти вкладку с готовым, вставить туда текст, отправить сообщения в чат... хочется быстрее. В идеале хочется, чтобы все происходило в 1-2 клика. Ну и поскольку речь идет об анализе текста, в этом должна быть задействована LLM. Поэтому список требований вырисовывается такой:
это должно быть расширение для браузера
анализ пользовательского соглашения должен запускаться в пару кликов
для анализа используется LLM, желательно, чтобы была возможность выбора нужной модели и провайдера, а также возможность менять промпт
в первую очередь софт должен искать серьезные красные флаги, а уж потом более абстрактные угрозы; то есть если в тексте договора есть пункт о том, что, соглашаясь с ним, я добровольно становлюсь подопытным для сомнительных научных экспериментов, об этом пункте мне следует знать в первую очередь, а уж потом о том, что мои данные могут быть использованы для обучения AI
желательно, чтобы при анализе также цитировался каждый проблемный пункт соглашения или хотя бы указывался его номер в документе
должен работать с любым сайтом и языком
желательно, чтобы с меня не пытались при этом содрать деньги за премиум подписку
С требованиями, вроде все, теперь давайте покажу, что я на эту тему нашел.
DocDecoder

Расширение для Chrome, использует GPT-4 для анализа различных документов на сайтах и генерации краткого саммари.
Плюсы:
использует LLM
на популярных сайтах автоматически выдает список предупреждений относительно их пользовательских соглашений
анализирует соглашение на предмет красных флагов, сортирует их в порядке убывания серьезности
дает ссылки на подозрительные пункты документа
Минусы:
на непопулярных сайтах придется самому ручками вводить ссылку на пользовательское соглашение и ждать, пока программа его проанализирует
сделать так можно только два раза в месяц, дальше - только премиум подписка
другие LLM, кроме GPT-4, использовать нельзя
Explain by AI

Расширение для Chrome. Позволяет прямо на сайте выделять нужный тебе кусок текста и анализировать его при помощи LLM.
Плюсы:
использует LLM
можно менять модель и задавать свой промпт
выделил текст, отправил на анализ, звучит довольно удобно
бесплатное
Минусы
можно использовать только LLM фирмы OpenAI, при этом нет моделей моложе GPT-4o
в случае с гигантской простыней текста, которую представляют из себя 95% пользовательских соглашений, выделение текста это уже не так удобно, как кажется (хотя можно воспользоваться Ctrl + A)
запустить расширение так и не удалось
Glimso AI

Расширение для Chrome. Автоматически анализирует сайт с использованием AI и выдает результат в удобном для пользователя виде. Возможно кому-то будет полезно, но это совсем не то, что я ищу.
Termfy

Из всех представленных расширений это мне понравилось больше всего но все равно не то. Анализирует сайт в автоматическом режиме, само находит пользовательские соглашения и подсвечивает их уязвимые места.
Плюсы:
использует LLM
работает с любым сайтом и языком
само находит пользовательское соглашение и автоматически выдает список предупреждений относительно него, все делается в один клик
анализирует соглашение на предмет красных флагов, сортирует их в порядке убывания серьезности
бесплатное
Минусы:
нельзя менять настройки приложения, выбирать модель LLM или менять промпт под себя
выдает достаточно абстрактные предупреждения, нет ссылок на конкретные пункты соглашения
Мое приложение

Приложение состоит из двух частей: собственно расширение для Хрома и бэкенд. Бэкенд написан на Python + FastAPI + LangChain.
Алгоритм выглядит следующим образом:
-
пользователь предварительно задает ключ API, язык, настройки LLM и промпт для анализа соглашения (если промпт не задан, то используется промпт по умолчанию из файла prompts.py бэкенда); окно с настройками выглядит так:

Настройки приложения -
пользователь кликает правой кнопкой мыши на ссылку или страницу с договором/соглашением/офертой и выбирает в выпадающем меню пункт анализа соглашения

расширение парсит контент (со страницы или по ссылке) и отправляет на бэкенд
бэкенд принимает запрос, добавляет его в промпт и отправляет LLM
LLM возвращает ответ, бэк передает его обратно в расширение
ответ с анализом открывается на новой странице браузера
Ниже в качестве примера приведена часть анализа критических рисков для договора кредитования Яндекса
Одностороннее изменение лимита кредитования: Кредитор имеет право в одностороннем порядке изменять лимит кредитования, вплоть до нуля, по своему усмотрению, что может создать финансовые трудности для заемщика.
Цитата: "Банк имеет право изменять ранее установленный Лимит кредитования, как в сторону увеличения посредством направления в дату изменения лимита СМС-сообщения или сообщения по электронной почте, так и в сторону уменьшения, вплоть до нуля, по запросу Заёмщика, а также по своему усмотрению..." (п. 4.6)
Согласие на взаимодействие с третьими лицами: Заёмщик дает согласие на взаимодействие кредитора с любыми третьими лицами, включая членов семьи, родственников и соседей, в случае просроченной задолженности, что может привести к нарушению конфиденциальности и психологическому давлению.
Цитата: "Заёмщик даёт свое согласие на взаимодействие Кредитора (лица которому уступлены права (требования) по настоящему Договору) или лица, действующего от имени Кредитора (лица которому уступлены права (требования) по настоящему Договору) и (или) в его интересах, с любыми третьими лицами, под которыми понимаются члены семьи Заёмщика, родственники Заёмщика, иные проживающие с Заёмщиком лица, соседи и любые другие физические лица, в случае, если данные о таких третьих лицах были сообщены Заемщиком Кредитору." (п. 9.4)
Взыскание задолженности по исполнительной надписи нотариуса: Кредитор вправе взыскать задолженность по исполнительной надписи нотариуса, что упрощает и ускоряет процесс взыскания долга без обращения в суд.
Цитата: "Кредитор вправе взыскать задолженность по Договору по исполнительной надписи нотариуса в порядке, установленном законодательством Российской Федерации, с учётом согласия Заёмщика о включении условия о взыскании задолженности по исполнительной надписи нотариуса в Индивидуальные условия кредитования." (п. 9.6)
Одностороннее изменение общих условий кредитования: Кредитор вправе в одностороннем порядке изменять общие условия кредитования, если это не повлечет за собой возникновение новых или увеличение размера существующих денежных обязательств Заёмщика по Договору.
Цитата: "Кредитор вправе в одностороннем порядке изменять Общие условия кредитования при условии, что это не повлечет за собой возникновение новых или увеличение размера существующих денежных обязательств Заёмщика по Договору." (п. 10.1)
Автоматическое списание денежных средств: Заёмщик предоставляет Кредитору согласие на периодическое списание денежных средств с указанной карты в даты и в суммах, определённых Уведомлением о востребовании.
Цитата: "В целях возврата Кредита и уплаты процентов, пени и неустоек Заёмщик настоящим предоставляет Кредитору согласие на периодическое списание денежных средств в даты и в суммах, определённых Уведомлением о востребовании с электронного средства платежа, указанного Заёмщиком в Приложении Яндекс (Карта для Списания), любой иной карты данные о которой были предоставлены Заёмщиком в Приложении Яндекс в пользу Кредитора или лица, которому уступлены права (требования) по настоящему Договору." (п. 6.4)
На мой взгляд, выглядит неплохо и все критические моменты подсвечены. Однако это LLM, поэтому если договор действительно важный, доверять подобному анализу нельзя и лучше все проверить самостоятельно.
На данный момент расширение установлено на моем компьютере и ноутбуке, бэкенд работает на личном сервере. В качестве LLM использую Gemini Flash 2.0, потому что быстрая, пишет анализ приемлемого качества и стоит примерно ничего.
Репозиторий проекта находится по этой ссылке. Инструкция по установке есть в README.
Загружать это расширение в магазин Chrome/Firefox и пр. я не стал, потому что банально лень проходить все эти проверки, поддерживать сервер и платить какие-то взносы за расширение, которое я делал под себя и монетизировать не планирую. Но если кто-то захочет загрузить мое расширение в любой магазин - милости прошу, я не против :)
Комментарии (5)

shasoftZ
05.12.2025 07:05Всегда была интересна логика таких действий. Ведь должно было быть понимание что афера достаточно быстро вскроется. Или сервис настолько уникальный, что оттока клиентов из-за потери доверия все равно не будет. Или сервис уже и так загибается и это возможность хапнуть "напоследок"

beatwad Автор
05.12.2025 07:05Как выше писали, потом был стрим, на котором был отдельный цирк с конями. Туда позвали барышню-маркетолога, которая прямо говорила на стриме, что все, кто попал на эту подписку, это мамонты (лохи то есть) и что главный пострадавший это их контора, ведь это у них теперь будут убытки из-за репутационных потерь. Потом пришел директор, который до этого достал личные данные одного из блогеров и угрожал ему в личке отправкой на СВО. На стриме он заявил, что угрозы отправкой на СВО это шутка такая, а на вопрос, как он личные данные достал, ответил что-то в духе "Ребят, ну вы же все понимаете, вы же знаете, как подобные данные достаются".
Так что нет там никакой логики, они в каком-то в своем мире живут, в котором 90-е еще не закончились, а Мавроди стал президентом.

FireWind
05.12.2025 07:05Это не правильное расширение - единицы будут ставить его, чтобы что то там проанализировать. Но расширение в правильное направлении. Правильно будет, если расширение уже дает выжимку опасностей пользовательских соглашений различных сервисов (обновляемая база информации, да еще многоязычная) - зашел на сайт с соглашением - тебе сразу показывает, что ожидать от подводных камней. Если же это не сайт - по запросу та же самая выжимка для приложения. Возможно, это даже имеет коммерческую перспективу (рынок на несколько миллиардов человек) - подписка на какой то период времени на доступ к сервису с базой

beatwad Автор
05.12.2025 07:05Termfy и DocDecoder что-то подобное делают, можно их для этой задачи использовать.
Bardakan
На этом история не заканчивается - был стрим, на который блоггеры пригласили представителей купикода, чтобы выяснить, что за фигня происходит. Одному из блоггеров чуть ли не прямым текстом начали угрожать раскрытием личной информации.
После этого информация о подписке все-таки появилась под кнопкой покупки, но пользоваться сайтом не рекомендую по причинам выше