Voir en Markdown

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, Ă  l’aide de signatures de messages HTTP (RFC 9421) et d’une clĂ© Ed25519. Chaque requĂȘte comporte trois en-tĂȘtes :

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).

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

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.

Remarque

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 :

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.

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 en prĂ©cisant l'adresse de votre site et, si vous les avez, l'heure et le keyid des requĂȘtes.