Kontrollplan Assistenten
Whitepaper
v1.0 · 2026-06-24

Whitepaper: Hur vi lagrar din data

Teknisk och juridisk översikt över Kontrollplan Assistentens datahantering.

Det här dokumentet beskriver exakt vilken data Kontrollplan Assistenten samlar in, var den lagras, hur länge den sparas och vem som kan komma åt den. Allt som står här gäller produktionsmiljön på itpbuilder.com.

Vi följer principen om dataminimering: vi sparar bara det som krävs för att leverera tjänsten, och du kan när som helst radera ditt konto och all kopplad data.

0. Vårt säkerhetsåtagande

Säkerhet är inte en eftertanke i Kontrollplan Assistenten — det är förutsättningen för att du över huvud taget ska kunna lita på en AI med dina projektunderlag. Vi behandlar varje uppladdat dokument som om det vore vårt eget kontrakt: det krypteras under transport, isoleras per användare, och raderas på din begäran.

Vi bygger och driver tjänsten i enlighet med principerna i ISO/IEC 27001 för ledningssystem för informationssäkerhet. Det innebär konkret att vi tillämpar:

Riskbaserad åtkomstkontroll — varje rad i databasen är skyddad av Row-Level Security (RLS), så ingen användare kan läsa eller ändra någon annans data, ens via en bugg i applikationskoden.
Least privilege — våra serverless-funktioner kör med smalast möjliga rättigheter; service-nycklar används endast i verifierade webhooks.
Defense in depth — TLS överallt, hashade IP-adresser, secret-rotation, separata miljöer för utveckling och produktion.
Säker utveckling — varje backend-ändring scannas automatiskt för RLS-luckor, exponerade tabeller och misskonfigurerad auth innan den når produktion (se vår säkerhetspolicy).
Spårbarhet — alla genererade kontrollplaner loggas mot din användare så du kan revidera, exportera eller radera dem.
Incidentberedskap — dokumenterad process för upptäckt, eskalering och kommunikation vid säkerhetshändelser (avsnitt 10).

Vi är inte i nuläget certifierade av ett oberoende revisionsorgan mot ISO/IEC 27001 — men kontrollramverket vi arbetar efter är designat för att kunna passera en sådan revision, och vi uppdaterar det löpande när hotbilden ändras.

1. Vilken data vi behandlar

Kontodata: e-postadress (krävs för inloggning via magic link), valt språk, tidpunkt för registrering.
Underlag du laddar upp: teknisk beskrivning (TB) och eventuella stödfiler (PDF/Word). Filinnehållet extraheras till text i webbläsaren eller på vår server och skickas vidare till AI-modellen.
Projektmetadata: projektnamn, projektnummer, entreprenör, önskemål om kapitel och fri-textinstruktioner.
Genererat resultat: kontrollplanen som AI-modellen returnerar (JSON-struktur med kapitel och rader).
Tekniska data: tidsstämplar, hashat IP-nummer (SHA-256, för missbruksdetektering), webbläsarens språkval i localStorage.

Vi samlar inte in: personnummer, betaluppgifter, exakt IP-adress i klartext, eller innehåll från andra applikationer.

2. Var datan lagras fysiskt

All databas- och autentiseringsdata lagras hos Supabase (managerad PostgreSQL) i EU-regionen. Supabase agerar databehandlare och har DPA enligt GDPR.

Applikationen körs på Cloudflare Workers (edge-runtime). Workers håller ingen persistent data — de tar emot din request, anropar databasen och AI-modellen, och returnerar svaret.

AI-inferensen sker via vår AI-gateway som vidareförmedlar förfrågningar till underliggande LLM-leverantörer. Innehållet skickas över TLS, sparas inte i gateway och används inte för modellträning.

Inga uppladdade dokument lagras på disk hos oss. De finns i minnet under den korta tid som en request varar (typiskt < 60 sekunder).

3. Tabeller och åtkomstkontroll

