Обратно към таблото

Документация

Научете как да използвате Asyntai

Функции
Сканиране на уебсайт Пропуски в знанията Продуктови карти Динамични продуктови карти Dynamic Images Потребителски контекст Персонализирани инструменти Параметри на връзки Наблюдение на живо Поемане от човек Ескалация ИИ известия Дневен отчет Поток от данни в реално време Максимален поток от данни в реално време Членове на екипа Единичен вход (SSO) Двуфакторна автентикация Включване на изображения Визуално разпознаване на изображения Приспособление за превод Локализация Прозрачност на ИИ Потенциални клиенти Интелигентно събиране на контакти Тикети за поддръжка Резервации Вграждания Изключване на страници Блокирани IP адреси Политика за съхранение Режим нулево съхранение Маскиране на PII Класификатор на отговорите Access Tags Фиксиране на версията на приспособлението Одиторски дневник По-умен модел Активиране на мислене Предложения за отговор Последващи съобщения Реч към текст Изтегляне на стенограма Вграден чат

Access Tags

Ограничете елементи от базата знания до упълномощени посетители — прилага се на нашите сървъри, не от ИИ

Към Access Tags
Корпоративен

Преглед

Не всяко съдържание е за всички: документи само за членове, материали за конкретен регион, ресурси от платени нива. С Access Tags един чатбот обслужва различни аудитории безопасно. Слагате таг на елемент от базата знания и от този момент елементът е невидим за всеки посетител — освен за онези, чиято страница представя този таг, подписан от вашия собствен сървър. Ограничението се прилага в нашата заявка за извличане, преди моделът на ИИ изобщо да участва. Посетител без тага не може да измъкне съдържанието с хитри въпроси, защото за него то никога не е било извличано.

Как работи

  1. Вие слагате тагове на елементите - на страницата Access Tags или директно през API; елементите без тагове продължават да работят за всички
  2. Вашият сървър подписва таговете на всеки посетител - когато влязъл член зареди страницата ви, вашият бекенд определя правата му и ги подписва с таен ключ, който притежавате само вие
  3. Уиджетът изпраща подписаното удостоверение - то пътува с всяко съобщение в чата; браузърът само го пренася и не може да го промени, без да счупи подписа
  4. Ние проверяваме и филтрираме - валиден подпис отключва елементите със съвпадащи тагове; липсващо, подправено или изтекло удостоверение означава, че посетителят получава само публично съдържание

Настройване

Включете функцията на страницата Access Tags в таблото си — ключ за подписване се генерира автоматично. Пазете го само на своя сървър; всеки, който го има, може да създава валидни удостоверения.

Тагвайте съдържанието на същата страница или при изпращане на елементи през API:

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

След това накарайте сървъра си да изведе подписаното удостоверение до снипета на уиджета. Подписва се списъкът тагове, разделени със запетаи, свързан с вертикална черта с времето на изтичане, когато използвате такова:

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

Същият подпис на Node.js и 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()

Без срок на валидност подписвайте само самия низ с тагове. Със срок удостоверението спира да работи в момента на изтичането му — полезно, когато правата могат да бъдат отнети, защото посетителят трябва да презареди страница под ваш контрол, за да получи ново удостоверение.

Какво е гарантирано

  • Прилагане от страна на сървъра - филтърът работи вътре в нашата заявка към базата данни при извличане; за неупълномощени посетители елементите с тагове липсват от контекста на ИИ, така че няма какво да изтече
  • Fail-closed навсякъде - без подпис, грешен подпис, изтекло удостоверение, изключена функция, понижен план: във всеки от тези случаи посетителят получава само публично съдържание, никога повече
  • Браузърът не може да фалшифицира достъп - редактирането на таговете в инструментите за разработчици чупи подписа; само вашият сървър притежава ключа
  • Вашата логика за права остава ваша - никога не научаваме как решавате кой какъв таг получава; проверяваме само, че вашият сървър го е потвърдил

Добре е да знаете

  • Access Tags е упълномощаване, User Context е персонализация - използвайте User Context, за да разкажете на ИИ за члена; използвайте Access Tags, за да контролирате от какви знания може да черпи ИИ
  • Обходеното съдържание на сайта винаги е публично - то идва от публичния ви сайт, така че няма какво да се ограничава; таговете важат за текстови, файлови и API елементи
  • На посетителя му стига един съвпадащ таг - елемент с два тага е достъпен за посетител, който носи който и да е от тях
  • Повторното генериране на ключа прави невалидни всички стари удостоверения - направете го, ако ключът може да е изтекъл, и после обновете страниците си да подписват с новия
  • Имената на таговете са ваш избор - до 20 на елемент, по 50 знака, без запетаи и вертикални черти; те никога не се появяват в чата, който посетителите виждат

Съчетава се с User Context: едната функция контролира какви знания може да ползва ИИ за този посетител, другата казва на ИИ кой е посетителят.

Потребителски контекст Предавайте данни за влезлия потребител на вашия ИИ чатбот за персонализирани разговори

Забележка: Access Tags е част от споразумение Enterprise. Пишете на [email protected] и ще ви обясним всичко.