Håndhæv agentregler
Håndhævelse er trin 2 i SilentShields AI-agentkontrol: I stedet for kun at registrere AI-agenters besøg anvender din server eller edge aktivt din politik pr. nøgle — hver agent tillades, begrænses eller blokeres. Den bygger direkte oven på observationstilstanden. Enforcement-komponenterne (Next.js-middleware, sidecar-binær, Cloudflare Worker) leveres i øjeblikket på forespørgsel i early access — kontakt [email protected].
Observér først, håndhæv derefter
Vores klare anbefaling: Slå observationen til først, lad den køre en uge eller to, og gennemgå rapporten, før du blokerer noget — samme trinvise udrulning som Wordfences læringstilstand eller DMARC (none → quarantine → reject). Kun rapporten viser, hvilke AI-tjenester der faktisk besøger dit websted, og hvad en blokering ville koste dig, fx citater i AI-søgning. At håndhæve uden det billede er at beslutte i blinde.
Sådan fungerer håndhævelsen
Alle enforcere deler samme kontrakt: De henter et policy-bundle for din API-nøgle, verificerer bundlets Ed25519-signatur mod SilentShields pinnede offentlige nøgler og beslutter derefter lokalt — tillad, afvis eller begræns — uden et eneste kald på anmodningsstien.
De pinnede signeringsnøgler henter du én gang fra https://api.silentshield.io/.well-known/silentshield-agent-keys. Og hver enforcer arbejder fail-open: Ved enhver fejl — netværk, signatur, udløbet bundle — slippes anmodningen igennem. Håndhævelsen kan aldrig lægge dit websted ned.
Opsætningsvarianter
Next.js (Edge-middleware)
Den samme Next.js-adapter, der observerer, kan også håndhæve. Sæt policy-miljøvariablerne; middlewaren anvender derefter din politik ved edgen:
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)
Én lille sidecar-binær betjener alle tre proxyer: Proxyen spørger den én gang pr. anmodning via forward auth. Start den med din site-nøgle og de betroede nøgler:
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-sidecarSidecaren svarer på GET /auth med 204 (tillad), 403 (afvis) eller 429 plus Retry-After (begræns). Sådan kobler du den på din proxy:
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 ...
}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
}http:
middlewares:
silentshield:
forwardAuth:
address: "http://agent-sidecar:8127/auth"
authRequestHeaders:
- "User-Agent"
- "Signature"
- "Signature-Input"
- "Signature-Agent"Cloudflare Worker
Cloudflare Worker-enforceren verificerer policy-bundlet med Web Crypto Ed25519 og blokerer, før anmodninger overhovedet når din origin:
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Ærlige grænser
Agentiske browsere på private IP-adresser (Comet, ChatGPT Atlas og lignende) kan teknisk ikke skelnes fra menneskelige besøgende. Intet produkt kan identificere dem pålideligt — SilentShield giver derfor bevidst intet håndhævelsesløfte for denne kategori.
robots.txt og udsendte content-signaler er vejledende: Velopdragne crawlere følger dem, men intet tvinger dem til det. Teknisk håndhævelse sker kun i enforcerne på denne side — og selv de handler konservativt og afviser kun entydigt identificerede kendte agenter, så legitime besøgende aldrig blokeres.
Konfigurer din politik
Hvad hver agent må, konfigurerer du pr. API-nøgle i agent-hubben: API-nøgler → vælg en nøgle → Agent. Forudindstillinger dækker de almindelige tilfælde; hver ændring bliver til et nyt signeret bundle, som dine enforcere automatisk henter.