Späť na panel

Dokumentácia

Naučte sa používať Asyntai

Access Tags

Obmedzte znalostné položky na oprávnených návštevníkov — vynucované na našich serveroch, nie umelou inteligenciou

Prejsť na Access Tags
Enterprise

Prehľad

Nie každý obsah je pre všetkých: dokumenty len pre členov, materiály pre konkrétny región, zdroje platených úrovní. S Access Tags obslúži jediný chatbot rôzne publiká bezpečne. Položke pridáte tag a od tej chvíle je neviditeľná pre každého návštevníka — okrem tých, ktorých stránka tento tag predloží, podpísaný vaším vlastným serverom. Obmedzenie sa vynucuje v našom vyhľadávacom dopyte skôr, než sa model AI vôbec zapojí. Návštevník bez tagu obsah šikovnými otázkami nevytiahne, pretože preň nikdy nebol načítaný.

Ako to funguje

  1. Znalostné položky tagujete vy - na stránke Access Tags alebo priamo cez API; položky bez tagov fungujú ďalej pre všetkých
  2. Váš server podpisuje tagy každého návštevníka - keď si prihlásený člen načíta vašu stránku, váš back-end určí jeho oprávnenia a podpíše ich tajným kľúčom, ktorý máte len vy
  3. Widget odošle podpísané poverenie - putuje s každou správou v chate; prehliadač ho iba prenáša a nemôže ho zmeniť bez toho, aby rozbil podpis
  4. My overíme a filtrujeme - platný podpis odomkne položky so zodpovedajúcimi tagmi; chýbajúce, pozmenené alebo expirované poverenie znamená, že návštevník dostane len verejný obsah

Nastavenie

Zapnite funkciu na stránke Access Tags vo svojej nástenke — podpisový kľúč sa vám vygeneruje. Uchovávajte ho len na svojom serveri; ktokoľvek ho má, môže vytvárať platné poverenia.

Obsah otagujte buď na tej istej stránke, alebo pri odosielaní položiek cez API:

POST /api/v1/knowledge/text/
{
  "title": "Members-only price list",
  "content": "...",
  "website_id": "123",
  "access_tags": ["premium"]
}

Potom nechajte svoj server vypísať podpísané poverenie vedľa snippetu widgetu. Podpisuje sa zoznam tagov oddelených čiarkami, spojený zvislou čiarou s časom expirácie, ak ho používate:

<?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>

Ten istý podpis v Node.js a Pythone:

// 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()

Bez času expirácie podpíšte len samotný reťazec tagov. S ním prestane poverenie fungovať v okamihu vypršania — hodí sa, keď možno oprávnenia odobrať, pretože návštevník si musí znova načítať stránku pod vašou kontrolou, aby dostal čerstvé poverenie.

Čo je zaručené

  • Vynucovanie na strane servera - filter beží vnútri nášho databázového dopytu pri vyhľadávaní; pre neoprávnených návštevníkov otagované položky v kontexte AI vôbec nie sú, takže nemá čo uniknúť
  • Všade fail-closed - žiadny podpis, zlý podpis, expirované poverenie, vypnutá funkcia, znížený plán: v každom z týchto prípadov dostane návštevník len verejný obsah, nikdy viac
  • Prehliadač prístup nesfalšuje - úprava tagov vo vývojárskych nástrojoch rozbije podpis; kľúč má len váš server
  • Vaša logika oprávnení zostáva vaša - nikdy sa nedozvieme, ako rozhodujete, kto dostane ktorý tag; overujeme len, že to váš server potvrdil

Dobré vedieť

  • Access Tags je autorizácia, User Context personalizácia - cez User Context povedzte AI, kto člen je; cez Access Tags riaďte, z akých znalostí smie AI čerpať
  • Prechádzaný obsah webu je vždy verejný - pochádza z vášho verejného webu, takže niet čo obmedzovať; tagy platia pre textové, súborové a API položky
  • Návštevníkovi stačí jediný zodpovedajúci tag - položka s dvoma tagmi je dostupná návštevníkovi, ktorý nesie ktorýkoľvek z nich
  • Nový kľúč zneplatní všetky staré poverenia - urobte to, ak kľúč mohol uniknúť, a potom upravte stránky, aby podpisovali novým
  • Názvy tagov sú na vás - až 20 na položku, každý 50 znakov, bez čiarok a zvislých čiar; v chate viditeľnom návštevníkom sa nikdy neobjavia

Dopĺňa sa s User Context: jedna funkcia riadi, aké znalosti smie AI pre tohto návštevníka použiť, druhá AI hovorí, kto návštevník je.

Kontext používateľa Odovzdajte údaje prihláseného používateľa vášmu AI chatbotovi pre personalizované konverzácie

Poznámka: Access Tags je súčasťou zmluvy Enterprise. Napíšte na [email protected] a všetko vám vysvetlíme.