# Браузерний агент Dvina

> Як власникам сайтів розпізнавати, перевіряти, дозволяти або блокувати браузер, який Dvina використовує для своїх користувачів.

Браузер Dvina відвідує сайти для однієї людини за раз, коли вона просить Dvina виконати завдання, для якого потрібен справжній браузер. Ця сторінка — для власників сайтів: тут описано, що робить браузер, як розпізнавати його запити та як дозволити або заблокувати його.

## Що це

Dvina — це персональний помічник. Коли людина, яка ввійшла в Dvina, просить виконати завдання на сайті, наприклад порівняти пропозиції або заповнити форму за її вказівкою, Dvina може зробити це у власному браузері на комп’ютері Dvina цієї людини. Це настільний Chromium із вікном, а не браузер без графічного інтерфейсу. Людина може спостерігати за його роботою наживо й будь-коли перебрати керування.

- **Він діє для однієї людини.** Кожен браузер належить одному користувачеві, який увійшов у Dvina, і виконує те, що ця людина попросила.
- **Це не пошуковий робот.** У нього немає списку сайтів, які він відвідує самостійно. Він відкриває потрібні для завдання сторінки крок за кроком: завантажує сторінку, читає її, а потім виконує на ній дії — як людина.
- **Дані ніколи не використовуються для навчання моделей.** Те, що браузер Dvina читає на вашому сайті, використовується лише для виконання запиту людини, для якої він працює. Ці дані ніколи не використовуються для навчання моделі ШІ.
- **Особисті рішення він залишає за людиною.** Він не вводить паролі чи дані платіжних карток. Коли на сторінці потрібно ввійти в обліковий запис або заплатити, Dvina зупиняється й просить людину перебрати керування. Введення особистих даних, надсилання, оплата та видалення потребують її згоди.
- **Він не проходить перевірки на людину.** Коли він стикається з перевіркою того, що сайт переглядає людина, як-от перевіркою Cloudflare, Turnstile, reCAPTCHA або hCaptcha, він не натискає на неї, не проходить і не перезавантажує її. Якщо перевірка завершується сама, Dvina чекає. Якщо вона залишається, робота зупиняється, а людина перебирає керування браузером, проходить перевірку й повертає керування.

## Як розпізнати його запити

Браузер Dvina підписує кожен http- і https-запит, який надсилає, за допомогою [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/) — підписів HTTP-повідомлень ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) із ключем Ed25519. Кожен запит містить три заголовки:

```http
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](https://www.rfc-editor.org/rfc/rfc7638)).

Браузер надсилає власний user agent Chromium, такий самий, як у будь-якого Chromium на Linux, наприклад:

```text
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.

> [!NOTE]
> У настільному застосунку людина також може дозволити Dvina використовувати браузер на власному комп’ютері. Цей браузер не підписує запити, і його робота виглядає як звичайний перегляд сайтів цією людиною.

## Як перевірити підпис

Dvina публікує свій відкритий ключ у каталозі ключів:

```text
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, Cloudflare перевіряє підписаних агентів за вас. Щоб перевірити запит самостійно:

1. Check that `Signature-Agent` is `"https://api.dvina.ai"` and that `Signature-Input` has `tag="web-bot-auth"`.
2. Check that the time now is between `created` and `expires`.
3. Get the key directory and pick the key whose JWK thumbprint matches `keyid`.
4. Build the signature base from `@authority`, `signature-agent` and the signature parameters, as RFC 9421 describes, and verify the `Signature` with 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](https://radar.cloudflare.com/verified-bots).

В інших випадках перевірте підпис, як описано вище, а потім дозволяйте або блокуйте запити, у яких перевірений `Signature-Agent` має значення `"https://api.dvina.ai"`.

## Зв’яжіться з нами

Маєте запитання про роботу браузера Dvina на вашому сайті або помітили запит, який оброблявся не так, як описано на цій сторінці? Напишіть на [support@dvina.ai](mailto:support@dvina.ai) і вкажіть адресу вашого сайту, а також час запитів і їхній `keyid`, якщо ці дані у вас є.

## Пов’язані матеріали

- [Використання комп’ютера](/docs/use-dvina/features/computer-use)
- [Конфіденційність і дані](/docs/help/privacy-and-data)
