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).
Ha GDPR-os adattörlési kérelmet kapsz, lépj kapcsolatba velünk — az adott látogató összes rekordját eltávolítjuk az adatbázisból és a vektoros indexből egyaránt.