Datasäkerhet & Arkitektur

S

Written by SWEO AI Team

Updated over 2 weeks ago


Multi-tenant-isolering

Varje organisation (tenant) i SWEO AI är helt isolerad från andra:

LagerIsoleringsmetodDatabasAlla Appwrite-collections filtreras på tenantId — det är tekniskt omöjligt att läsa en annan tenants dataVektordatabasPinecone använder separata namespaces per tenant — vektorsökning sker alltid inom tenantens namespaceAPI-nycklarVarje API-nyckel är bunden till en specifik tenant och valideras vid varje anropFile StorageUppladdade filer lagras i tenant-specifika Appwrite Storage bucketsAI-kontextRAG-pipeline hämtar enbart dokument från tenantens namespace

Server-side middleware verifierar tenant-tillhörighet i varje request — även om en klient-bugg skulle skicka fel tenantId, avvisas förfrågan.

Kryptering

SWEO AI krypterar data i vila och under transport:

  • Transport — All trafik krypteras med TLS 1.3 (HTTPS). Inga okrypterade anslutningar accepteras.
  • Data i vila — Appwrite-databasen krypteras med AES-256. Pinecone-data krypteras med AWS-managed keys.
  • Connector-credentials — API-nycklar och OAuth-tokens krypteras med AES-256 innan lagring. Visas aldrig i klartext efter sparande (maskeras som sk_****...3def).
  • Session-tokens — Clerk-sessioner använder signerade JWT med kort livslängd (15 min) och secure httpOnly cookies.

Autentisering & auktorisering

SWEO AI använder Clerk för autentisering med följande säkerhetsfunktioner:

  • Multi-factor authentication (MFA) — Stöd för TOTP (Google Authenticator) och SMS-verifiering
  • SSO — SAML och OIDC för enterprise-kunder
  • Session management — Automatisk utloggning efter inaktivitet, sessionslistor per enhet
  • RBAC — Rollbaserad åtkomst (Admin, Manager, Agent, Developer) med server-side validering
  • Organization isolation — Clerk Organizations säkerställer att användare bara ser data från sin organisation

Mer om roller: Team & Roller.

API-säkerhet

Alla API-endpoints skyddas med flera lager:

  1. API Key validation — Varje request kräver giltig x-api-key header bunden till tenant
  2. Rate limiting — Max antal requests per minut per tenant (standard: 60/min, konfigurerbart)
  3. Input sanitization — Alla indata saniteras innan de når AI-pipelinen (skydd mot prompt injection)
  4. CORS — Konfigurerat per tenant för widget-embedding
  5. Webhook signatures — Alla inkommande webhooks (Twilio, email) verifieras med provider-specifik signatur

Generera och hantera API-nycklar under Settings → API Keys.

Infrastruktur

  • Hosting — Vercel (frontend) med edge network för låg latens globalt
  • Databas — Appwrite Cloud med dagliga backups och point-in-time recovery
  • Vektordatabas — Pinecone med SOC2 Type II-certifiering
  • AI-modeller — OpenAI via Azure för data residency inom EU (konfigurerbart)
  • Monitoring — Sentry för felspårning med källkartor
  • Logging — Alla API-anrop loggas med tenant, timestamp, endpoint och HTTP-status (inga kunddata i loggar)