Dashboard'a Dön

Belgeler

Asyntai'yi nasıl kullanacağınızı öğrenin

Access Tags

Bilgi öğelerini yetkili ziyaretçilerle sınırlayın — yapay zekâ tarafından değil, sunucularımızda uygulanır

Access Tags sayfasına git
Kurumsal

Genel Bakış

Her içerik herkes için değildir: yalnızca üyelere özel belgeler, bölgeye özgü materyaller, ücretli seviyelerin kaynakları. Access Tags ile tek bir chatbot farklı kitlelere güvenle hizmet eder. Bir bilgi öğesine etiket koyarsınız ve o andan itibaren öğe her ziyaretçi için görünmezdir — sayfası bu etiketi, kendi sunucunuz tarafından imzalanmış olarak sunanlar hariç. Kısıtlama, yapay zekâ modeli daha devreye girmeden, bizim getirme sorgumuzda uygulanır. Etiketi olmayan bir ziyaretçi içeriği kurnaz sorularla çekemez, çünkü onun için hiç getirilmemiştir.

Nasıl Çalışır

  1. Bilgi öğelerini siz etiketlersiniz - Access Tags sayfasında veya doğrudan API ile; etiketsiz öğeler herkes için çalışmaya devam eder
  2. Sunucunuz her ziyaretçinin etiketlerini imzalar - oturum açmış bir üye sayfanızı yüklediğinde, arka ucunuz haklarını belirler ve yalnızca sizde olan gizli bir anahtarla imzalar
  3. Widget imzalı kanıtı gönderir - her sohbet mesajıyla birlikte gider; tarayıcı onu yalnızca taşır ve imzayı bozmadan değiştiremez
  4. Biz doğrular ve filtreleriz - geçerli bir imza, eşleşen etiketli öğelerin kilidini açar; eksik, kurcalanmış veya süresi dolmuş bir kanıt, ziyaretçinin yalnızca herkese açık içerik alması demektir

Nasıl ayarlanır

Özelliği panelinizdeki Access Tags sayfasından açın — imzalama anahtarı otomatik oluşturulur. Yalnızca sunucunuzda saklayın; elinde olan herkes geçerli kanıtlar üretebilir.

İçeriğinizi aynı sayfada veya öğeleri API ile gönderirken etiketleyin:

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

Ardından sunucunuz imzalı kanıtı widget snippet'inin yanına yazdırsın. İmzalanacak mesaj, virgülle ayrılmış etiket listesidir; bir tane kullanıyorsanız dikey çizgiyle sona erme zamanına bağlanır:

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

Aynı imza Node.js ve Python'da:

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

Süre olmadan yalnızca etiket dizesini imzalayın. Süreyle, kanıt süresi geçtiği anda çalışmayı durdurur — haklar geri alınabildiğinde faydalıdır, çünkü ziyaretçi taze bir kanıt almak için sizin kontrolünüzdeki bir sayfayı yeniden yüklemek zorundadır.

Etiket mantığı

Bir öğenin etiketleri VE ile birleşir: öğe yalnızca üzerindeki her etiket ziyaretçinin kanıtında bulunduğunda alınabilir. Bir ziyaretçinin kanıtı istediğiniz kadar yetki taşıyabilir ve eşleştirme hepsinde aynı anda yapılır.

Öğe etiketleri Ziyaretçi kanıtı Sonuç
(none)herhangi biriGörünür — etiketsiz öğeler herkese açıktır
northnorth, premiumGörünür
north, premiumnorthGizli — kanıtta premium eksik
north, premiumnorth, premium, extraGörünür — fazladan yetkiler sorun değil

VE bilinçli bir tercih. «En az biri» eşleşmesinde bir öğeye ikinci etiket eklemek onu görebilecek kitleyi genişletirdi; yani bir belgeyi iki gruba daraltmak aslında onu her ikisine de bütünüyle yayımlardı. «Hepsi» eşleşmesinde eklediğiniz her etiket yalnızca daha da kısıtlayabilir, böylece hata güvenli yöne düşer.

«Herhangi biri» nasıl ifade edilir

