Aplicar reglas de agentes

La aplicación es el nivel 2 del control de agentes de IA de SilentShield: en lugar de solo registrar las visitas de agentes de IA, su servidor o su edge aplica activamente su política por clave — cada agente se permite, se limita o se bloquea. Se basa directamente en el modo de observación. Los componentes de aplicación (middleware de Next.js, binario sidecar, Cloudflare Worker) se proporcionan actualmente bajo petición en acceso anticipado — contacta con [email protected].

Primero observar, luego aplicar

Nuestra recomendación clara: active primero la observación, déjela funcionar una o dos semanas y revise el informe antes de bloquear nada — el mismo despliegue por etapas que el modo de aprendizaje de Wordfence o un rollout de DMARC (none → quarantine → reject). Solo el informe muestra qué servicios de IA visitan realmente su sitio y qué le costaría un bloqueo, por ejemplo citas en la búsqueda de IA. Aplicar sin esa imagen es decidir a ciegas.

Cómo funciona la aplicación

Todos los enforcers comparten el mismo contrato: obtienen un bundle de política para su clave API, verifican la firma Ed25519 del bundle contra las claves públicas fijadas de SilentShield y luego deciden localmente — permitir, denegar o limitar — sin ninguna llamada en la ruta de la solicitud.

Las claves de firma fijadas se obtienen una sola vez de https://api.silentshield.io/.well-known/silentshield-agent-keys. Y cada enforcer funciona en modo fail-open: ante cualquier error — red, firma, bundle caducado — la solicitud se deja pasar. La aplicación nunca puede tumbar su sitio.

Variantes de configuración

Next.js (Edge Middleware)

El mismo adaptador de Next.js que observa también puede aplicar. Defina las variables de entorno de la política; el middleware aplicará entonces su política en el edge:

.envbash
AGENT_POLICY_URL=https://api.silentshield.io/api/v1/agent/policy
AGENT_OBSERVE_API_KEY=YOUR_API_KEY
AGENT_TRUSTED_KEYS=[{"kid":"…","key":"<base64 ed25519 pubkey>"}]

Proxy inverso (nginx / Caddy / Traefik)

Un único y diminuto binario sidecar sirve a los tres proxies: el proxy le pregunta una vez por solicitud mediante forward auth. Inícielo con su clave de sitio y las claves de confianza:

Terminalbash
AGENT_POLICY_URL="https://api.silentshield.io/api/v1/agent/policy" \
AGENT_SITE_KEY="YOUR_API_KEY" \
AGENT_TRUSTED_KEYS='[{"kid":"…","key":"<base64 ed25519 pubkey>"}]' \
AGENT_SIDECAR_LISTEN=":8127" \
  ./agent-sidecar

El sidecar responde en GET /auth con 204 (permitir), 403 (denegar) o 429 más Retry-After (limitar). Así se conecta a su proxy:

nginx.confnginx
location = /_ss_auth {
    internal;
    proxy_pass              http://127.0.0.1:8127/auth;
    proxy_pass_request_body off;
    proxy_set_header        Content-Length "";
    proxy_set_header        X-Forwarded-Method $request_method;
    proxy_set_header        X-Forwarded-Uri    $request_uri;
    proxy_set_header        X-Forwarded-Host   $host;
    proxy_set_header        X-Forwarded-For    $remote_addr;
    proxy_set_header        User-Agent         $http_user_agent;
    proxy_set_header        Signature          $http_signature;
    proxy_set_header        Signature-Input    $http_signature_input;
    proxy_set_header        Signature-Agent    $http_signature_agent;
}
location / {
    auth_request /_ss_auth;
    # ... your normal proxy_pass to the origin ...
}
Caddyfilecaddy
example.com {
    forward_auth 127.0.0.1:8127 {
        uri /auth
        copy_headers User-Agent Signature Signature-Input Signature-Agent
        # Caddy sends X-Forwarded-Method/-Uri/-Host automatically
    }
    reverse_proxy origin:8080
}
traefik.ymlyaml
http:
  middlewares:
    silentshield:
      forwardAuth:
        address: "http://agent-sidecar:8127/auth"
        authRequestHeaders:
          - "User-Agent"
          - "Signature"
          - "Signature-Input"
          - "Signature-Agent"

Cloudflare Worker

El enforcer de Cloudflare Worker verifica el bundle de política con Ed25519 de Web Crypto y bloquea antes de que las solicitudes lleguen siquiera a su origen:

Terminalbash
cd enforcers/cloudflare-worker
npx wrangler secret put AGENT_SITE_KEY
# set AGENT_POLICY_URL + AGENT_TRUSTED_KEYS in wrangler.toml [vars]
npx wrangler deploy

Límites honestos

Los navegadores agénticos con direcciones IP residenciales (Comet, ChatGPT Atlas y similares) son técnicamente indistinguibles de los visitantes humanos. Ningún producto puede identificarlos de forma fiable — por eso SilentShield, deliberadamente, no hace ninguna promesa de aplicación para esta categoría.

robots.txt y las señales de contenido emitidas son consultivas: los rastreadores educados las respetan, pero nada los obliga. La aplicación técnica ocurre solo en los enforcers de esta página — e incluso ellos actúan de forma conservadora, denegando únicamente agentes conocidos identificados con certeza, para que los visitantes legítimos nunca sean bloqueados.

Configurar su política

Qué puede hacer cada agente se configura por clave API en el hub de agentes: Claves API → seleccione una clave → Agente. Los preajustes cubren los casos habituales; cada cambio se convierte en un bundle recién firmado que sus enforcers adoptan automáticamente.

Abrir el hub de agentes →