Tillbaka till översikt
Teknisk arkitektur
EXON Insurance Platform är en modern, molnbaserad SaaS-plattform byggd för svenska försäkringsförmedlare. Denna sida beskriver den tekniska arkitekturen, dataflöden, säkerhetsdesign och infrastruktur för kunder och partners.
GDPR-compliantDORA-alignedIDD-compliantData lagras i EUSOC 2 leverantörer
Systemöversikt
Klienter
Mäklare (backoffice)
Kunder (kundportal)
Slutkunder (köpflöde)
HTTPS / TLS 1.3
Applikationslager (Vercel Edge Network)
Next.js 16 App Router
Server Components
API Routes
Middleware (auth)
Edge Functions
Supabase SDK / REST / Webhooks
Dataplattform (EU Frankfurt / Sverige)
PostgreSQL + RLS
Supabase · FrankfurtSupabase Auth + MFA
TOTP · BankID (OIDC)File Storage
Supabase Storage · FrankfurtTeknisk stack
Frontend
FrameworkNext.js 16 (App Router, React 19)
SpråkTypeScript (strict)
StylingTailwind CSS + shadcn/ui
StateReact Context + Server Components
Auth UISupabase Auth Helpers
Backend & Databas
APINext.js Route Handlers (REST)
DatabasPostgreSQL 15 via Supabase
ORMSupabase JS Client (typesafe)
AuthSupabase Auth (email + TOTP MFA)
SäkerhetRow Level Security (RLS) policies
Hosting & Infrastruktur
HostingVercel (Functions: EU Frankfurt)
CDNVercel Edge Network
DatabasSupabase Cloud (EU Frankfurt)
Domainexon.insure (custom)
CI/CDVercel (auto-deploy från GitHub)
Integrationer
E-postAmazon SES (eu-north-1 Stockholm)
SMS46elks AB (Sverige)
AIMistral AI (Paris, EU)
BankIDIdura OIDC-proxy
FelövervakningSentry (valfri)
Multi-tenant arkitektur
Varje mäklarfirma är en isolerad tenant med sina egna kunder, försäkringar och användare. Dataisolering sker på databasnivå via Postgres Row Level Security — inga separata databaser eller scheman behövs.
Tenant A (Mäklare 1)
Kunder
Försäkringar
Ärenden
Användare
Tenant B (Mäklare 2)
Kunder
Försäkringar
Ärenden
Användare
Tenant C (TandTrygg)
Kunder
Försäkringar
Ärenden
Användare
Delad infrastruktur
PostgreSQL + RLS·organization_id på varje rad·Supabase Auth
Tenant-detektion
Via subdomän (tenant.exon.insure) eller users organization_id i profilen.
RLS policies
Varje tabell har policies: SELECT/INSERT/UPDATE/DELETE filtreras på organization_id.
Skalbarhet
Ny tenant skapas på minuter. Ingen infrastruktur-provisionering krävs.
Säkerhetsarkitektur
Autentisering
Backoffice (mäklare)
- E-post + lösenord (bcrypt)
- TOTP MFA (Authenticator-app)
- AAL2-krav för känsliga operationer
- Session-timeout och refresh-tokens
Kundportal
- BankID via Idura OIDC-proxy
- Session-cookie (httpOnly, Secure, SameSite)
Dataskydd
TransitTLS 1.3 (HTTPS everywhere)
VilaAES-256 (Supabase managed)
BackupsDagliga snapshots, 30 dagars retention
Audit trailFullständig loggning i audit_log-tabell
GDPR-raderingSoft delete + scheduler för hard delete
SamtyckenSparas med IP, user-agent och timestamp
Dataflöden
Försäkringsköp (slutkund)
1Kund fyller i uppgifter i köpflödet (/kop/tandvard)
2API-route skapar kund + försäkring + samtycken i PostgreSQL
3Bekräftelse-e-post skickas via Amazon SES (Stockholm)
4Alternativt: SMS-bekräftelse via 46elks (Sverige)
Mäklare loggar in
1E-post + lösenord verifieras mot Supabase Auth
2Om MFA aktiverat: TOTP-kod verifieras (AAL1 → AAL2)
3JWT-session utfärdas med organization_id claim
4RLS-policies begränsar åtkomst till tenantens data
Kundportal (BankID)
1Kund redirectas till Idura OIDC-proxy
2BankID-autentisering sker (mobilt/kortläsare)
3OIDC callback returnerar namn + personnummer
4Session-cookie sätts (httpOnly, 24h), kund är inloggad
AI-assistans
1Mäklare ställer fråga i chat-gränssnittet
2API-route skickar fråga till Mistral AI (Paris, EU)
3Svar returneras och loggas i ai_usage_log
4Inga personuppgifter skickas till Mistral utan explicit medgivande
Tillgänglighet & SLA
99.9%
per månad
Avtalad tillgänglighet
4h
per kvartal (helg)
Max planerat underhåll
< 4h
P1-incidenter
Incident-respons
30 dagar
dagliga snapshots
Backup retention
Se fullständigt Service Level Agreement för detaljer.
Underbiträden & tredjepartstjänster
| Leverantör | Tjänst | Dataplacering | Certifiering | GDPR-risk |
|---|---|---|---|---|
| Supabase Inc. | Databas, Auth, Storage | EU (Frankfurt) | SOC 2 II, ISO 27001 | Låg |
| Vercel Inc. | Hosting, CDN | Functions: EU. Edge: Global. | SOC 2 II, DPF | Låg (DPF) |
| Amazon Web Services | E-post (SES) | Stockholm (eu-north-1) | SOC 2, ISO 27001 | Ingen |
| 46elks AB | SMS | Sverige (Uppsala) | GDPR native | Ingen |
| Mistral AI | AI-assistent | Frankrike (EU) | GDPR-native | Ingen |
| Idura | BankID-proxy (OIDC) | Sverige | GDPR native | Ingen |
| Sentry (valfri) | Felövervakning | USA (DPF) | SOC 2, DPF | Låg (DPF) |
Fullständig lista och DPA finns i personuppgiftsbiträdesavtalet.
Frågor om arkitekturen?
Kontakta vårt teknikteam på tech@exon.insure eller security-frågor på security@exon.insure.