Pakota agenttisäännöt
Pakotus on SilentShieldin tekoälyagenttien hallinnan taso 2: sen sijaan, että tekoälyagenttien käynnit vain tallennettaisiin, palvelimesi tai edge soveltaa avainkohtaista käytäntöäsi aktiivisesti — jokainen agentti sallitaan, rajoitetaan tai estetään. Se rakentuu suoraan tarkkailutilan päälle. Enforcement-komponentit (Next.js-middleware, sidecar-binääri, Cloudflare Worker) toimitetaan tällä hetkellä pyynnöstä early access -vaiheessa — ota yhteyttä: [email protected].
Ensin tarkkaile, sitten pakota
Selkeä suosituksemme: ota ensin tarkkailu käyttöön, anna sen pyöriä viikko tai kaksi ja käy raportti läpi ennen kuin estät mitään — sama vaiheittainen eteneminen kuin Wordfencen oppimistilassa tai DMARC-käyttöönotossa (none → quarantine → reject). Vasta raportti näyttää, mitkä tekoälypalvelut todella vierailevat sivustollasi ja mitä esto sinulle maksaisi, esimerkiksi sitaatteja tekoälyhaussa. Pakottaminen ilman tätä kuvaa on sokkona päättämistä.
Näin pakotus toimii
Jokainen enforcer noudattaa samaa sopimusta: se hakee API-avaimellesi policy-bundlen, varmentaa bundlen Ed25519-allekirjoituksen SilentShieldin kiinnitettyjä julkisia avaimia vasten ja päättää sitten paikallisesti — salli, hylkää tai rajoita — ilman yhtäkään kutsua pyyntöpolulla.
Kiinnitetyt allekirjoitusavaimet haet kerran osoitteesta https://api.silentshield.io/.well-known/silentshield-agent-keys. Ja jokainen enforcer toimii fail-open-periaatteella: minkä tahansa virheen sattuessa — verkko, allekirjoitus, vanhentunut bundle — pyyntö päästetään läpi. Pakotus ei voi koskaan kaataa sivustoasi.
Käyttöönottovaihtoehdot
Next.js (Edge Middleware)
Sama Next.js-sovitin, joka tarkkailee, osaa myös pakottaa. Aseta policy-ympäristömuuttujat; middleware soveltaa sitten käytäntöäsi edgessä:
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)
Yksi pieni sidecar-binääri palvelee kaikkia kolmea proxyä: proxy kysyy siltä forward authin kautta kerran pyyntöä kohti. Käynnistä se site-avaimellasi ja luotetuilla avaimilla:
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 vastaa GET /auth -kutsuun koodilla 204 (salli), 403 (hylkää) tai 429 ja Retry-After (rajoita). Kytke se proxyysi näin:
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 -enforcer varmentaa policy-bundlen Web Crypto Ed25519:llä ja estää pyynnöt jo ennen kuin ne saavuttavat originisi:
cd enforcers/cloudflare-worker
npx wrangler secret put AGENT_SITE_KEY
# set AGENT_POLICY_URL + AGENT_TRUSTED_KEYS in wrangler.toml [vars]
npx wrangler deployRehelliset rajat
Agenttiselaimia kotitalouksien IP-osoitteissa (Comet, ChatGPT Atlas ja vastaavat) ei voi teknisesti erottaa ihmiskävijöistä. Mikään tuote ei pysty tunnistamaan niitä luotettavasti — siksi SilentShield ei tietoisesti anna tälle luokalle mitään pakotuslupausta.
robots.txt ja lähetetyt sisältösignaalit ovat suosituksia: hyvin käyttäytyvät indeksoijat noudattavat niitä, mutta mikään ei pakota niitä siihen. Tekninen pakotus tapahtuu vain tämän sivun enforcereissa — ja nekin toimivat varovaisesti ja hylkäävät vain varmasti tunnistetut tunnetut agentit, jotta oikeutettuja kävijöitä ei koskaan estetä.
Määritä käytäntösi
Se, mitä kukin agentti saa tehdä, määritetään API-avainkohtaisesti agenttikeskuksessa: API-avaimet → valitse avain → Agentti. Esiasetukset kattavat yleisimmät tapaukset; jokaisesta muutoksesta syntyy uusi allekirjoitettu bundle, jonka enforcerisi ottavat käyttöön automaattisesti.