Браузер Dvina посещает сайты в интересах одного человека за раз, когда этот человек просит Dvina выполнить задачу, для которой нужен настоящий браузер. Эта страница предназначена для владельцев сайтов: здесь описано, что делает браузер, как распознать его запросы и как разрешить или заблокировать его.
Что это такое
Dvina — персональный помощник. Когда пользователь, вошедший в Dvina, просит выполнить задачу, для которой нужен сайт, например сравнить предложения или заполнить указанную им форму, Dvina может сделать это в собственном браузере на компьютере этого пользователя в Dvina. Это настольный Chromium с окном, а не браузер без графического интерфейса. Пользователь может наблюдать за его работой в реальном времени и в любой момент взять управление на себя.
- Он действует в интересах одного человека. Каждый браузер принадлежит одному пользователю, вошедшему в Dvina, и выполняет его запросы.
- Это не поисковый робот. У него нет списка сайтов, которые он посещает самостоятельно. Он открывает страницы, необходимые для задачи, шаг за шагом: загружает страницу, читает её, затем выполняет на ней действия — так же, как человек.
- Данные никогда не используются для обучения моделей. Всё, что браузер Dvina читает на вашем сайте, используется только для выполнения запроса человека, в интересах которого он работает. Эти данные никогда не используются для обучения моделей ИИ.
- Личные решения остаются за человеком. Браузер не вводит пароли или данные банковских карт. Когда на странице нужно войти в аккаунт или оплатить покупку, Dvina останавливается и просит пользователя взять управление на себя. Действия с личными данными, отправка, оплата и удаление выполняются только после подтверждения пользователя.
- Он не проходит проверки на то, что пользователь — человек. При появлении такой проверки, например проверки Cloudflare, Turnstile, reCAPTCHA или hCaptcha, браузер не нажимает на неё, не решает её и не перезагружает. Если проверка проходит автоматически, Dvina ждёт её завершения. Если она остаётся, работа останавливается: пользователь берёт управление браузером на себя, проходит проверку и возвращает управление.
Как распознать его запросы
Браузер Dvina подписывает каждый отправляемый http- и https-запрос с помощью Web Bot Auth — подписей HTTP-сообщений (RFC 9421) с ключом Ed25519. Каждый запрос содержит три заголовка:
Signature-Agent: "https://api.dvina.ai"
Signature-Input: sig1=("@authority" "signature-agent");created=<unix time>;expires=<created + 60>;keyid="<key id>";alg="ed25519";nonce="<random>";tag="web-bot-auth"
Signature: sig1=:<Ed25519 signature>:
Signature-Agentуказывает на Dvina — источник, где опубликованы её ключи.Signature-Inputохватывает@authorityзапроса (ваш хост) и заголовокSignature-Agent. Значениеtag—web-bot-auth.- Каждая подпись действительна в течение 60 секунд, от
createdдоexpires. keyid— это отпечаток JWK ключа (RFC 7638).
Браузер отправляет собственный user agent Chromium, такой же, как у любого Chromium в Linux, например:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36
Версия Chrome меняется по мере обновления Chromium, а user agent не содержит никаких сведений о Dvina. Распознавайте Dvina по подписи, а не по user agent.
Примечание
В приложении для компьютера пользователь также может разрешить Dvina использовать браузер на своём компьютере. Этот браузер не подписывает запросы, и его работа выглядит как обычные действия самого пользователя в браузере.
Как проверить подпись
Dvina публикует свой открытый ключ в каталоге ключей:
https://api.dvina.ai/.well-known/http-message-signatures-directory
Каталог возвращает ответ с Content-Type: application/http-message-signatures-directory+json и набором JSON Web Key Set, содержащим открытый ключ Ed25519 Dvina. Ответ подписан тем же ключом с tag="http-message-signatures-directory".
Если ваш сайт использует Cloudflare, сервис сам проверяет агентов, подписывающих запросы. Чтобы проверить запрос самостоятельно:
- Check that
Signature-Agentis"https://api.dvina.ai"and thatSignature-Inputhastag="web-bot-auth". - Check that the time now is between
createdandexpires. - Get the key directory and pick the key whose JWK thumbprint matches
keyid. - Build the signature base from
@authority,signature-agentand the signature parameters, as RFC 9421 describes, and verify theSignaturewith that Ed25519 key.
Эти заголовки может отправить кто угодно. Считайте запрос исходящим от Dvina только после успешной проверки его подписи по каталогу ключей Dvina.
Как разрешить или заблокировать браузер
Браузер Dvina действует в реальном времени от имени одного человека: именно такой трафик охватывает предустановка Agent в Cloudflare. Если ваш сайт использует Cloudflare:
- Политики для ИИ-ботов: В разделе Настройки безопасности выберите Настроить политики для ИИ-ботов. Для Agent выберите Разрешить (не блокировать), Блокировать на страницах с рекламой или Блокировать (на всех страницах).
- Пользовательские правила WAF: В запросах от проверенных ботов и агентов с подписью поле
cf.client.bot(cf.bot_management.verified_botпри использовании Bot Management) имеет значение true. Используйте его в пользовательском правиле, чтобы пропускать такие запросы, требовать проверки или блокировать их. - Каталог проверенных ботов: Список агентов, которых проверяет Cloudflare, доступен в Cloudflare Radar.
В остальных случаях проверьте подпись, как описано выше, затем разрешите или заблокируйте запросы, у которых проверенное значение Signature-Agent равно "https://api.dvina.ai".
Свяжитесь с нами
Есть вопросы о работе браузера Dvina на вашем сайте или о запросе, который не соответствовал описанию на этой странице? Напишите на support@dvina.ai, указав адрес вашего сайта и, если они у вас есть, время запросов и их keyid.