Access Tags
Beschränken Sie Wissenseinträge auf autorisierte Besucher — durchgesetzt auf unseren Servern, nicht durch die KI
Übersicht
Nicht alle Inhalte sind für alle bestimmt: Dokumente nur für Mitglieder, regionsspezifisches Material, Ressourcen für zahlende Stufen. Mit Access Tags bedient ein Chatbot verschiedene Zielgruppen sicher. Sie versehen einen Wissenseintrag mit einem Tag, und ab diesem Moment ist der Eintrag für jeden Besucher unsichtbar — außer für jene, deren Seite dieses Tag vorlegt, signiert von Ihrem eigenen Server. Die Beschränkung wird in unserer Abfrage durchgesetzt, bevor das KI-Modell überhaupt beteiligt ist. Ein Besucher ohne das Tag kann den Inhalt nicht durch geschicktes Fragen herauslocken, denn für ihn wurde er gar nicht erst abgerufen.
So funktioniert es
- Sie taggen Wissenseinträge - auf der Access-Tags-Seite oder direkt über die API; Einträge ohne Tags funktionieren weiterhin für alle
- Ihr Server signiert die Tags jedes Besuchers - wenn ein eingeloggtes Mitglied Ihre Seite lädt, bestimmt Ihr Backend seine Berechtigungen und signiert sie mit einem geheimen Schlüssel, den nur Sie besitzen
- Das Widget sendet den signierten Nachweis - er wird mit jeder Chat-Nachricht übertragen; der Browser transportiert ihn nur und kann ihn nicht verändern, ohne die Signatur zu zerstören
- Wir prüfen und filtern - eine gültige Signatur schaltet Einträge mit passenden Tags frei; ein fehlender, manipulierter oder abgelaufener Nachweis bedeutet, dass der Besucher nur öffentliche Inhalte erhält
Einrichtung
Schalten Sie die Funktion auf der Access-Tags-Seite in Ihrem Dashboard ein — ein Signaturschlüssel wird für Sie generiert. Bewahren Sie ihn nur auf Ihrem Server auf; wer ihn besitzt, kann gültige Nachweise erstellen.
Taggen Sie Ihre Inhalte entweder auf derselben Seite oder beim Übertragen von Einträgen über die API:
POST /api/v1/knowledge/text/
{
"title": "Members-only price list",
"content": "...",
"website_id": "123",
"access_tags": ["premium"]
}
Lassen Sie dann Ihren Server den signierten Nachweis neben dem Widget-Snippet ausgeben. Signiert wird die kommagetrennte Tag-Liste, verbunden mit einem senkrechten Strich und der Ablaufzeit, wenn Sie eine verwenden:
<?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>
Dieselbe Signatur in Node.js und 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()
Ohne Ablaufzeit signieren Sie nur die Tag-Zeichenkette selbst. Mit Ablaufzeit funktioniert ein Nachweis ab dem Ablaufmoment nicht mehr — nützlich, wenn Berechtigungen entzogen werden können, denn der Besucher muss eine von Ihnen kontrollierte Seite neu laden, um einen frischen Nachweis zu erhalten.
Was garantiert ist
- Serverseitige Durchsetzung - der Filter läuft in unserer Datenbankabfrage beim Abruf; getaggte Einträge fehlen im Kontext der KI für nicht autorisierte Besucher, es gibt also nichts, was durchsickern könnte
- Überall fail-closed - keine Signatur, falsche Signatur, abgelaufener Nachweis, Funktion ausgeschaltet, Plan herabgestuft: in jedem dieser Fälle erhält der Besucher nur öffentliche Inhalte, niemals mehr
- Der Browser kann keinen Zugriff fälschen - das Bearbeiten der Tags in den Entwicklertools zerstört die Signatur; nur Ihr Server besitzt den Schlüssel
- Ihre Berechtigungslogik bleibt Ihre - wir erfahren nie, wie Sie entscheiden, wer welches Tag erhält; wir prüfen nur, dass Ihr Server es bestätigt hat
Gut zu wissen
- Access Tags ist Autorisierung, User Context ist Personalisierung - nutzen Sie User Context, um der KI etwas über das Mitglied mitzuteilen; nutzen Sie Access Tags, um zu steuern, auf welches Wissen die KI zugreifen darf
- Gecrawlte Website-Inhalte sind immer öffentlich - sie stammen von Ihrer öffentlichen Website, es gibt also nichts zu beschränken; Tags gelten für Text-, Datei- und API-Einträge
- Ein Besucher braucht nur ein passendes Tag - ein Eintrag mit zwei Tags ist für einen Besucher verfügbar, der eines von beiden trägt
- Das Neugenerieren des Schlüssels macht alle alten Nachweise ungültig - tun Sie es, falls der Schlüssel durchgesickert sein könnte, und aktualisieren Sie dann Ihre Seiten, damit sie mit dem neuen signieren
- Tag-Namen bestimmen Sie selbst - bis zu 20 pro Eintrag, je 50 Zeichen, ohne Kommas oder senkrechte Striche; im Chat der Besucher tauchen sie nie auf
Ergänzt sich mit User Context: die eine Funktion steuert, welches Wissen die KI für diesen Besucher nutzen darf, die andere sagt der KI, wer der Besucher ist.
Benutzerkontext Übergeben Sie angemeldete Benutzerdaten an Ihren KI-Chatbot für personalisierte GesprächeHinweis: Access Tags ist Teil einer Enterprise-Vereinbarung. Schreiben Sie an [email protected] und wir führen Sie durch alles.