Módulo 4 · Curso O4AI
Controle de acesso: regras de IA, Content Signals e Web Bot Auth
Ser encontrado não basta: o site precisa dizer o que cada tipo de bot pode fazer com o conteúdo e, cada vez mais, saber com certeza quem está do outro lado. Este módulo cobre as três camadas de controle: regras por user-agent, preferências de uso com Content Signals e identidade criptográfica com Web Bot Auth.
Neste módulo
Aula 1
Os crawlers de IA e suas finalidades
Cada grande empresa de IA publica a lista dos seus robôs e a finalidade de cada um. Conhecer essa lista é o pré-requisito para escrever regras que fazem sentido. A tabela abaixo reúne os principais, agrupados pela finalidade que você estudou no módulo 1.
| Empresa | Treino | Busca / indexação | Ação a pedido do usuário |
|---|---|---|---|
| OpenAI | GPTBot | OAI-SearchBot | ChatGPT-User |
| Anthropic | ClaudeBot | Claude-SearchBot | Claude-User |
| Perplexity | — | PerplexityBot | Perplexity-User |
Google-Extended (token de controle, não um robô separado) | Googlebot | Consulte a lista oficial de fetchers do Google | |
| Apple | Applebot-Extended (token de controle) | Applebot | — |
| Common Crawl | CCBot | — | — |
| Meta | Meta-ExternalAgent | — | Meta-ExternalFetcher |
Dois detalhes importam. Primeiro, Google-Extended e Applebot-Extended não fazem requisições próprias: são nomes que você usa no robots.txt para dizer se o conteúdo já coletado pelo robô de busca pode ser usado em IA. Bloquear o Googlebot para evitar IA tiraria o site da busca. Segundo, os robôs "a pedido do usuário" muitas vezes não seguem o robots.txt da mesma forma, porque a requisição é equiparada à de um navegador; leia a política de cada empresa.
Mantenha a lista viva
Os nomes mudam e surgem novos todo trimestre. Use as páginas oficiais de cada empresa e, se usar Cloudflare, a lista de bots verificados do AI Crawl Control, em vez de copiar listas de blogs.
Fontes desta aula: OpenAI: crawlers · Anthropic: como bloquear os crawlers · Google: common crawlers
Aula 2
Regras por user-agent no robots.txt
A checagem "Regras de Crawler de IA" verifica se o robots.txt tem grupos específicos para robôs de IA. No relatório de exemplo deste curso, o site passou com ressalva: o scanner verificou 20 user-agents de IA, não encontrou nenhum grupo específico e concluiu que "regras genéricas se aplicam a todos". Isso não é erro, mas mostra que o site nunca tomou uma decisão explícita.
robots.txt com política por finalidade
# Busca e citação: liberado
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
# Ações a pedido do usuário: liberado, exceto áreas privadas
User-agent: ChatGPT-User
User-agent: Claude-User
User-agent: Perplexity-User
Allow: /
Disallow: /minha-conta/
# Treino: bloqueado
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: Meta-ExternalAgent
Disallow: /
# Todos os outros
User-agent: *
Allow: /
Disallow: /admin/
Sitemap: https://exemplo.com.br/sitemap.xmlNote que vários User-agent seguidos formam um único grupo, como permite a RFC 9309. Lembre também que um robô que casa com um grupo específico ignora o grupo *. Se o grupo de ChatGPT-User não repetir o Disallow: /admin/, esse robô fica liberado para a área administrativa.
Qual política escolher
| Perfil do site | Treino | Busca de IA | Agentes do usuário |
|---|---|---|---|
| Loja, SaaS, serviço local | Indiferente ou liberado | Liberado | Liberado |
| Portal de notícias com assinatura | Bloqueado ou licenciado | Liberado com cuidado | Liberado com paywall |
| Documentação técnica | Liberado (ajuda o modelo a conhecer o produto) | Liberado | Liberado |
| Conteúdo autoral premium | Bloqueado | Avaliar | Avaliar |
Fontes desta aula: RFC 9309 · Cloudflare AI Crawl Control
Aula 3
Content Signals: search, ai-input e ai-train
O robots.txt diz se um robô pode buscar uma página, mas não diz o que ele pode fazer com o conteúdo depois. O mesmo crawler pode usar uma página para indexar, para responder a uma pergunta e para treinar. Content Signals, proposta pela Cloudflare em setembro de 2025 e publicada em contentsignals.org, acrescenta ao robots.txt uma linha que declara essas preferências separadamente.
Content Signals no robots.txt
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /| Sinal | Significado | Exemplo de uso |
|---|---|---|
search | Montar um índice de busca e mostrar links e trechos | Resultados de busca tradicionais |
ai-input | Usar o conteúdo como entrada para gerar uma resposta (RAG, grounding) | Resposta de assistente que cita a página |
ai-train | Usar o conteúdo para treinar ou ajustar modelos | Coleta para pré-treino |
Os valores são yes ou no. Um sinal omitido significa que você não expressou preferência. A Cloudflare publica a linha por padrão no robots.txt gerenciado de muitos clientes, o que explica parte dos 4% de adoção medidos em abril de 2026. No relatório de exemplo, a falha "No Content-Signal directives found" é exatamente o próximo passo sugerido para subir de nível.
O que é e o que não é
Content Signals é uma declaração de preferência, sem mecanismo técnico de imposição. O efeito vem de dois lados: empresas que se comprometem a respeitar os sinais e o valor jurídico de uma reserva expressa, por exemplo na exceção de mineração de texto e dados da diretiva europeia de direitos autorais. Não é aconselhamento jurídico, mas é uma forma clara de registrar a sua posição.
O cenário de padronização
Content Signals não é o único esforço. O grupo de trabalho aipref da IETF desenvolve um vocabulário de preferências de uso por IA e uma forma de anexá-lo ao robots.txt e a cabeçalhos HTTP, com nomes de categoria diferentes. A IAB Tech Lab tem propostas próprias para editores. Na prática, publicar Content Signals hoje e acompanhar o aipref é a combinação mais segura: a linha é pequena e fácil de trocar.
Fontes desta aula: contentsignals.org · IETF aipref: documentos
Aula 4
Web Bot Auth: bots que provam quem são
Todas as regras anteriores dependem de o robô dizer a verdade no User-Agent. Qualquer script pode se apresentar como Claude-User. As empresas publicam faixas de IP para verificação, mas listas de IP são frágeis: mudam, são compartilhadas por provedores de nuvem e não funcionam para agentes que rodam em infraestrutura de terceiros.
Web Bot Auth resolve isso com criptografia. O bot assina cada requisição com uma chave privada, usando HTTP Message Signatures (RFC 9421), e publica a chave pública num endereço conhecido do próprio domínio. O site verifica a assinatura e passa a saber, com certeza, que a requisição veio daquele operador. A proposta começou com rascunhos de Thibault Meunier (Cloudflare) e Sandor Major (Google) e, em 2026, ganhou um grupo de trabalho próprio na IETF, o webbotauth.
Como é uma requisição assinada
Requisição de um bot com Web Bot Auth (valores ilustrativos)
GET /produtos/plano-pro HTTP/1.1
Host: exemplo.com.br
Signature-Agent: sig1="https://agente.exemplo-ia.com"
Signature-Input: sig1=("@authority" "signature-agent";key="sig1");\
created=1762830000;expires=1762833600;\
keyid="poqkLGiymh_W0uP6PZFw-dvez3QJT5SolqXBCW38r0U";\
tag="web-bot-auth"
Signature: sig1=:jdq0SqOwHdyHr9+r5jw3iYZH6aNGKijYp/EstF4RQTQ=:Signature-Agent: cabeçalho de dicionário que diz onde está o diretório de chaves do bot (por padrão, um domínio HTTPS).Signature-Input: quais partes da requisição foram assinadas (no mínimo@authorityou@target-uri), quando a assinatura foi criada e quando expira, okeyid(impressão digital da chave) e a etiquetatag="web-bot-auth".Signature: a assinatura em si.
O diretório de chaves
O operador do bot publica as chaves públicas em /.well-known/http-message-signatures-directory, com o tipo application/http-message-signatures-directory+json, no formato JWKS. As chaves Ed25519 são as mais comuns.
/.well-known/http-message-signatures-directory
{
"keys": [{
"kty": "OKP",
"crv": "Ed25519",
"kid": "NFcWBst6DXG-N35nHdzMrioWntdzNZghQSkjHNMMSjw",
"x": "JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs",
"use": "sig"
}]
}O que isso significa para o seu site
Na checagem de prontidão, o scanner procura esse diretório no seu domínio e trata a ausência como informativa: o item só é relevante se o seu site também opera bots ou agentes que fazem requisições a terceiros. Para a maioria dos sites, o lado que importa é o de verificar assinaturas recebidas. Quem usa Cloudflare já tem isso na lista de bots verificados; em servidor próprio, há bibliotecas de verificação de HTTP Message Signatures em várias linguagens.
Com bots verificados, as regras deixam de depender da palavra do visitante. Você pode, por exemplo, liberar uma API de preços apenas para agentes assinados, aplicar limites de taxa diferentes ou cobrar o acesso com os protocolos do módulo 7.
Fontes desta aula: IETF webbotauth · Rascunho: HTTP Message Signatures Directory · RFC 9421: HTTP Message Signatures · Cloudflare: Web Bot Auth
Erros comuns
- Bloquear o Googlebot para evitar IA. Use
Google-Extended, que controla o uso em IA sem afetar a busca. - Grupos específicos sem as regras gerais. Um robô que casa com um grupo próprio não herda o
*. - Content-Signal fora de um grupo. A linha deve ficar dentro de um grupo
User-agent. - Confiar só no user-agent para liberar recursos sensíveis. Exija assinatura verificada ou autenticação.
- Bloquear agentes de usuários em lojas. É o mesmo que fechar a porta para um cliente que mandou alguém comprar por ele.
Aplicação prática: escreva sua política de IA
- Decida, por escrito, a posição do negócio para treino, busca de IA e agentes de usuários.
- Traduza a decisão em grupos no robots.txt, repetindo as restrições gerais em cada grupo.
- Adicione
Content-Signalao grupo*com os três sinais explícitos. - Nos logs do servidor ou do CDN, liste os user-agents de IA que visitaram o site no último mês e quantos deles chegaram com assinatura Web Bot Auth.
Siglas e termos deste módulo
- RAG:
- Retrieval-Augmented Generation, geração de respostas a partir de documentos buscados.
- aipref:
- Grupo de trabalho da IETF sobre preferências de uso de conteúdo por IA.
- JWKS:
- JSON Web Key Set, conjunto de chaves públicas em JSON (RFC 7517).
- Ed25519:
- Algoritmo de assinatura digital de curva elíptica, rápido e com chaves curtas.
- TDM:
- Text and Data Mining, mineração de texto e dados.