Biztonság és adatvédelem
A Lexo védelme rétegzett: az autentikációtól az AI szintű prompt védelemig.
A Lexo biztonságát több egymástól független réteg biztosítja: az alkalmazásszintű autentikáció, az adatbázisszintű hozzáférés-vezérlés, és az AI-szintű bemeneti szűrés. Ezek együtt védenek mind a külső támadásoktól, mind a véletlenszerű belső adatszivárgástól.
Autentikáció és hozzáférés
A felhasználói autentikációt a Clerk kezeli — iparági szabványt követő OAuth 2.0 és email/jelszó alapú belépéssel. A Clerk Session Token minden API-kéréshez szükséges; érvénytelen vagy lejárt token esetén a rendszer 401-es hibakódot ad vissza.
A felhasználók szerepkör alapján (RBAC) kapnak hozzáférést az erőforrásokhoz. Az API útvonalak minden kérésnél ellenőrzik a jogosultságot — nem csak a frontend oldal.
Adatbázis biztonság (RLS)
A Supabase PostgreSQL adatbázisban Row Level Security (RLS) van beállítva. Ez azt jelenti, hogy az adatbázis szintjén is érvényes a hozzáférés-vezérlés – egy felhasználó csak a saját szervezetéhez tartozó adatokat láthatja és módosíthatja, még akkor is, ha az alkalmazás kódjában valamilyen hiba lépne fel.
Prompt injekció védelem
A chatbotnak küldött üzeneteket egy dedikált szűrő ellenőrzi a prompt injekciós kísérletekkel szemben. A következő mintákat ismeri fel és semlegesíti:
- Utasítás felülírási kísérletek ("ignore all previous instructions")
- Szerepmanipuláció ("act as", "pretend to be")
- Rendszer prompt kinyerési kísérletek
- Delimiter injekció (
[INST],###system) - Magyar nyelvű variánsok ("hagyd figyelmen kívül")
Az érintett üzenetek naplózódnak, és a chatbot szanitizált változatot küld tovább az AI-nak.
SSRF megelőzés
Az egyéni akciók HTTP kéréseinél a rendszer ellenőrzi, hogy a megadott URL nem mutat privát vagy belső hálózati címre. Blokkolva van:
- Loopback (
127.0.0.0/8) - Privát tartományok (
10.x.x.x,192.168.x.x,172.16–31.x.x) - Link-local (
169.254.x.x) — cloud metadata végpontok localhost,*.local,*.internal- IPv6 loopback (
::1)
Webhook aláírás
Minden webhook-kérés fejlécében HMAC-SHA256 aláírás szerepel. Az aláírás a titkos kulccsal ellenőrizhető a fogadó végponton, így biztosítva, hogy a kérés valóban a Lexo-tól érkezett, és azt nem módosították útközben.
Adatvédelem és GDPR
- Látogató adatok: A chat párbeszédek anoniman zajlanak. Személyes adatok (név, email) csak akkor kerülnek tárolásra, ha a látogató kitölti a lead formot, vagy az ügynökség előre megadja az embed paraméterben.
- API hitelesítő adatok: Az egyéni akciók API kulcsai titkosítva tárolódnak az adatbázisban.
- Adatok törlése: Egy chatbot törlése kaszkád törléssel eltávolítja a hozzá tartozó párbeszédeket, vektorokat, és leadeket.
- Adattárolás helye: Az adatok az EU-ban tárolódnak (Supabase EU régió és Qdrant EU cluster).