Kembali ke Papan Pemuka

Dokumentasi

Ketahui cara menggunakan Asyntai

Access Tags

Hadkan item pengetahuan kepada pelawat yang diberi kuasa — dikuatkuasakan di pelayan kami, bukan oleh AI

Pergi ke Access Tags
Perusahaan

Gambaran Keseluruhan

Bukan semua kandungan untuk semua orang: dokumen khas ahli, bahan khusus wilayah, sumber peringkat berbayar. Dengan Access Tags, satu chatbot melayani khalayak berbeza dengan selamat. Anda meletakkan tag pada item pengetahuan, dan dari saat itu item tersebut tidak kelihatan kepada setiap pelawat — kecuali mereka yang halamannya mengemukakan tag itu, ditandatangani oleh pelayan anda sendiri. Sekatan dikuatkuasakan dalam pertanyaan capaian kami, sebelum model AI terlibat pun. Pelawat tanpa tag tidak boleh memancing kandungan dengan soalan licik, kerana bagi mereka ia tidak pernah dicapai.

Cara Ia Berfungsi

  1. Anda menandakan item pengetahuan - di halaman Access Tags atau terus melalui API; item tanpa tag terus berfungsi untuk semua
  2. Pelayan anda menandatangani tag setiap pelawat - apabila ahli yang log masuk memuatkan halaman anda, bahagian belakang menentukan haknya dan menandatanganinya dengan kunci rahsia yang hanya anda miliki
  3. Widget menghantar bukti bertandatangan - ia bergerak dengan setiap mesej sembang; pelayar hanya membawanya dan tidak boleh mengubahnya tanpa memecahkan tandatangan
  4. Kami mengesahkan dan menapis - tandatangan sah membuka item dengan tag sepadan; bukti yang hilang, diusik atau tamat tempoh bermakna pelawat hanya mendapat kandungan awam

Cara menyediakannya

Hidupkan ciri di halaman Access Tags dalam papan pemuka — kunci tandatangan dijana secara automatik. Simpan hanya di pelayan anda; sesiapa yang memilikinya boleh membuat bukti yang sah.

Tandakan kandungan anda di halaman yang sama, atau semasa menghantar item melalui API:

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

Kemudian biarkan pelayan anda mencetak bukti bertandatangan di sebelah snippet widget. Mesej yang ditandatangani ialah senarai tag dipisahkan koma, digabungkan dengan garis tegak dengan masa luput apabila anda menggunakannya:

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

Tandatangan yang sama dalam Node.js dan 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()

Tanpa tempoh luput, tandatangani rentetan tag sahaja. Dengannya, bukti berhenti berfungsi sebaik sahaja tamat — berguna apabila hak boleh ditarik balik, kerana pelawat perlu memuat semula halaman yang anda kawal untuk mendapat bukti baharu.

Apa yang dijamin

  • Penguatkuasaan sisi pelayan - penapis berjalan dalam pertanyaan pangkalan data semasa capaian; bagi pelawat tanpa kuasa, item bertag langsung tiada dalam konteks AI, jadi tiada apa yang boleh bocor
  • Fail-closed di mana-mana - tiada tandatangan, tandatangan salah, bukti luput, ciri dimatikan, pelan diturunkan: dalam setiap kes itu pelawat hanya mendapat kandungan awam, tidak pernah lebih
  • Pelayar tidak boleh memalsukan akses - mengedit tag dalam alat pembangun memecahkan tandatangan; kunci hanya ada pada pelayan anda
  • Logik hak anda kekal milik anda - kami tidak pernah tahu bagaimana anda memutuskan siapa mendapat tag apa; kami hanya mengesahkan pelayan anda telah mengakuinya

Baik untuk diketahui

  • Access Tags ialah kebenaran, User Context ialah pemperibadian - gunakan User Context untuk memberitahu AI tentang ahli; gunakan Access Tags untuk mengawal pengetahuan mana yang boleh digunakan AI
  • Kandungan laman yang dirangkak sentiasa awam - ia datang dari laman awam anda, jadi tiada apa yang perlu dihadkan; tag terpakai untuk item teks, fail dan API
  • Pelawat hanya perlukan satu tag yang sepadan - item dengan dua tag tersedia untuk pelawat yang membawa mana-mana satu daripadanya
  • Menjana semula kunci membatalkan semua bukti lama - lakukan jika kunci mungkin bocor, kemudian kemas kini halaman anda untuk menandatangani dengan yang baharu
  • Nama tag terpulang kepada anda - sehingga 20 setiap item, 50 aksara setiap satu, tanpa koma atau garis tegak; ia tidak pernah muncul dalam sembang yang dilihat pelawat

Berpadanan dengan User Context: satu ciri mengawal pengetahuan mana yang boleh digunakan AI untuk pelawat ini, satu lagi memberitahu AI siapa pelawat itu.

Konteks Pengguna Hantar data pengguna yang log masuk ke chatbot AI anda untuk perbualan yang diperibadikan

Nota: Access Tags ialah sebahagian daripada perjanjian Enterprise. Tulis kepada [email protected] dan kami akan menerangkan semuanya.