# Der Browser-Agent von Dvina

> So können Website-Betreiber den Browser, mit dem Dvina für einzelne Personen arbeitet, erkennen, verifizieren, zulassen oder blockieren.

Der Browser von Dvina besucht Websites jeweils für eine einzelne Person, wenn diese Dvina um etwas bittet, das einen echten Browser erfordert. Diese Seite richtet sich an Website-Betreiber: Sie erklärt, was der Browser tut, wie du seine Anfragen erkennst und wie du ihn zulassen oder blockieren kannst.

## Was ist das?

Dvina ist ein persönlicher Assistent. Wenn eine bei Dvina angemeldete Person eine Aufgabe anfordert, für die eine Website nötig ist – etwa Angebote zu vergleichen oder ein von ihr gewünschtes Formular auszufüllen –, kann Dvina das in einem eigenen Browser auf dem Dvina-Computer dieser Person erledigen. Es handelt sich um einen Desktop-Chromium mit Fenster, nicht um einen Headless-Browser. Die Person kann live zuschauen und jederzeit die Steuerung übernehmen.

- **Er handelt für eine einzelne Person.** Jeder Browser gehört zu einem angemeldeten Dvina-Nutzer und arbeitet an dessen Auftrag.
- **Er ist kein Crawler.** Es gibt keine Liste von Websites, die er selbstständig besucht. Er öffnet die Seiten, die eine Aufgabe erfordert, Schritt für Schritt: Er lädt eine Seite, liest sie und handelt dann darauf – so, wie es ein Mensch tut.
- **Niemals für das Training von Modellen verwendet.** Was der Browser von Dvina auf deiner Website liest, wird ausschließlich für die Anfrage der Person verwendet, für die er arbeitet. Es wird niemals zum Training eines KI-Modells verwendet.
- **Er überlässt der Person ihre eigenen Entscheidungen.** Er gibt keine Passwörter oder Kartendaten ein. Wenn eine Seite eine Anmeldung oder Zahlung durch die Person erfordert, hält Dvina an und bittet sie, die Steuerung zu übernehmen. Persönliche Angaben, Senden, Bezahlen und Löschen warten auf die Zustimmung der Person.
- **Er löst keine Prüfungen auf menschliche Nutzer.** Wenn er auf eine Prüfung trifft, die feststellen soll, ob ein Mensch den Browser verwendet – etwa die Prüfung von Cloudflare, Turnstile, reCAPTCHA oder hCaptcha –, klickt er sie nicht an, löst sie nicht und lädt sie nicht neu. Wenn eine Prüfung von selbst verschwindet, wartet Dvina darauf. Wenn sie bestehen bleibt, wird die Arbeit unterbrochen. Die Person übernimmt den Browser, besteht die Prüfung und gibt die Steuerung zurück.

## Seine Anfragen erkennen

Der Browser von Dvina signiert jede http- und https-Anfrage, die er sendet, mit [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/): HTTP-Nachrichtensignaturen ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) mit einem Ed25519-Schlüssel. Jede Anfrage enthält drei Header:

```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` gibt Dvina als Origin an, unter der die Schlüssel veröffentlicht werden.
- `Signature-Input` deckt die `@authority` der Anfrage (deinen Host) und den Header `Signature-Agent` ab. Der `tag` ist `web-bot-auth`.
- Jede Signatur ist 60 Sekunden lang gültig, von `created` bis `expires`.
- `keyid` ist der JWK-Thumbprint des Schlüssels ([RFC 7638](https://www.rfc-editor.org/rfc/rfc7638)).

Der Browser sendet den eigenen User-Agent von Chromium, genau wie jeder Chromium unter Linux, zum Beispiel:

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

Seine Chrome-Version ändert sich mit den Updates von Chromium, und der User-Agent gibt keinen Hinweis auf Dvina. Erkenne Dvina anhand der Signatur, nicht anhand des User-Agents.

> [!NOTE]
> Mit der Desktop-App kann eine Person Dvina auch einen Browser auf ihrem eigenen Computer verwenden lassen. Dieser Browser signiert seine Anfragen nicht und ist vom eigenen Surfen der Person nicht zu unterscheiden.

## Eine Signatur verifizieren

Dvina veröffentlicht seinen öffentlichen Schlüssel in seinem Schlüsselverzeichnis:

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

Das Verzeichnis antwortet mit `Content-Type: application/http-message-signatures-directory+json` und einem JSON Web Key Set mit dem öffentlichen Ed25519-Schlüssel von Dvina. Die Antwort ist mit demselben Schlüssel signiert, mit `tag="http-message-signatures-directory"`.

Wenn deine Website Cloudflare nutzt, verifiziert Cloudflare signierte Agenten für dich. So verifizierst du eine Anfrage selbst:

1. Prüfe, ob `Signature-Agent` den Wert `"https://api.dvina.ai"` hat und `Signature-Input` den Eintrag `tag="web-bot-auth"` enthält.
2. Prüfe, ob die aktuelle Zeit zwischen `created` und `expires` liegt.
3. Rufe das Schlüsselverzeichnis ab und wähle den Schlüssel, dessen JWK-Thumbprint mit `keyid` übereinstimmt.
4. Erstelle die Signaturbasis aus `@authority`, `signature-agent` und den Signaturparametern, wie in RFC 9421 beschrieben, und verifiziere die `Signature` mit diesem Ed25519-Schlüssel.

Jeder kann diese Header senden. Behandle eine Anfrage nur dann als Anfrage von Dvina, wenn sich ihre Signatur anhand des Schlüsselverzeichnisses von Dvina verifizieren lässt.

## Zulassen oder blockieren

Der Browser von Dvina handelt in Echtzeit für eine einzelne Person. Diese Art von Datenverkehr fällt unter Cloudflares Voreinstellung **Agent**. Wenn deine Website Cloudflare nutzt:

- **Richtlinien für KI-Bots:** Wähle unter **Sicherheitseinstellungen** die Option **Richtlinien für KI-Bots konfigurieren**. Wähle für **Agent** entweder **Zulassen (nicht blockieren)**, **Auf Seiten mit Werbung blockieren** oder **Blockieren (auf allen Seiten)**.
- **Benutzerdefinierte WAF-Regeln:** Bei Anfragen von verifizierten Bots und signierten Agenten ist `cf.client.bot` (bei Bot Management: `cf.bot_management.verified_bot`) auf true gesetzt. Verwende dieses Feld in einer benutzerdefinierten Regel, um sie von Prüfungen auszunehmen, einer Challenge zu unterziehen oder zu blockieren.
- **Verzeichnis verifizierter Bots:** Die von Cloudflare verifizierten Agenten findest du in [Cloudflare Radar](https://radar.cloudflare.com/verified-bots).

Anywhere else, verify the signature as described above, then allow or block requests whose verified `Signature-Agent` is `"https://api.dvina.ai"`.

## Kontakt

Hast du Fragen zum Browser von Dvina auf deiner Website oder zu einer Anfrage, die sich anders verhalten hat als auf dieser Seite beschrieben? Schreib an [support@dvina.ai](mailto:support@dvina.ai) und gib die Adresse deiner Website sowie, falls vorhanden, den Zeitpunkt und die `keyid` der Anfragen an.

## Weitere Informationen

- [Computer Use](/docs/use-dvina/features/computer-use)
- [Datenschutz und Daten](/docs/help/privacy-and-data)
