Um CAPTCHA é uma ideia simples: colocar na frente de um visitante uma tarefa que pessoas conseguem resolver e máquinas não, e deixar passar quem for aprovado. Durante anos, isso foi uma troca razoável. As pessoas perdiam alguns segundos, e a pior automação era desacelerada.
Três coisas mudaram. As máquinas ficaram boas em resolver as tarefas. As pessoas cansaram de resolvê-las. E um novo tipo de visitante chegou: agentes de IA agindo para clientes reais e pessoas trabalhando com assistentes de IA. Um teste que pergunta "você é humano?" não tem uma boa resposta para nenhum dos dois.
Proof of Actor adota uma abordagem diferente. Em vez de testar cada visitante, ele informa à sua aplicação quem ou o que está agindo, com as evidências por trás da conclusão, e deixa seu código decidir se um desafio é necessário ou não.
A versão curta
| CAPTCHA | Proof of Actor | |
|---|---|---|
| Pergunta principal | Este visitante consegue passar em um teste humano? | Quem ou o que está agindo, e qual é a evidência? |
| Quem arca com o custo | Todo visitante que vê o desafio | Ninguém; a classificação acontece em segundo plano |
| Respostas possíveis | Aprovado ou reprovado | Human, Human + AI, Agent ou Unknown, mais uma base |
| Agentes de IA legítimos | Bloqueados, ou forçados a contornar o teste | Reconhecidos, e encaminhados para a experiência certa |
| Pessoas usando assistentes de IA | Tratadas como qualquer outro visitante | Uma classe distinta, Human + AI |
| Tráfego incerto | Precisa passar pelo mesmo teste | Unknown, com um fallback que você escolhe por rota |
| Onde se aplica | As páginas onde você o coloca | Toda rota coberta pela sua integração |
| Comportamento padrão na instalação | Desafio visível | Observação; nada muda até você adicionar uma policy |
Um teste versus evidências
Um CAPTCHA produz um bit de informação: o visitante passou ou falhou. Ele não diz quem era o visitante, se estava trabalhando com um assistente ou quanta confiança você deve ter no resultado. E produz esse bit pedindo que o visitante faça um trabalho.
Proof of Actor produz uma classificação e sua base de evidência. Um resultado Verified significa que uma afirmação verificável foi validada, como uma assinatura de request verificada contra uma chave pública. Um resultado Declared significa que um cliente ou sua própria aplicação o declarou. Um resultado Inferred é rotulado como inferência. Unknown significa que a evidência não sustenta uma determinação. Sua equipe pode ler cada resultado e ver no que ele se apoia, e o visitante nunca precisa fazer nada.
O custo de desafiar todo mundo
Cada desafio é atrito imposto aos seus melhores usuários para desacelerar os piores. Em uma página de cadastro, isso custa conversões. Em um checkout, custa receita. Em termos de acessibilidade, pode excluir pessoas por completo. As equipes aceitam esse custo apenas porque não têm um sinal melhor sobre quem está do outro lado.
Com contexto de ator, a troca muda. Você pode manter a experiência normal para sessões orientadas por humanos, pular o desafio quando a evidência é forte e reservá-lo para o conjunto estreito de casos em que ele ainda agrega valor: por exemplo, um resultado Unknown em uma troca de senha ou em uma ação de alto valor. A maioria dos visitantes nunca mais vê um desafio.
Agentes legítimos precisam de caminho, não de quebra-cabeça
Um CAPTCHA foi construído para bloquear software. Isso fazia sentido quando quase todo software que visitava suas páginas era indesejado. Hoje isso já não faz mais sentido.
Hoje, um assistente pode comparar seus planos para um cliente, um agente pode marcar uma reunião pela sua app, e um cliente de IA pode chamar seu MCP server para concluir uma tarefa. Bloqueá-los bloqueia seus clientes. Forçá-los a passar por páginas e quebra-cabeças feitos para pessoas cria automação frágil, que quebra a cada redesign.
Proof of Actor reconhece agentes e, com requests assinados, pode verificar qual chave e qual operador estão por trás deles. Sua aplicação pode então fazer algo melhor do que um desafio: servir uma API estruturada, oferecer um fluxo amigável para agentes ou aplicar um rate limit dimensionado para automação. O guia sobre servir conteúdo estruturado para agentes de IA mostra como.
Uma identidade verificada não é o mesmo que permissão. Uma assinatura válida diz qual chave assinou o request; se esse agente pode executar uma ação é sua decisão de autorização. Proof of Actor mantém essas duas perguntas separadas.
Pessoas trabalhando com IA continuam sendo seus usuários
Uma pessoa que redige uma mensagem de suporte com um assistente, ou preenche um formulário com ajuda de IA, é um cliente. Um teste humano não tem nada útil a dizer sobre ela: ou passa, ou é bloqueada porque seu comportamento parece incomum.
Proof of Actor dá a ela sua própria classe, Human + AI, reportada quando a assistência é declarada ou observável por meio de uma integração compatível. Isso permite marcar envios redigidos por IA para a equipe certa, estudar como usuários assistidos percorrem seu produto e manter a experiência fluida. Saiba mais na entrada de glossário interação assistida por IA.
Lidando com os casos incertos de forma deliberada
Algum tráfego sempre será incerto. Um CAPTCHA lida com isso do mesmo jeito em todo lugar: todo mundo faz o teste.
Proof of Actor retorna Unknown como um resultado de primeira classe, nunca tratado como humano por padrão e nunca tratado como malicioso por padrão. Você escolhe o fallback por rota, de acordo com o risco:
- Páginas públicas e documentação: allow, e mantenha a experiência padrão.
- Formulários de cadastro e contato: allow, com seus controles usuais de abuso.
- Alterações de conta: mantenha seu fluxo existente de reautenticação.
- Ações de alto impacto: route para review, ou aplique um challenge aqui se ainda quiser um.
É aqui que um desafio ainda pode conquistar seu espaço: como um resultado de policy deliberado em uma rota sensível, não como pedágio para todo visitante.
Onde a decisão fica
Um widget de CAPTCHA decide no momento em que é exibido, na página onde você o colocou, e apenas uma vez.
Com Proof of Actor, sua aplicação decide, em cada rota coberta pela sua integração: middleware de servidor, Next.js, a borda, uma integração de navegador aprovada, uma API HTTP genérica ou seu MCP server. As policies usam a classe de ator e a base em conjunto: allow, adapt, challenge, review ou rate-limit. Elas vivem no seu código, junto do restante da sua lógica de negócio, e você pode mudá-las sem redesenhar uma página.
Colocando em produção
Proof of Actor começa em modo de observação. Instalar não altera nada que seus usuários veem. Um caminho sensato para sair dos desafios abrangentes é este:
- Observe. Mantenha seus desafios atuais e adicione o Proof of Actor. Acompanhe a mistura de atores e a taxa de Unknown em cada rota.
- Compare. Para cada rota com desafio, veja quantos desafios atingem sessões humanas, usuários assistidos por IA e agentes verificados.
- Preview. Escreva uma policy que pule o desafio onde a evidência é forte e o mantenha para Unknown em ações sensíveis. Veja seu efeito sobre tráfego real.
- Enforce. Ative a policy uma rota de cada vez, com fallback documentado e uma opção de rollback.
O guia sobre implementar policies conscientes de ator com segurança cobre cada etapa em detalhes.
Quando um CAPTCHA ainda faz sentido
Desafios continuam sendo uma ferramenta útil em alguns lugares: um pico de tráfego incerto contra uma ação sensível, um formulário sob abuso ativo ou uma rota para a qual você ainda não tem nenhum outro sinal. Proof of Actor não pede que você jogue essa ferramenta fora. Ele dá o contexto para usá-la apenas onde ela ajuda.
Comece
Proof of Actor está em beta privada. Equipes selecionadas do programa Founding Developer podem receber até 12 meses de acesso gratuito dentro dos limites de uso acordados, com suporte direto da equipe que o constrói. Solicite acesso antecipado e nos diga quais rotas você desafia hoje.