Databasen har två publika tabeller:

profiles — id (= auth-användar-id), e-post, valt språk, tidsstämplar.
kontrollplan_history — id, user_id, projektmetadata, genererat resultat (jsonb), filnamn (inte filinnehållet), hashat IP, tidsstämpel.

Båda tabellerna har Row Level Security (RLS) aktiverat. Policyn auth.uid() = user_id gör att en inloggad användare bara kan läsa, skapa eller radera sina egna rader. Det är databasen själv som upprätthåller detta — även om appkoden skulle innehålla en bugg kan en användare aldrig se en annan användares historik.

Inga policies tillåter anonym (icke inloggad) läsning av användardata.

4. Kryptering

I transit: All trafik mellan din webbläsare, vår server, databasen och AI-leverantören går över TLS 1.2+ (HTTPS).
At rest: Supabase krypterar databasens diskvolymer med AES-256. Backuper krypteras med samma standard.
Hemligheter: API-nycklar (AI-gateway, service role-nyckel) lagras som krypterade secrets och exponeras aldrig till webbläsaren.

5. Autentisering

Inloggning sker via magic link — du anger din e-postadress och får en engångslänk. Inga lösenord lagras.

Sessionen lagras som JWT i webbläsarens localStorage. Tokens roteras automatiskt och går ut efter inaktivitet.

Alla server-anrop som rör konto-specifik data validerar JWT på serversidan via Supabase Auth innan databasen kontaktas.

6. Hur ditt underlag skickas till AI

När du klickar på "Generera": vi skickar (a) extraherad text från din TB, (b) eventuell stödkontext, (c) dina instruktioner och (d) önskat språk till vår AI-gateway. Hård gräns: max 80 000 tecken per chunk och 200 000 tecken totalt per request.

AI-leverantören (t.ex. Google Gemini, OpenAI) får texten via en server-till-server-anslutning. Enligt avtal med leverantörerna används inte din data för att träna deras modeller.

Råinnehållet i din TB sparas inte efter att svaret genererats. Endast det strukturerade resultatet sparas i kontrollplan_history, kopplat till ditt konto.

7. Lagringstid och radering

Historik: sparas tills du själv raderar den (knappen "Ta bort" i historikpanelen) eller stänger ditt konto.
Hashat IP: sparas tillsammans med historikraden, raderas när raden raderas.
Konto: vid kontoradering tas profil och all historik bort permanent inom 30 dagar (backup-rotation).
Loggar: serverloggar (felmeddelanden, request-volym) roteras ut efter 30 dagar och innehåller inget innehåll från ditt underlag.

Begär kontoradering genom att mejla oss (se kontakt nedan) — vi bekräftar inom 7 arbetsdagar.

8. Dina rättigheter enligt GDPR

Du har rätt att: få ut all data vi har om dig (registerutdrag), rätta felaktiga uppgifter, radera ditt konto, invända mot behandling och flytta din data (dataportabilitet). Skicka begäran till kontaktadressen nedan.

Personuppgiftsansvarig är den juridiska person som driver itpbuilder.com. Tillsynsmyndighet i Sverige är Integritetsskyddsmyndigheten (IMY).

9. Underleverantörer (sub-processors)

Supabase (EU) — databas, autentisering, fillagring.
Cloudflare (global edge) — körning av applikationen, DDoS-skydd.
Applikationsplattform och AI-gateway — vidareförmedlar förfrågningar till LLM-leverantörer (Google, OpenAI, Anthropic).
Resend / Supabase Auth-mail — utskick av inloggningslänkar.

Vi använder inga analytics- eller tracking-cookies från tredje part.

10. Incidenthantering

Vid misstänkt säkerhetsincident följer vi processen i docs/security-policy.md: utredning inom 24 timmar, notifiering till drabbade användare inom 72 timmar (GDPR Art. 33), och post-mortem som publiceras inom 14 dagar.

Frågor om datalagring eller begäran om radering: support@itpbuilder.com.