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 namespaceServer-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:
- API Key validation — Varje request kräver giltig
x-api-keyheader bunden till tenant - Rate limiting — Max antal requests per minut per tenant (standard: 60/min, konfigurerbart)
- Input sanitization — Alla indata saniteras innan de når AI-pipelinen (skydd mot prompt injection)
- CORS — Konfigurerat per tenant för widget-embedding
- 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)