Bu boyutu öğeden çıkarın. Her ziyaretçinin kanıtı bölgesini taşıyorsa, bölge etiketi olmayan bir belge tüm bölgeler için kullanılabilir, diğer etiketleri ise geçerli kalır. Yalnızca premium etiketli bir öğe böylece «her bölge, sadece premium aboneler» anlamına gelir.

Boyutlar arası gerçek bir seçim için — diyelim kuzey-temel ya da güney-premium, başka hiçbir şey — öğeyi her biri bir kombinasyon olacak şekilde iki kez ekleyin veya her iki kitleye sunucunuzun kanıtlarına dahil ettiği ortak bir etiket verin.

Sınırlar

  • Bilgi öğesi başına en fazla 20 etiket
  • Tek bir ziyaretçinin kanıtında en fazla 50 etiket
  • Etiket başına 50 karakter; kanıt virgülle ayrılmış bir dizi olduğundan virgül ve dikey çizgiye izin verilmez

Etiketleri sonradan değiştirme

Etiketler mevcut bir öğede, öğeyi yeniden yüklemeden değiştirilebilir. Değişiklik bir sonraki sorudan itibaren geçerlidir — içeriğin kendisi yeniden işlenmez.

POST /api/v1/knowledge/<id>/tags/
{
  "access_tags": ["premium"]
}

Bir öğeyi tekrar herkese açık yapmak için boş liste gönderin. Etiketleri panelinizdeki Access Tags sayfasından elle de düzenleyebilirsiniz.

Neler garanti edilir

  • Sunucu tarafında uygulama - filtre, getirme sırasında veritabanı sorgumuzun içinde çalışır; yetkisiz ziyaretçiler için etiketli öğeler yapay zekânın bağlamında hiç yer almaz, dolayısıyla sızacak bir şey yoktur
  • Her yerde fail-closed - imza yok, yanlış imza, süresi dolmuş kanıt, kapalı özellik, düşürülmüş plan: bu durumların her birinde ziyaretçi yalnızca herkese açık içerik alır, asla fazlasını değil
  • Tarayıcı erişimi taklit edemez - geliştirici araçlarında etiketleri düzenlemek imzayı bozar; anahtar yalnızca sizin sunucunuzdadır
  • Hak mantığınız sizde kalır - kimin hangi etiketi aldığına nasıl karar verdiğinizi asla öğrenmeyiz; yalnızca sunucunuzun bunu onayladığını doğrularız

Bilmekte fayda var

  • Access Tags yetkilendirmedir, User Context kişiselleştirmedir - üyeyi yapay zekâya anlatmak için User Context kullanın; yapay zekânın hangi bilgiden yararlanabileceğini Access Tags ile yönetin
  • Taranan site içeriği her zaman herkese açıktır - herkese açık sitenizden gelir, dolayısıyla kısıtlanacak bir şey yoktur; etiketler metin, dosya ve API öğeleri için geçerlidir
  • Bir öğenin etiketleri VE ile birleşir - yukarıdaki Etiket mantığına bakın; öğenin her etiketi ziyaretçinin kanıtında bulunmalıdır
  • Anahtarı yeniden oluşturmak tüm eski kanıtları geçersiz kılar - anahtar sızmış olabilirse bunu yapın, sonra sayfalarınızı yenisiyle imzalayacak şekilde güncelleyin
  • Etiket adları size kalmış - öğe başına en fazla 20, her biri 50 karakter, virgül ve dikey çizgi olmadan; ziyaretçilerin gördüğü sohbette asla görünmezler

User Context ile birlikte çalışır: biri yapay zekânın bu ziyaretçi için hangi bilgiyi kullanabileceğini kontrol eder, diğeri yapay zekâya ziyaretçinin kim olduğunu söyler.

Kullanıcı Bağlamı Kişiselleştirilmiş görüşmeler için oturum açmış kullanıcı verilerini AI chatbot'unuza aktarın

Not: Access Tags bir Enterprise anlaşmasının parçasıdır. [email protected] adresine yazın, her şeyi anlatalım.