Agentregels afdwingen
Afdwingen is fase 2 van SilentShields AI-agentcontrole: in plaats van AI-agentbezoeken alleen te registreren, past uw server of edge uw beleid per sleutel actief toe — elke agent wordt toegestaan, beperkt of geblokkeerd. Het bouwt direct voort op de observatiemodus. De enforcement-componenten (Next.js-middleware, sidecar-binary, Cloudflare Worker) zijn momenteel op aanvraag beschikbaar in early access — neem contact op via [email protected].
Eerst observeren, dan afdwingen
Onze duidelijke aanbeveling: schakel eerst de observatie in, laat die een tot twee weken draaien en bekijk het rapport voordat u iets blokkeert — dezelfde gefaseerde aanpak als de leermodus van Wordfence of een DMARC-rollout (none → quarantine → reject). Pas het rapport laat zien welke AI-diensten uw site daadwerkelijk bezoeken en wat een blokkade u zou kosten, bijvoorbeeld citaties in AI-zoekresultaten. Afdwingen zonder dat beeld is blind beslissen.
Zo werkt het afdwingen
Elke enforcer deelt hetzelfde contract: hij haalt een policy-bundle op voor uw API-sleutel, verifieert de Ed25519-handtekening van de bundle tegen SilentShields gepinde publieke sleutels en beslist vervolgens lokaal — toestaan, weigeren of beperken — zonder één aanroep in het antwoordpad.
De gepinde signeersleutels haalt u eenmalig op van https://api.silentshield.io/.well-known/silentshield-agent-keys. En elke enforcer werkt fail-open: bij elke fout — netwerk, handtekening, verlopen bundle — wordt het verzoek doorgelaten. Het afdwingen kan uw site nooit platleggen.
Installatievarianten
Next.js (Edge-middleware)
Dezelfde Next.js-adapter die observeert, kan ook afdwingen. Stel de policy-omgevingsvariabelen in; de middleware past uw beleid dan toe aan de edge:
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)
Eén klein sidecar-binary bedient alle drie de proxy's: de proxy vraagt het via forward auth één keer per verzoek. Start het met uw site-sleutel en de vertrouwde sleutels:
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-sidecarHet sidecar antwoordt op GET /auth met 204 (toestaan), 403 (weigeren) of 429 plus Retry-After (beperken). Zo koppelt u het aan uw 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
De Cloudflare Worker-enforcer verifieert de policy-bundle met Web Crypto Ed25519 en blokkeert voordat verzoeken uw origin überhaupt bereiken:
cd enforcers/cloudflare-worker
npx wrangler secret put AGENT_SITE_KEY
# set AGENT_POLICY_URL + AGENT_TRUSTED_KEYS in wrangler.toml [vars]
npx wrangler deployEerlijke grenzen
Agentische browsers op residentiële IP-adressen (Comet, ChatGPT Atlas en vergelijkbare) zijn technisch niet te onderscheiden van menselijke bezoekers. Geen enkel product kan ze betrouwbaar identificeren — SilentShield doet voor deze categorie daarom bewust geen afdwingbelofte.
robots.txt en uitgestuurde content-signalen zijn adviserend: nette crawlers houden zich eraan, maar niets dwingt ze daartoe. Technische afdwinging gebeurt alleen in de enforcers op deze pagina — en zelfs die handelen conservatief en weigeren alleen eenduidig geïdentificeerde bekende agents, zodat legitieme bezoekers nooit worden geblokkeerd.
Uw beleid configureren
Welke agent wat mag, configureert u per API-sleutel in de agent-hub: API-sleutels → sleutel selecteren → Agent. Voorinstellingen dekken de gangbare gevallen af; elke wijziging wordt een nieuw ondertekende bundle die uw enforcers automatisch overnemen.