# L'agente browser di Dvina

> Come riconoscere, verificare, consentire o bloccare il browser che Dvina usa per le persone che assiste, se gestisci un sito web.

Il browser di Dvina visita i siti web per una persona alla volta, quando questa chiede a Dvina qualcosa che richiede un vero browser. Questa pagina è rivolta a chi gestisce un sito web: spiega cosa fa il browser, come riconoscere le sue richieste e come consentirne o bloccarne l'accesso.

## Cos'è

Dvina è un assistente personale. Quando una persona che ha effettuato l'accesso a Dvina chiede di svolgere un'attività che richiede un sito web, come confrontare offerte o compilare un modulo su sua richiesta, Dvina può farlo nel proprio browser, sul computer Dvina di quella persona. È un browser Chromium desktop con una finestra, non un browser headless, e la persona può seguirne l'attività in tempo reale e prenderne il controllo in qualsiasi momento.

- **Agisce per una sola persona.** Ogni browser appartiene a un solo utente che ha effettuato l'accesso a Dvina e lavora su ciò che quella persona ha richiesto.
- **Non è un crawler.** Non ha un elenco di siti da visitare autonomamente. Apre le pagine necessarie per un'attività, un passo alla volta: carica una pagina, la legge e poi interagisce con essa, come farebbe una persona.
- **Non viene mai usato per addestrare modelli.** Ciò che il browser di Dvina legge sul tuo sito viene usato solo per la richiesta della persona che assiste. Non viene mai usato per addestrare un modello di IA.
- **Lascia alla persona le decisioni che le spettano.** Non digita password o dati delle carte di pagamento. Quando una pagina richiede alla persona di accedere o pagare, Dvina si ferma e le chiede di prendere il controllo. L'inserimento di dati personali, gli invii, i pagamenti e le eliminazioni attendono la sua conferma.
- **Non supera le verifiche che richiedono una persona.** Quando incontra un controllo che verifica che a navigare sia una persona, come il controllo di Cloudflare, Turnstile, reCAPTCHA o hCaptcha, non fa clic sul controllo, non lo risolve e non lo ricarica. Se il controllo si completa da solo, Dvina attende. Se invece rimane, l'attività si interrompe e la persona prende il controllo del browser, supera la verifica e lo restituisce a Dvina.

## Riconosci le sue richieste

Il browser di Dvina firma ogni richiesta http e https che invia usando [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/), con firme dei messaggi HTTP ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) e una chiave Ed25519. Ogni richiesta include tre intestazioni:

```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` identifica Dvina, l'origine in cui sono pubblicate le sue chiavi.
- `Signature-Input` include nella firma il valore `@authority` della richiesta (il tuo host) e l'intestazione `Signature-Agent`. Il valore di `tag` è `web-bot-auth`.
- Ogni firma è valida per 60 secondi, da `created` a `expires`.
- `keyid` è l'impronta JWK della chiave ([RFC 7638](https://www.rfc-editor.org/rfc/rfc7638)).

Il browser invia lo user agent di Chromium, uguale a quello di qualsiasi browser Chromium su Linux, per esempio:

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

La versione di Chrome cambia con gli aggiornamenti di Chromium e lo user agent non contiene alcun riferimento a Dvina. Riconosci Dvina dalla firma, non dallo user agent.

> [!NOTE]
> Con l'app desktop, una persona può anche consentire a Dvina di usare un browser sul proprio computer. Quel browser non firma le richieste e appare come la normale navigazione della persona.

## Verifica una firma

Dvina pubblica la propria chiave pubblica nella sua directory delle chiavi:

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

La directory risponde con `Content-Type: application/http-message-signatures-directory+json` e un JSON Web Key Set contenente la chiave pubblica Ed25519 di Dvina. La risposta è firmata con la stessa chiave, con `tag="http-message-signatures-directory"`.

Se il tuo sito usa Cloudflare, Cloudflare verifica per te gli agenti che firmano le richieste. Per verificare una richiesta autonomamente:

1. Controlla che `Signature-Agent` sia `"https://api.dvina.ai"` e che `Signature-Input` contenga `tag="web-bot-auth"`.
2. Controlla che l'ora attuale sia compresa tra `created` e `expires`.
3. Recupera la directory delle chiavi e scegli la chiave la cui impronta JWK corrisponde a `keyid`.
4. Costruisci la base della firma a partire da `@authority`, `signature-agent` e dai parametri della firma, come descritto in RFC 9421, e verifica `Signature` con quella chiave Ed25519.

Chiunque può inviare queste intestazioni. Considera una richiesta come proveniente da Dvina solo se la firma risulta valida dopo la verifica con la directory delle chiavi di Dvina.

## Consenti o blocca l'accesso

Il browser di Dvina agisce in tempo reale per una singola persona: è il tipo di traffico coperto dalla categoria **Agent** di Cloudflare. Se il tuo sito usa Cloudflare:

- **Criteri per i bot IA:** In **Impostazioni di sicurezza**, scegli **Configura i criteri per i bot IA**. Per **Agent**, scegli **Consenti (non bloccare)**, **Blocca sulle pagine con annunci** o **Blocca (su tutte le pagine)**.
- **Regole WAF personalizzate:** Nelle richieste provenienti da bot verificati e agenti con firma, `cf.client.bot` (`cf.bot_management.verified_bot` con Bot Management) è impostato su true. Usa questo campo in una regola personalizzata per escludere queste richieste dai controlli, sottoporle a una verifica o bloccarle.
- **Elenco dei bot verificati:** Consulta gli agenti verificati da Cloudflare su [Cloudflare Radar](https://radar.cloudflare.com/verified-bots).

Negli altri casi, verifica la firma come descritto sopra, poi consenti o blocca le richieste il cui `Signature-Agent` verificato è `"https://api.dvina.ai"`.

## Contattaci

Hai domande sul browser di Dvina sul tuo sito, o vuoi segnalare una richiesta che non si è comportata come descritto in questa pagina? Scrivi a [support@dvina.ai](mailto:support@dvina.ai) indicando l'indirizzo del tuo sito e, se li hai, l'orario e il `keyid` delle richieste.

## Pagine correlate

- [Uso del computer](/docs/use-dvina/features/computer-use)
- [Privacy e dati](/docs/help/privacy-and-data)
