✅ Ramverksregistret är aktuellt per juni 2026 och täcker EU, UK, USA, LATAM, APAC och MEA.
🟡 Scaffold finns men är inte mountad – consent-banner, DSR-export och privacy-settings måste aktiveras i klienten innan vi kan påstå produktionsmässig efterlevnad.
🔴 3 säkerhets-errors i RLS-policys måste åtgärdas (se nedladdad .md för detaljer).
| Ramverk | Region | DSR | Consent |
|---|---|---|---|
| General Data Protection Regulation | EU/EEA | 30 dgr | opt-in |
| UK GDPR + Data Protection Act 2018 | United Kingdom | 30 dgr | opt-in |
| Swiss Federal Act on Data Protection (revFADP) | Switzerland | 30 dgr | opt-in |
| California Consumer Privacy Act / CPRA | United States — California | 45 dgr | opt-out |
| US State Comprehensive Privacy Acts (VA, CO, CT, UT, TX, OR, MT, IA, DE, NH, NJ, …) | United States — multi-state | 45 dgr | opt-out |
| Lei Geral de Proteção de Dados | Brazil | 15 dgr | opt-in |
| Personal Information Protection and Electronic Documents Act | Canada | 30 dgr | opt-in |
| Act on the Protection of Personal Information | Japan | 14 dgr | opt-in |
| Personal Information Protection Law | China | 15 dgr | opt-in |
| Personal Data Protection Act | Singapore | 30 dgr | opt-in |
| Privacy Act 1988 (Australian Privacy Principles) | Australia | 30 dgr | opt-in |
| Protection of Personal Information Act | South Africa | 30 dgr | opt-in |
| Kişisel Verilerin Korunması Kanunu | Türkiye | 30 dgr | opt-in |
# Compliance & Dataskydd – Maltstory _Senast uppdaterad: 2026-06-17_ ## Sammanfattning - **Ramverksregister** (`src/compliance/frameworks.ts`): EU GDPR, UK GDPR, Swiss revFADP, CCPA/CPRA, ~10 amerikanska delstatslagar (VA, CO, CT, UT, TX, OR m.fl.), LGPD (Brasilien), PIPEDA + Quebec Law 25 (Kanada), APPI (Japan), PIPL (Kina), PDPA (Singapore), Privacy Act (Australien), POPIA (Sydafrika), KVKK (Türkiye). SLA, rättigheter och lawful bases är aktuella per 2026-06. - **Privacy policy-mall** finns (`src/compliance/docs/PRIVACY_POLICY.md`) — kontaktuppgifter (controller, DPO) ska fyllas i innan publik release. - **Data-inventarie** dokumenterad i `src/compliance/inventory.ts`. - **Samtycke**: granulär 5-kategori-modell (necessary / functional / analytics / marketing / personalization) + Global Privacy Control (GPC). - **DSR-helpers** (export, redaction, portable JSON-envelope) finns i `src/compliance/dsr.ts`. ## Är allt up to date? **JA för regelverket** – ramverksregistret och regionala addenda täcker EU, UK, USA, LATAM, APAC, MEA per juni 2026. **NEJ för fullständig integration i appen** – scaffold finns men är inte mountad i klient-UI ännu. Följande måste göras innan vi kan påstå produktionsmässig GDPR/CCPA-efterlevnad: 1. Mounta `<ConsentBanner />` i `src/routes/__root.tsx` 2. Skapa `/privacy/settings` med per-kategori toggles som anropar `setConsent()` 3. Skapa `/account/my-data` (DSR-export endpoint via server function → `buildPortableExport()`) 4. Lägg till kolumn `profiles.deletion_requested_at` + soft-erasure-flow med hard delete inom SLA 5. Lokalisera consent-texter via befintligt i18n-system 6. Fyll i kontaktuppgifter (Controller, DPO, privacy-mail) i `PRIVACY_POLICY.md` 7. Publicera policyn under `/privacy` med länk i footer ## Aktiva säkerhetsfynd (måste åtgärdas) Lovable Cloud-scannern rapporterar just nu: **Errors (3)** - `breweries.contact_email` + `org_number` läsbara av alla inloggade — bryter dataminimering - `live_event_registrations` SELECT med `USING true` — exponerar betalstatus och eventdeltagande - `realtime.messages` saknar RLS — alla kan prenumerera på alla kanaler **Warnings (4)** - `tasting-photos` storage policy tillåter alla inloggade att läsa alla foton - `brewery_beer_profiles.qr_token` läsbart av alla medlemmar (ska vara owner-only) - Friendship-policy låter requester själv-acceptera vänförfrågan - Public SECURITY DEFINER-funktion utan EXECUTE-revoke Dessa fynd ska åtgärdas i separata migrationer. ## Regionala SLA (utdrag) | Region | Ramverk | DSR-svar | Consent-modell | |---|---|---|---| | EU/EEA | GDPR | 30 dgr (+60) | Opt-in | | Storbritannien | UK GDPR + DPA 2018 | 30 dgr | Opt-in | | Schweiz | revFADP | 30 dgr | Opt-in | | Kalifornien | CCPA/CPRA | 45 dgr (+45) | Opt-out + GPC | | Andra USA-stater | VA/CO/CT/UT/TX/OR m.fl. | 45 dgr | Opt-out + GPC | | Brasilien | LGPD | 15 dgr | Opt-in | | Kanada | PIPEDA + Quebec Law 25 | 30 dgr | Opt-in | | Japan | APPI | 14 dgr | Opt-in (sensitive) | | Kina | PIPL | 15 dgr | Separat samtycke per ändamål | | Singapore | PDPA | – (breach: 3 dgr) | Opt-in | | Australien | Privacy Act (APPs) | "rimlig tid" | Opt-in | | Sydafrika | POPIA | 30 dgr | Opt-in | | Türkiye | KVKK | 30 dgr | Opt-in (sensitive) | ## Cross-border-överföringar - EU → tredje land: SCCs + Transfer Impact Assessment - UK → tredje land: UK IDTA eller EU SCCs + UK Addendum - Kina → utlandet: CAC security assessment kan krävas - Brott mot säkerhet: anmäl till tillsyn enligt regional SLA (EU 72h, SG 3 dgr, AU "skyndsamt") ## Hur vi hanterar tvetydiga jurisdiktioner När flera ramverk matchar (t.ex. EU-resident i Kalifornien) väljer vi det **strängaste**: kortast DSR-SLA och bredaste rättighetsuppsättning. Default är GDPR-nivå (30 dgr). ## Källor i koden - `src/compliance/frameworks.ts` – ramverksregister - `src/compliance/inventory.ts` – data-inventarie - `src/compliance/consent.ts` – opt-in/opt-out + GPC - `src/compliance/dsr.ts` – DSR-helpers - `src/compliance/docs/PRIVACY_POLICY.md` – policy-mall - `src/compliance/docs/REGIONAL_NOTES.md` – regionala addenda - `src/components/ConsentBanner.tsx` – färdig UI (ej mountad) ## Kontakt - Personuppgiftsansvarig / dataskydd: support@maltstory.com (Eva Hjalmarsson) - Säkerhetsincidenter: support@maltstory.com