Security Whitepaper
Teknisk sikkerhetsoversikt – versjon 1.1 (2026-05-01)
1. Sammendrag
LexCodex.ai er en AI-drevet juridisk analyseplattform. Denne whitepaperen beskriver vår sikkerhetsarkitektur, dataflyt, inntrengingsbeskyttelse og GDPR-mekanismer. Grunnprinsippet er zero data retention på juridisk innhold.
2. Arkitektur
Frontend: Vanilla JavaScript SPA med statiske HTML-sider. Ingen tredjepartsbiblioteker for autentisering.
Backend: PHP 8 på Apache med MySQL/PDO. Hosting via Easywebbhotell (Plesk, Sverige).
AI-lag: Anthropic. Ingen avtaletekster eller AI-svar lagres, og LexCodex bruker ikke data til modelltrening.
3. Dataflyt
Når en bruker analyserer tekst:
- Tekst sendes kryptert (TLS 1.3) til vår PHP-proxy
- Proxyen validerer sesjon, rate limit, brukerplan og CSRF
- Teksten sendes kryptert til Anthropic
- Svaret returneres til brukeren
- Teksten lagres ikke på serverne våre — bare telling av antall analyser og hvilket verktøy som er brukt (uten innhold, for aggregert statistikk)
4. Tenant isolation
Hver brukerkonto er isolert på databasenivå:
- Sesjoner er knyttet til unik user_id
- Alle SQL-queries filtreres på user_id (prepared statements, aldri konkatenering)
- session_version-mekanisme invaliderer alle aktive sesjoner ved passordbytte
- __Host-cookie-prefiks forhindrer cross-subdomain-tilgang
- Ingen deling mellom brukere innen samme organisasjon uten uttrykkelig valg (delelenker)
5. Autentisering
- Passord hashet med bcrypt (cost 10) + unik salt
- Minste passordlengde: 8 tegn
- E-postverifisering med 6-sifret kode (30 min gyldig, maks 5 forsøk)
- MFA / TOTP — valgfri tofaktorautentisering via Google Authenticator, Authy, 1Password, Microsoft Authenticator. Sikkerhetskopikoder hashes med bcrypt og brukes kun én gang.
- Brute force-beskyttelse: 5 feilaktige forsøk → 15 min lockout
- Google SSO med state-parameter for CSRF-beskyttelse
- Sesjonscookie: Secure, HttpOnly, SameSite=Lax, __Host-prefiks
- CSRF-token på alle autentiserte POST-anrop (timing-sikker sammenligning via hash_equals)
- Sesjonen regenereres ved innlogging og passordbytte
6. Transport og lagring
- TLS 1.3 med HSTS preload (max-age 1 år, includeSubDomains)
- CSP (Content Security Policy) med streng script-src og frame-src
- X-Frame-Options SAMEORIGIN, X-Content-Type-Options nosniff
- Cross-Origin-Opener-Policy same-origin
- Database: MySQL med kryptert passord i isolert config.local.php (ikke i git, chmod 600)
- Ingen avtaletekster, AI-svar eller opplastede dokumenter skrives til disk
7. Inntrengingsbeskyttelse
- Rate limiting: Per-IP på login (20/t), MFA-verify (15/t), resend/forgot (5/t), kontakt (5/t), registrering (5/t), kontosletting (5/t), delelenker (20/t)
- Prompt injection-beskyttelse: System-prompts er serverside-låste, messages valideres for rolle og maks-lengde
- Honeypot-felt på registrering og kontakt
- reCAPTCHA v3 (score ≥ 0.5) på registrering og kontaktskjema
- Heuristikk mot tilfeldige strenger ved registrering (vokal/konsonant-ratio, case-mønster)
- Blokkering av gratis e-postdomener ved registrering (bedrifts-e-post kreves)
- Webhook replay-beskyttelse: Stripe event-ID lagres for å forhindre dobbeltbehandling
8. GDPR-mekanismer (selvbetjening)
- Art. 15 + Art. 20 (innsyn / portabilitet): Funksjonell knapp "Last ned mine data" på /no/konto — genererer en JSON-fil med konto, delte analyser, overvåkningsprofiler + rapporter, batch-jobber (metadata), verktøybruk og avgitt tilbakemelding. Passord, MFA-nøkler og sikkerhetskopikoder ekskluderes.
- Art. 17 (sletting): Funksjonell knapp "Slett kontoen min" — krever passord + bekreftelsesord, sletter umiddelbart konto og alle koblede tabeller (tool_usage, shared_analyses, studie_feedback, batch_jobs+documents, watch_profiles+reports). Bekreftelses-e-post sendes til brukeren.
- Delelenker har 7 dagers auto-sletting
9. Hendelseshåndtering
- Mistenkte hendelser oppdages via audit log (admin_actions-tabellen)
- Varsling til berørte kunder innen 72 timer (GDPR art. 34)
- Rapportering til Datatilsynet innen 72 timer (GDPR art. 33)
- Rotasjon av alle API-nøkler og passord ved bekreftet inntrengning
10. Revisjoner og tester
Intern sikkerhetsrevisjon gjennomført april 2026 (dokumentert, omfatter P0–P3-trusler). Ekstern pentest kan arrangeres på forespørsel for bedriftskunder.
11. Underleverandører
| Leverandør | Formål | Sted | Sertifiseringer |
|---|---|---|---|
| Anthropic PBC | AI (Claude API) | USA / EU-routing | SOC 2 Type II, ISO 27001, ISO 42001, HIPAA |
| Easywebbhotell | Hosting (server + DB) | Sverige | GDPR-kompatibel |
| Stripe | Betaling | USA / Irland | PCI DSS Level 1 |
| reCAPTCHA, Analytics | USA / EU | ISO 27001/17/18 |
12. Transparens
LexCodex.ai er ikke selv ISO 27001- eller SOC 2-sertifisert. Vi bygger på sikkerhet gjennom standardiserte webplattformsteknikker og tredjepartssertifiserte leverandører. For bedriftskunder med krav på egen sertifisering, kontakt oss for å diskutere roadmap.
13. Kontakt
Sikkerhetshendelser: support@lexcodex.ai
Sikkerhetsrevisjon / ekstra dokumentasjon: support@lexcodex.ai
Se også: Databehandleravtale (DPA) · Personvernerklæring · Personvern & tillit