Applica le regole agenti

L'applicazione è il livello 2 del Controllo agenti IA di SilentShield: invece di registrare soltanto le visite degli agenti IA, il tuo server o la tua edge applica attivamente i criteri della tua chiave — ogni agente viene consentito, limitato o bloccato. Si basa direttamente sulla modalità di osservazione. I componenti di enforcement (middleware Next.js, binario sidecar, Cloudflare Worker) sono attualmente forniti su richiesta in early access — contatta [email protected].

Prima osserva, poi applica

Il nostro consiglio è chiaro: attiva prima l'osservazione, lasciala girare per una o due settimane e guarda il report prima di bloccare qualcosa — lo stesso approccio graduale del learning mode di Wordfence o di un rollout DMARC (none → quarantine → reject). Solo il report mostra quali servizi IA visitano davvero il tuo sito e cosa ti costerebbe un blocco, ad esempio le citazioni nella ricerca IA. Applicare senza questo quadro significa decidere alla cieca.

Come funziona l'applicazione

Ogni enforcer condivide lo stesso contratto: recupera un policy bundle per la tua chiave API, verifica la firma Ed25519 del bundle rispetto alle chiavi pubbliche fissate di SilentShield e poi decide localmente — consentire, rifiutare o limitare — senza alcuna chiamata sul percorso della richiesta.

Le chiavi di firma fissate le recuperi una sola volta da https://api.silentshield.io/.well-known/silentshield-agent-keys. E ogni enforcer funziona fail-open: in caso di qualsiasi errore — rete, firma, bundle scaduto — la richiesta viene lasciata passare. L'applicazione non può mai mettere fuori uso il tuo sito.

Varianti di setup

Next.js (Edge Middleware)

Lo stesso adattatore Next.js che osserva può anche applicare le regole. Imposta le variabili d'ambiente della policy; la middleware applica quindi i tuoi criteri alla 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>"}]

Reverse proxy (nginx / Caddy / Traefik)

Un unico, minuscolo binario sidecar serve tutti e tre i proxy: il proxy lo interroga una volta per richiesta tramite forward auth. Avvialo con la tua site key e le chiavi attendibili:

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

Il sidecar risponde su GET /auth con 204 (consenti), 403 (rifiuta) o 429 più Retry-After (limita). Collegalo così al tuo 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

L'enforcer per Cloudflare Worker verifica il policy bundle con Web Crypto Ed25519 e blocca prima ancora che le richieste raggiungano il tuo origin:

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

Limiti onesti

I browser agentici su indirizzi IP residenziali (Comet, ChatGPT Atlas e simili) sono tecnicamente indistinguibili dai visitatori umani. Nessun prodotto può identificarli in modo affidabile — per questa categoria SilentShield rinuncia quindi deliberatamente a qualsiasi promessa di applicazione.

robots.txt e i content signal emessi sono indicazioni: i crawler ben educati li rispettano, ma nulla li obbliga. L'applicazione tecnica avviene solo negli enforcer di questa pagina — e anche loro agiscono in modo conservativo, rifiutando soltanto agenti noti identificati con certezza, così i visitatori legittimi non vengono mai bloccati.

Configura i tuoi criteri

Cosa può fare ciascun agente si configura per ogni chiave API nell'hub agenti: Chiavi API → seleziona una chiave → Agente. Le preimpostazioni coprono i casi più comuni; ogni modifica diventa un bundle firmato di nuovo che i tuoi enforcer recuperano automaticamente.

Apri l'hub agenti →