# Dvina sin nettleseragent

> Slik kan nettstedseiere gjenkjenne, verifisere, tillate eller blokkere nettleseren Dvina bruker for personene den jobber for.

Nettleseren til Dvina besøker nettsteder for én person om gangen, når personen ber Dvina om noe som krever en ekte nettleser. Denne siden er for nettstedseiere: hva nettleseren gjør, hvordan du gjenkjenner forespørslene fra den, og hvordan du tillater eller blokkerer den.

## Hva det er

Dvina er en personlig assistent. Når noen som er logget inn i Dvina, ber om en oppgave som krever et nettsted, for eksempel å sammenligne tilbud eller fylle ut et skjema de har bedt om, kan Dvina gjøre det i sin egen nettleser på personens Dvina-datamaskin. Det er Chromium for skrivebordet med et vindu, ikke en nettleser uten grafisk grensesnitt. Personen kan følge med i sanntid og ta over når som helst.

- **Den handler på vegne av én person.** Hver nettleser tilhører én innlogget Dvina-bruker og jobber med det personen har bedt om.
- **Den er ikke en søkerobot.** Den har ingen liste over nettsteder den besøker på egen hånd. Den åpner sidene en oppgave krever, ett trinn om gangen: Den laster inn en side, leser den og handler deretter på den, slik en person gjør.
- **Brukes aldri til å trene modeller.** Det nettleseren til Dvina leser på nettstedet ditt, brukes bare til forespørselen fra personen den jobber for. Det brukes aldri til å trene en KI-modell.
- **Den lar personen ta sine egne beslutninger.** Den skriver ikke inn passord eller kortopplysninger. Når en side krever at personen logger inn eller betaler, stopper Dvina og ber personen om å ta over. Personopplysninger, sending, betaling og sletting venter på personens godkjenning.
- **Den løser ikke kontroller som bekrefter at brukeren er et menneske.** Når den møter en kontroll som sjekker at det er en person som bruker nettleseren, som kontrollen til Cloudflare, Turnstile, reCAPTCHA eller hCaptcha, klikker den ikke på den, løser den ikke og laster den ikke inn på nytt. Når en kontroll fullføres av seg selv, venter Dvina på den. Når kontrollen blir stående, stopper arbeidet, og personen tar over nettleseren, gjennomfører kontrollen og gir nettleseren tilbake.

## Gjenkjenn forespørslene fra nettleseren

Nettleseren til Dvina signerer hver http- og https-forespørsel den sender, med [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/), HTTP-meldingssignaturer ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) med en Ed25519-nøkkel. Hver forespørsel har tre headere:

```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` angir Dvina, opprinnelsen der nøklene publiseres.
- `Signature-Input` dekker forespørselens `@authority` (verten din) og headeren `Signature-Agent`. `tag` er `web-bot-auth`.
- Hver signatur er gyldig i 60 sekunder, fra `created` til `expires`.
- `keyid` er nøkkelens JWK-fingeravtrykk ([RFC 7638](https://www.rfc-editor.org/rfc/rfc7638)).

Nettleseren sender Chromium sin egen user agent, den samme som enhver Chromium-nettleser på Linux, for eksempel:

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

Chrome-versjonen følger oppdateringene til Chromium, og user agent-strengen sier ingenting om Dvina. Gjenkjenn Dvina ved hjelp av signaturen, ikke user agent-strengen.

> [!NOTE]
> Med skrivebordsappen kan en person også la Dvina bruke en nettleser på sin egen datamaskin. Den nettleseren signerer ikke forespørslene sine og ser ut som personens egen nettleserbruk.

## Verifiser en signatur

Dvina publiserer den offentlige nøkkelen sin i nøkkelkatalogen:

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

Katalogen svarer med `Content-Type: application/http-message-signatures-directory+json` og et JSON Web Key Set med den offentlige Ed25519-nøkkelen til Dvina. Svaret er signert med samme nøkkel, med `tag="http-message-signatures-directory"`.

Hvis nettstedet ditt bruker Cloudflare, verifiserer Cloudflare signerte agenter for deg. Slik verifiserer du en forespørsel selv:

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.

Hvem som helst kan sende disse headerne. Behandle en forespørsel som en forespørsel fra Dvina bare når signaturen kan verifiseres mot nøkkelkatalogen til Dvina.

## Tillat eller blokker nettleseren

Dvinas nettleser handler i sanntid på vegne av én person. Denne typen trafikk dekkes av Cloudflares **Agent**-forhåndsinnstilling. Hvis nettstedet ditt bruker Cloudflare:

- **Retningslinjer for KI-roboter:** I **Sikkerhetsinnstillinger** velger du **Konfigurer retningslinjer for KI-roboter**. For **Agent** velger du **Tillat (ikke blokker)**, **Blokker på sider med annonser** eller **Blokker (på alle sider)**.
- **Egendefinerte WAF-regler:** Forespørsler fra verifiserte roboter og signerte agenter har `cf.client.bot` (`cf.bot_management.verified_bot` med Bot Management) satt til true. Bruk dette i en egendefinert regel for å la dem passere, utfordre dem eller blokkere dem.
- **Katalog over verifiserte roboter:** Se agentene Cloudflare verifiserer, i [Cloudflare Radar](https://radar.cloudflare.com/verified-bots).

På andre plattformer verifiserer du signaturen som beskrevet ovenfor. Deretter tillater eller blokkerer du forespørsler der den verifiserte `Signature-Agent` er `"https://api.dvina.ai"`.

## Kontakt oss

Har du spørsmål om Dvinas nettleser på nettstedet ditt, eller om en forespørsel som ikke oppførte seg som beskrevet på denne siden? Send en e-post til [support@dvina.ai](mailto:support@dvina.ai) med adressen til nettstedet ditt og, hvis du har dem, tidspunktet og `keyid` for forespørslene.

## Relatert

- [Datamaskinbruk](/docs/use-dvina/features/computer-use)
- [Personvern og data](/docs/help/privacy-and-data)
