# L’agent navigateur de Dvina

> Comment les propriétaires de sites web peuvent reconnaître, vérifier, autoriser ou bloquer le navigateur que Dvina utilise pour les personnes qu’il assiste.

Le navigateur de Dvina consulte des sites web pour une seule personne à la fois, lorsque celle-ci demande à Dvina une tâche qui nécessite un véritable navigateur. Cette page s’adresse aux propriétaires de sites web : elle explique ce que fait le navigateur, comment reconnaître ses requêtes et comment l’autoriser ou le bloquer.

## De quoi s’agit-il ?

Dvina est un assistant personnel. Lorsqu’une personne connectée à Dvina demande une tâche qui nécessite un site web, comme comparer des offres ou remplir un formulaire à sa demande, Dvina peut l’effectuer dans son propre navigateur, sur l’ordinateur Dvina de cette personne. Il s’agit d’un navigateur Chromium de bureau avec une fenêtre, et non d’un navigateur sans interface graphique. La personne peut le regarder en direct et en reprendre le contrôle à tout moment.

- **Il agit pour une seule personne.** Chaque navigateur appartient à un utilisateur connecté à Dvina et exécute les tâches que cette personne lui a demandées.
- **Ce n’est pas un robot d’exploration.** Il n’a pas de liste de sites à visiter de sa propre initiative. Il ouvre les pages nécessaires à une tâche, une étape à la fois : il charge une page, la lit, puis y effectue une action, comme le ferait une personne.
- **Il ne sert jamais à entraîner des modèles.** Ce que le navigateur de Dvina lit sur votre site sert uniquement à répondre à la demande de la personne qu’il assiste. Ces informations ne servent jamais à entraîner un modèle d’IA.
- **Il laisse la personne prendre ses propres décisions.** Il ne saisit ni mots de passe ni coordonnées de carte bancaire. Lorsqu’une page exige que la personne se connecte ou paie, Dvina s’arrête et lui demande de reprendre le contrôle. La saisie d’informations personnelles, l’envoi, le paiement et la suppression attendent son accord.
- **Il ne résout pas les vérifications humaines.** Lorsqu’il rencontre un contrôle visant à vérifier qu’une personne navigue, comme le contrôle de Cloudflare, Turnstile, reCAPTCHA ou hCaptcha, il ne clique pas dessus, ne le résout pas et ne le recharge pas. Si le contrôle se termine de lui-même, Dvina attend. S’il reste affiché, la tâche s’arrête : la personne reprend le contrôle du navigateur, passe le contrôle, puis rend la main à Dvina.

## Reconnaître ses requêtes

Le navigateur de Dvina signe chaque requête http et https qu’il envoie avec [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/), à l’aide de signatures de messages HTTP ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) et d’une clé Ed25519. Chaque requête comporte trois en-têtes :

```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` désigne Dvina, l’origine où ses clés sont publiées.
- `Signature-Input` couvre le composant `@authority` de la requête (votre hôte) et l’en-tête `Signature-Agent`. Le `tag` est `web-bot-auth`.
- Chaque signature est valide pendant 60 secondes, de `created` à `expires`.
- `keyid` est l’empreinte JWK de la clé ([RFC 7638](https://www.rfc-editor.org/rfc/rfc7638)).

Le navigateur envoie l’agent utilisateur propre à Chromium, identique à celui de tout navigateur Chromium sous Linux, par exemple :

```text
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36
```

Sa version de Chrome évolue au fil des mises à jour de Chromium, et l’agent utilisateur ne contient aucune mention de Dvina. Identifiez Dvina par sa signature, et non par son agent utilisateur.

> [!NOTE]
> Avec l’application de bureau, une personne peut aussi autoriser Dvina à utiliser un navigateur sur son propre ordinateur. Ce navigateur ne signe pas ses requêtes, qui ressemblent à celles de la navigation habituelle de cette personne.

## Vérifier une signature

Dvina publie sa clé publique dans son répertoire de clés :

```text
https://api.dvina.ai/.well-known/http-message-signatures-directory
```

Le répertoire renvoie une réponse avec `Content-Type: application/http-message-signatures-directory+json` et un ensemble de clés JSON Web Key Set contenant la clé publique Ed25519 de Dvina. La réponse est signée avec la même clé, avec `tag="http-message-signatures-directory"`.

Si votre site est sur Cloudflare, Cloudflare vérifie les agents signés pour vous. Pour vérifier vous-même une requête :

1. Vérifiez que `Signature-Agent` vaut `"https://api.dvina.ai"` et que `Signature-Input` contient `tag="web-bot-auth"`.
2. Vérifiez que l’heure actuelle se situe entre `created` et `expires`.
3. Récupérez le répertoire de clés et sélectionnez la clé dont l’empreinte JWK correspond à `keyid`.
4. Construisez la base de signature à partir de `@authority`, de `signature-agent` et des paramètres de signature, comme le décrit la RFC 9421, puis vérifiez la `Signature` avec cette clé Ed25519.

N’importe qui peut envoyer ces en-têtes. Ne considérez une requête comme provenant de Dvina que si sa signature est validée à l’aide du répertoire de clés de Dvina.

## L’autoriser ou le bloquer

Le navigateur de Dvina agit en temps réel pour une personne : c'est le type de trafic couvert par le préréglage **Agent** de Cloudflare. Si votre site utilise Cloudflare :

- **Politiques relatives aux bots IA :** Dans **Paramètres de sécurité**, choisissez **Configurer les politiques relatives aux bots IA**. Pour **Agent**, choisissez **Autoriser (ne pas bloquer)**, **Bloquer sur les pages avec des publicités** ou **Bloquer (sur toutes les pages)**.
- **Règles WAF personnalisées :** Pour les requêtes provenant de bots vérifiés et d'agents signés, `cf.client.bot` (`cf.bot_management.verified_bot` avec Bot Management) est défini sur true. Utilisez ce champ dans une règle personnalisée pour les laisser passer, leur imposer un défi de sécurité ou les bloquer.
- **Annuaire des bots vérifiés :** Consultez les agents vérifiés par Cloudflare dans [Cloudflare Radar](https://radar.cloudflare.com/verified-bots).

Sur toute autre plateforme, vérifiez la signature comme décrit ci-dessus, puis autorisez ou bloquez les requêtes dont le `Signature-Agent` vérifié est `"https://api.dvina.ai"`.

## Contactez-nous

Vous avez des questions sur le navigateur de Dvina sur votre site, ou une requête ne s'est pas comportée comme indiqué sur cette page ? Écrivez à [support@dvina.ai](mailto:support@dvina.ai) en précisant l'adresse de votre site et, si vous les avez, l'heure et le `keyid` des requêtes.

## À consulter aussi

- [Utilisation de l'ordinateur](/docs/use-dvina/features/computer-use)
- [Confidentialité et données](/docs/help/privacy-and-data)
