Vynucování pravidel agentů
Vynucování je úroveň 2 kontroly AI agentů od SilentShield: místo pouhého zaznamenávání návštěv AI agentů váš server nebo edge aktivně uplatňuje vaše zásady pro daný klíč — každý agent je povolen, omezen, nebo blokován. Vynucování přímo navazuje na režim sledování. Komponenty vynucování (Next.js middleware, sidecar binárka, Cloudflare Worker) jsou momentálně k dispozici na vyžádání v rámci early access — kontaktujte [email protected].
Nejprve sledovat, potom vynucovat
Naše jednoznačné doporučení: nejprve zapněte sledování, nechte je běžet týden až dva a prohlédněte si přehled, než cokoli zablokujete — stejný postupný rozjezd jako režim učení ve Wordfence nebo rollout DMARC (none → quarantine → reject). Teprve přehled ukáže, které AI služby váš web skutečně navštěvují a co by vás blokování stálo, například citace v AI vyhledávání. Vynucovat bez tohoto obrazu znamená rozhodovat naslepo.
Jak vynucování funguje
Všechny enforcery sdílejí stejný kontrakt: stáhnou balíček zásad (policy bundle) pro váš API klíč, ověří jeho podpis Ed25519 proti připnutým veřejným klíčům SilentShield a poté rozhodují lokálně — povolit, odmítnout, nebo omezit — bez jediného volání na cestě požadavku.
Připnuté podpisové klíče stáhnete jednorázově z https://api.silentshield.io/.well-known/silentshield-agent-keys. A každý enforcer funguje fail-open: při jakékoli chybě — síť, podpis, prošlý balíček — je požadavek propuštěn. Vynucování nikdy nemůže váš web vyřadit z provozu.
Varianty nastavení
Next.js (Edge Middleware)
Stejný Next.js adaptér, který sleduje, umí i vynucovat. Nastavte proměnné prostředí pro zásady; middleware pak vaše zásady uplatní přímo na 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>"}]Reverzní proxy (nginx / Caddy / Traefik)
Jediná malá sidecar binárka obslouží všechny tři proxy: proxy se jí přes forward auth zeptá jednou na každý požadavek. Spusťte ji s klíčem svého webu a důvěryhodnými klíči:
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-sidecarSidecar odpovídá na GET /auth stavem 204 (povolit), 403 (odmítnout) nebo 429 s Retry-After (omezit). Takto jej napojíte na svou 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
Enforcer pro Cloudflare Worker ověřuje balíček zásad pomocí Web Crypto Ed25519 a blokuje dřív, než požadavky vůbec dorazí na váš 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 deployUpřímně o limitech
Agentní prohlížeče na rezidenčních IP adresách (Comet, ChatGPT Atlas a podobné) jsou technicky nerozeznatelné od lidských návštěvníků. Žádný produkt je nedokáže spolehlivě identifikovat — SilentShield proto pro tuto kategorii záměrně nedává žádný slib vynucování.
robots.txt a vydávané content signály jsou doporučení: slušné crawlery je respektují, ale nic je k tomu nenutí. Technické vynucování probíhá pouze v enforcerech na této stránce — a i ty postupují konzervativně a odmítají jen jednoznačně identifikované známé agenty, aby legitimní návštěvníci nebyli nikdy blokováni.
Nastavte své zásady
Co který agent smí, nastavujete pro každý API klíč v hubu agentů: API klíče → vybrat klíč → Agent. Předvolby pokrývají běžné případy; každá změna se stane nově podepsaným balíčkem, který vaše enforcery automaticky převezmou.