De browser van Dvina bezoekt websites voor één persoon tegelijk, wanneer die persoon Dvina vraagt om iets waarvoor een echte browser nodig is. Deze pagina is voor website-eigenaren: wat de browser doet, hoe je de verzoeken herkent en hoe je de browser toestaat of blokkeert.
Wat het is
Dvina is een persoonlijke assistent. Wanneer iemand die bij Dvina is ingelogd een taak geeft waarvoor een website nodig is, zoals aanbiedingen vergelijken of een formulier invullen op verzoek van die persoon, kan Dvina dat doen in een eigen browser op de Dvina-computer van die persoon. Het is een desktopversie van Chromium met een venster, geen headless browser. De persoon kan live meekijken en de browser op elk moment overnemen.
- De browser werkt voor één persoon. Elke browser hoort bij één ingelogde Dvina-gebruiker en werkt aan wat die persoon heeft gevraagd.
- Het is geen crawler. Er is geen lijst met sites die de browser uit zichzelf bezoekt. De browser opent de pagina's die nodig zijn voor een taak, stap voor stap: een pagina laden, lezen en er vervolgens iets op doen, zoals een persoon dat doet.
- Nooit gebruikt om modellen te trainen. Wat de browser van Dvina op je site leest, wordt alleen gebruikt voor het verzoek van de persoon voor wie de browser werkt. Het wordt nooit gebruikt om een AI-model te trainen.
- De browser laat persoonlijke beslissingen aan de persoon zelf over. De browser voert geen wachtwoorden of kaartgegevens in. Als iemand op een pagina moet inloggen of betalen, stopt Dvina en vraagt het die persoon om de browser over te nemen. Persoonlijke gegevens, verzenden, betalen en verwijderen wachten op toestemming van die persoon.
- De browser lost geen controles op die nagaan of de bezoeker een mens is. Bij een controle die nagaat of een persoon de browser gebruikt, zoals de controle van Cloudflare, Turnstile, reCAPTCHA of hCaptcha, klikt de browser die niet aan, lost die niet op en laadt die niet opnieuw. Als een controle vanzelf wordt afgerond, wacht Dvina daarop. Als de controle blijft staan, stopt het werk en neemt de persoon de browser over, doorloopt de controle en geeft de browser weer terug.
Herken de verzoeken
De browser van Dvina ondertekent elk http- en https-verzoek dat wordt verzonden met Web Bot Auth: HTTP-berichthandtekeningen (RFC 9421) met een Ed25519-sleutel. Elk verzoek bevat drie headers:
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-Agentidentificeert Dvina en geeft de origin aan waar de sleutels worden gepubliceerd.Signature-Inputomvat de@authorityvan het verzoek (je host) en de headerSignature-Agent. Detagisweb-bot-auth.- Elke handtekening is 60 seconden geldig, van
createdtotexpires. keyidis de JWK-thumbprint van de sleutel (RFC 7638).
De browser verstuurt de eigen user agent van Chromium, dezelfde als die van elke Chromium-browser op Linux, bijvoorbeeld:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36
De Chrome-versie verandert mee met de updates van Chromium en de user agent vermeldt niets over Dvina. Herken Dvina aan de handtekening, niet aan de user agent.
Opmerking
Met de desktopapp kan iemand Dvina ook een browser op de eigen computer laten gebruiken. Die browser ondertekent de verzoeken niet en ziet eruit als het eigen browsergebruik van die persoon.
Verifieer een handtekening
Dvina publiceert de openbare sleutel in de sleuteldirectory:
https://api.dvina.ai/.well-known/http-message-signatures-directory
De directory antwoordt met Content-Type: application/http-message-signatures-directory+json en een JSON Web Key Set met de openbare Ed25519-sleutel van Dvina. Het antwoord is ondertekend met dezelfde sleutel, met tag="http-message-signatures-directory".
Als je site Cloudflare gebruikt, verifieert Cloudflare ondertekende agents voor je. Zo verifieer je zelf een verzoek:
- Controleer of
Signature-Agent"https://api.dvina.ai"is en ofSignature-Inputtag="web-bot-auth"bevat. - Controleer of de huidige tijd tussen
createdenexpiresligt. - Haal de sleuteldirectory op en kies de sleutel waarvan de JWK-thumbprint overeenkomt met
keyid. - Stel de handtekeningbasis samen uit
@authority,signature-agenten de handtekeningparameters, zoals beschreven in RFC 9421, en verifieer deSignaturemet die Ed25519-sleutel.
Iedereen kan deze headers versturen. Beschouw een verzoek alleen als afkomstig van Dvina als de handtekening geldig blijkt bij verificatie met de sleuteldirectory van Dvina.
Sta de browser toe of blokkeer deze
De browser van Dvina handelt in realtime namens één persoon: het soort verkeer waarvoor de voorinstelling Agent van Cloudflare bedoeld is. Als je site Cloudflare gebruikt:
- Beleid voor AI-bots: Kies in Security Settings voor Configure AI bot policies. Kies bij Agent voor Allow (do not block), Block on pages with ads of Block (on all pages).
- Aangepaste WAF-regels: Bij verzoeken van geverifieerde bots en ondertekende agents staat
cf.client.bot(cf.bot_management.verified_botmet Bot Management) op true. Gebruik dit veld in een aangepaste regel om ze over te slaan, een challenge te laten doorlopen of te blokkeren. - Overzicht van geverifieerde bots: Bekijk de agents die Cloudflare verifieert in Cloudflare Radar.
Anywhere else, verify the signature as described above, then allow or block requests whose verified Signature-Agent is "https://api.dvina.ai".
Neem contact met ons op
Heb je vragen over de browser van Dvina op je site, of over een verzoek dat zich anders gedroeg dan op deze pagina beschreven? Mail naar support@dvina.ai met het adres van je site en, als je die hebt, het tijdstip en de keyid van de verzoeken.