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:

.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>"}]

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:

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

Sidecar odpovídá na GET /auth stavem 204 (povolit), 403 (odmítnout) nebo 429 s Retry-After (omezit). Takto jej napojíte na svou 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

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:

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

Upří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.

Otevřít hub agentů →