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-AgentdĂ©signe Dvina, lâorigine oĂč ses clĂ©s sont publiĂ©es.Signature-Inputcouvre le composant@authorityde la requĂȘte (votre hĂŽte) et lâen-tĂȘteSignature-Agent. Letagestweb-bot-auth.- Chaque signature est valide pendant 60 secondes, de
createdĂexpires. keyidest 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 :
- Vérifiez que
Signature-Agentvaut"https://api.dvina.ai"et queSignature-Inputcontienttag="web-bot-auth". - VĂ©rifiez que lâheure actuelle se situe entre
createdetexpires. - RĂ©cupĂ©rez le rĂ©pertoire de clĂ©s et sĂ©lectionnez la clĂ© dont lâempreinte JWK correspond Ă
keyid. - Construisez la base de signature Ă partir de
@authority, designature-agentet des paramÚtres de signature, comme le décrit la RFC 9421, puis vérifiez laSignatureavec 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_botavec 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.