Agenti AI che non si presentano: perché i log non bastano

Agenti AI che non si presentano: perché i log non bastano

Un agente con un browser suo lascia nei log la stessa riga di una persona. Cosa provano i log, cosa cambiano le firme, e cosa c'entra il GDPR.

Lo diciamo subito: PSentry non sa quale agente AI ha letto il tuo sito ieri. Misura che cosa rispondono quattro assistenti quando qualcuno fa loro una domanda, non chi ha scaricato quale pagina. E i log del server, che sembrano il posto naturale per colmare il vuoto, hanno un limite che vale la pena conoscere prima di aprirli: registrano quello che il visitatore dichiara di essere. Un agente AI che non si presenta lascia nei log la stessa riga di una persona davanti al browser.

Nel pezzo su come riconoscere un crawler AI nei log del server abbiamo parlato dei bot che si annunciano. Qui parliamo degli altri, e di cosa si può dire su di loro senza inventare.

Agenti AI nei log del server: tre modi di arrivare

Un agente AI, in questo articolo, è un software che naviga per conto di una persona: apre pagine, le legge, a volte clicca o compila un modulo, per portare a termine un compito che qualcuno gli ha dato. Il traffico AI che arriva su un sito ha tre forme, e ognuna lascia una traccia diversa.

  • Il crawler dichiarato. GPTBot, ClaudeBot, OAI-SearchBot, Claude-SearchBot. Nome fisso, documentazione pubblica, indirizzi verificabili. Raccolgono pagine per l'addestramento o per un indice di ricerca, con i loro tempi.
  • Il fetcher attivato da una domanda. ChatGPT-User e Claude-User. Anche questi si dichiarano, ma arrivano perché in quel momento qualcuno ha chiesto qualcosa e l'assistente è andato a leggere una pagina. Nella directory pubblica dei bot di Cloudflare stanno nella categoria Agent, separata da Search e Training.
  • L'agente con un browser suo. Un compito come «trova tre fornitori di valvole inox e chiedi un preventivo al più economico» lo svolge un agente che guida un browser completo, di solito su una macchina remota. Per il tuo server è un browser, perché lo è davvero: esegue JavaScript, carica immagini e fogli di stile, tiene i cookie nella sessione.

I primi due si contano con una certa sicurezza. Il terzo no. Nessuno lo obbliga a scrivere il nome di un servizio AI nello user agent, e lo user agent è comunque una frase che il visitatore scrive su di sé: chiunque può dichiararsi Chrome su Mac, o GPTBot.

Per questo è nata la firma crittografica. Web Bot Auth, proposto da Cloudflare il 15 maggio 2025 sullo standard HTTP Message Signatures (RFC 9421), fa firmare ogni richiesta con una chiave privata; un'intestazione Signature-Agent indica dove l'operatore pubblica le chiavi pubbliche, e il sito può verificare. Il 28 agosto 2025 Cloudflare ha creato la categoria dei signed agents, e ChatGPT agent era nel primo gruppo. Dal 1° luglio 2026 la documentazione di Cloudflare li colloca dentro i bot verificati, distinguendo fra accesso diretto (un solo operatore) e intermediario (un servizio guidato da molti utenti finali).

La firma però ha tre limiti. È volontaria: chi non firma resta indistinguibile da un browser. Dice quale piattaforma ha fatto la richiesta, non chi ha dato l'istruzione né perché. E il formato di log standard di Apache e nginx non la registra: se non aggiungi l'intestazione al formato, la prova si perde all'arrivo.

Il caso Perplexity, entro quello che dicono le fonti

L'esempio pubblico più chiaro di quanto sia difficile attribuire una visita è del 4 agosto 2025. Cloudflare ha pubblicato un post in cui afferma che, dopo aver bloccato PerplexityBot e Perplexity-User su alcuni siti di prova, ha osservato richieste da un crawler non dichiarato che si presentava come Chrome su macOS, da indirizzi IP fuori dagli intervalli pubblicati da Perplexity. Nello stesso post Cloudflare scrive di aver tolto Perplexity dall'elenco dei bot verificati. Nella stessa prova, riferisce, ChatGPT-User ha letto il robots.txt e si è fermato dove era vietato.

Perplexity ha risposto pubblicamente contestando la ricostruzione: sostiene che un assistente che legge una pagina perché un utente l'ha chiesto non è un crawler, e che Cloudflare le ha attribuito traffico di un servizio di browser in cloud di terze parti. Al 20 ottobre 2026 né PerplexityBot né Perplexity-User compaiono nella directory pubblica dei bot di Cloudflare.

Non abbiamo dati per dire chi ha ragione e non ci proviamo. La lezione è un'altra: due aziende con molto più traffico di qualsiasi sito singolo non sono riuscite a mettersi d'accordo su di chi fossero quelle richieste. Una riga che dice Chrome e arriva da un data center, nel tuo access log, non risolverà la questione meglio di loro. Attribuire traffico non firmato è un giudizio, non una misura.

Hosting condiviso e GDPR: i log che hai davvero

Prima di qualsiasi analisi c'è una domanda più terra terra: quali log hai. Molte PMI italiane hanno il sito su un hosting condiviso, dove il pannello mostra statistiche già aggregate e i log grezzi vanno attivati o scaricati a mano, e restano disponibili per poco tempo. Se non li hai mai salvati, non c'è niente da analizzare.

Poi c'è il GDPR. Gli indirizzi IP nei log sono dati personali: la Corte di giustizia dell'Unione europea lo ha riconosciuto, a certe condizioni, anche per gli IP dinamici nella sentenza Breyer del 2016. Conservarli richiede una base giuridica e un periodo di conservazione indicato nell'informativa privacy. Molti siti, per prudenza, li tengono pochi giorni o li troncano. È una scelta corretta, ma ha una conseguenza pratica: un IP troncato non si può più confrontare con gli intervalli pubblicati da OpenAI o Google. Se vuoi distinguere i bot verificati, la verifica va fatta prima del troncamento, e a quel punto basta conservare l'esito («verificato» o no) invece dell'indirizzo.

Cosa resta da contare

I log non diventano inutili. Diventano precisi su una cosa più piccola.

  • Conta come bot solo i bot verificati, confrontando lo user agent con gli intervalli pubblicati o con il reverse DNS. Quelli non verificati vanno in una riga a parte.
  • Registra le firme. In nginx ogni intestazione è disponibile come variabile: $http_signature_agent si aggiunge a un log_format personalizzato, e da quel giorno gli agenti firmati diventano contabili.
  • Chiama «sconosciuto» ciò che è sconosciuto. Richieste da browser in arrivo da reti cloud che leggono una pagina e se ne vanno sono una categoria, non un'identità.
  • Tieni separate visite e visibilità. Un assistente può rispondere sui tuoi prodotti dal proprio indice o da un motore di ricerca senza visitare il sito in quel momento.

È qui che le due misure si incontrano. I log dicono chi è venuto a leggere, non che cosa l'assistente ha poi detto al buyer, in quale lingua, e se il tuo nome c'era. Questa seconda domanda è quella che misura PSentry: le risposte di ChatGPT, Claude, Gemini e Perplexity alle domande dei tuoi clienti, due volte al mese, per lingua e mercato. Non vede le visite; i tuoi log non vedono le risposte. E se pensi di regolare tutto con il robots.txt, ricorda che lo leggono solo i bot che si dichiarano: ne parliamo in Crawler AI e llms.txt.

Fonti e contenuti · Vedi tutti →