Access Tags
Begræns videnselementer til autoriserede besøgende — håndhævet på vores servere, ikke af AI'en
Oversigt
Ikke alt indhold er for alle: dokumenter kun for medlemmer, regionsspecifikt materiale, ressourcer for betalte niveauer. Med Access Tags betjener én chatbot forskellige målgrupper sikkert. Du sætter et tag på et videnselement, og fra det øjeblik er elementet usynligt for enhver besøgende — undtagen dem, hvis side fremviser det tag, signeret af din egen server. Begrænsningen håndhæves i vores søgeforespørgsel, før AI-modellen overhovedet er involveret. En besøgende uden tagget kan ikke trække indholdet ud med snedige spørgsmål, for for dem blev det aldrig hentet.
Sådan fungerer det
- Du tagger videnselementer - på Access Tags-siden eller direkte via API'en; elementer uden tags fungerer stadig for alle
- Din server signerer hver besøgendes tags - når et logget ind medlem indlæser din side, afgør din backend deres rettigheder og signerer dem med en hemmelig nøgle, kun du har
- Widgetten sender det signerede bevis - det rejser med hver chatbesked; browseren transporterer det kun og kan ikke ændre det uden at bryde signaturen
- Vi verificerer og filtrerer - en gyldig signatur låser op for elementer med matchende tags; et manglende, manipuleret eller udløbet bevis betyder, at den besøgende kun får offentligt indhold
Sådan sætter du det op
Slå funktionen til på Access Tags-siden i dit dashboard — en signeringsnøgle genereres automatisk. Opbevar den kun på din server; enhver, der har den, kan lave gyldige beviser.
Tag dit indhold enten på samme side eller når du sender elementer via API'en:
POST /api/v1/knowledge/text/
{
"title": "Members-only price list",
"content": "...",
"website_id": "123",
"access_tags": ["premium"]
}
Lad derefter din server udskrive det signerede bevis ved siden af widget-snippettet. Beskeden, der signeres, er den kommaseparerede tagliste, forbundet med en lodret streg til udløbstiden, når du bruger en:
<?php
$tags = "members,premium"; // this visitor's entitlements
$expires = time() + 3600; // unix seconds, optional but recommended
$sig = hash_hmac("sha256", $tags . "|" . $expires, $SECRET);
?>
<script>
window.Asyntai = window.Asyntai || {};
window.Asyntai.accessTags = "<?php echo $tags; ?>";
window.Asyntai.accessTagsExpires = "<?php echo $expires; ?>";
window.Asyntai.accessTagsSignature = "<?php echo $sig; ?>";
</script>
Den samme signatur i Node.js og Python:
// Node.js
const crypto = require("crypto");
const sig = crypto.createHmac("sha256", SECRET)
.update(tags + "|" + expires).digest("hex");
# Python
import hmac, hashlib
sig = hmac.new(SECRET.encode(), f"{tags}|{expires}".encode(),
hashlib.sha256).hexdigest()
Uden udløb signerer du blot tagstrengen alene. Med udløb holder et bevis op med at virke i det øjeblik, det udløber — nyttigt, når rettigheder kan trækkes tilbage, da den besøgende skal genindlæse en side, du kontrollerer, for at få et frisk bevis.
Hvad der er garanteret
- Server-side håndhævelse - filteret kører inde i vores databaseforespørgsel ved søgning; taggede elementer er fraværende fra AI'ens kontekst for uautoriserede besøgende, så der er intet at lække
- Fail-closed overalt - ingen signatur, forkert signatur, udløbet bevis, slukket funktion, nedgraderet plan: i alle disse tilfælde får den besøgende kun offentligt indhold, aldrig mere
- Browseren kan ikke forfalske adgang - redigering af tags i udviklerværktøjerne bryder signaturen; kun din server har nøglen
- Din rettighedslogik forbliver din - vi lærer aldrig, hvordan du beslutter, hvem der får hvilket tag; vi verificerer kun, at din server har bekræftet det
Godt at vide
- Access Tags er autorisation, User Context er personalisering - brug User Context til at fortælle AI'en om medlemmet; brug Access Tags til at styre, hvilken viden AI'en må trække på
- Crawlet webstedsindhold er altid offentligt - det kommer fra dit offentlige websted, så der er intet at begrænse; tags gælder for tekst-, fil- og API-elementer
- En besøgende behøver kun ét matchende tag - et element med to tags er tilgængeligt for en besøgende, der bærer et af dem
- Regenerering af nøglen ugyldiggør alle gamle beviser - gør det, hvis nøglen kan være lækket, og opdater derefter dine sider til at signere med den nye
- Tagnavne bestemmer du selv - op til 20 pr. element, 50 tegn hver, uden kommaer eller lodrette streger; de vises aldrig i den chat, besøgende ser
Passer sammen med User Context: den ene funktion styrer, hvilken viden AI'en må bruge for denne besøgende, den anden fortæller AI'en, hvem den besøgende er.
Brugerkontekst Send indloggede brugerdata til din AI-chatbot for personaliserede samtalerBemærk: Access Tags er en del af en Enterprise-aftale. Skriv til [email protected], så forklarer vi det hele.