docs: update release checklist for AI trace and flyer import
Test Suite / backend-pr-quick (push) Has been skipped
Test Suite / quick-import-pr-quick (push) Has been skipped
Test Suite / backend-full (push) Successful in 2m19s
Test Suite / flutter-quality (push) Failing after 58s

- Replace outdated security and data protection section with current requirements
- Add new checklist items for authentication migration to httpOnly cookies
- Include AI trace retention policy and penetration testing requirements
- Update target audience and document status to 2026-05-21
- Add E2E testing requirements for flyer and receipt imports
- Document GDPR compliance processes
This commit is contained in:
Nils-Johan Gynther
2026-05-21 19:26:22 +02:00
parent e079758f1d
commit 6ddb58dc7c
+129 -24
View File
@@ -1,52 +1,157 @@
# Plan for produktlansering # Plan för produktlansering
Detta dokument ar en releasechecklista. Detta dokument är en releasechecklista.
Det kompletterar `NEXT_STEPS.md` och ska inte duplicera backloggen. Det kompletterar `NEXT_STEPS.md` och ska inte duplicera backloggen.
## Dokumentstatus (2026-05-03) ## Dokumentstatus (2026-05-21)
- Malgrupp: produktagare, systemadministratorer, utvecklingsteam. - Målgrupp: produktägare, systemadministratörer, utvecklingsteam.
- Fokus: vad som maste vara verifierat innan release. - Fokus: vad som måste vara verifierat innan release.
## 1. Sakerhet och data ## 1. Säkerhet och dataskydd
- [ ] Kansliga uppgifter krypterade enligt beslutad modell. - [ ] Känsliga uppgifter krypterade enligt beslutad modell.
- [ ] Rate limiting aktiv pa relevanta API/AI-endpoints. - [ ] Rate limiting aktiv på relevanta API/AI-endpoints.
- [ ] Secret-hantering verifierad (inga hardkodade hemligheter). - [ ] Secret-hantering verifierad (inga hardkodade hemligheter).
- [ ] Roll- och accesskontroller testade i praktiken. - [ ] Roll- och accesskontroller testade i praktiken.
- [ ] Migrera autentisering från `localStorage` till `httpOnly`-cookies i Flutter Web.
- [ ] Implementera automatiserad datarensning för `AiTrace` (retention-policy).
- [ ] Utför penetrationstest för IDOR och XSS.
- [ ] Dokumentera GDPR-processer (t.ex. rätt att glömmas, dataportabilitet).
## 2. DevOps och stabilitet ## 2. DevOps och stabilitet
- [ ] CI/CD for build, test och deploy pa plats. - [ ] CI/CD för build, test och deploy på plats.
- [ ] Migreringar + seedning kor konsekvent vid release. - [ ] Migreringar + seedning kör konsekvent vid release.
- [ ] Health checks och loggning verifierade. - [ ] Health checks och loggning verifierade.
- [ ] Backup/restore testad for datavolymer. - [ ] Backup/restore testad för datavolymer.
## 3. Kvalitet och test ## 3. Kvalitet och test
- [ ] Kritiska floden har testtackning (auth, import, CRUD, AI). - [ ] Kritiska flöden har testtäckning (auth, import, CRUD, AI).
- [ ] Minst en end-to-end verifiering i testmiljo per release. - [ ] Minst en end-to-end verifiering i testmiljö per release.
- [ ] DTO-validering och felhantering kontrollerad. - [ ] DTO-validering och felhantering kontrollerad.
- [ ] Skapa E2E-tester för flyer- och kvittoimport (t.ex. Cypress eller Playwright).
- [ ] Validera OCR-korrigeringar med ett större dataset.
## 4. Funktionell releaseklarhet ## 4. Funktionell releaseklarhet
- [ ] Kvittoimport fungerar end-to-end med granskningssteg. - [ ] Kvittoimport fungerar end-to-end med granskningsteg.
- [ ] User-scoped produktmodell verifierad med flera testanvandare. - [ ] User-scoped produktmodell verifierad med flera testanvändare.
- [ ] Kategoritrad seedat och validerat i aktuell miljo. - [ ] Kategoriträd seedat och validerat i aktuell miljö.
- [ ] Bildimport och fallbackfloden fungerar i driftmiljo. - [ ] Bildimport och fallbackflöde fungerar i driftmiljö.
- [ ] Genomför manuell testning av aliasflödet med riktiga kvitton.
- [ ] Test sessionhydrering i olika scenarier (t.ex. flikbyte, app-krasch).
## 5. Riskhantering ## 5. Riskhantering
- [ ] AI-kostnad, timeout och fallback beteende verifierat. - [ ] AI-kostnad, timeout och fallback-beteende verifierat.
- [ ] Ingen osynk mellan migrationer och seedskript. - [ ] Ingen osynk mellan migrationer och seedskript.
- [ ] Kanda release-risker dokumenterade med ansvarig agare. - [ ] Kända release-risker dokumenterade med ansvarig ägare.
- [ ] Implementera adaptiv retry-logik med exponentiell backoff för AI-anrop.
- [ ] Lägg till kostnadsgränser och varningar i `AiTraceService`.
- [ ] Dokumentera fallback-beteende (t.ex. cache, manuell granskning).
## 6. Prestanda och skalbarhet
- [ ] Optimera Prisma-frågor med `EXPLAIN ANALYZE` och indexering.
- [ ] Implementera virtuell scrollning i Flutter för stora listor.
- [ ] Dokumentera belastningsgränser för `importer-api` och planera för skalning.
- [ ] Lägg till Redis-cache för vanliga frågor (t.ex. produkt-sökning).
## 7. Dokumentation och användarstöd
- [ ] Skapa admin-handbok med vanliga arbetsflöden.
- [ ] Förbättra felmeddelanden i UI med tydliga instruktioner.
- [ ] Utöka `HelpTextsModule` med kontextuella guider för alla huvudfunktioner.
- [ ] Generera OpenAPI-specifikation för backend (t.ex. med `@nestjs/swagger`).
## Relaterade dokument ## Relaterade dokument
- `NEXT_STEPS.md` - overgripande prioriteringar. - `NEXT_STEPS.md` — övergripande prioriteringar.
- `TEKNISK_BESKRIVNING.md` - teknisk implementation. - `TEKNISK_BESKRIVNING.md` teknisk implementation.
- `flutter/next_steps_flutter.md` - Flutter-specifik leveransplan. - `flutter/next_steps_flutter.md` Flutter-specifik leveransplan.
- `MVP_CHECKLISTA.md` — testchecklista för MVP.
## 2026-05-10: Admin-inventarie (CRUD, merge, filter, sortering, preview, säkerhet), user-scope, IDOR-skydd, säkerhetshärdning, optimeringar och utökad testtäckning är nu genomförda och dokumenterade i README, TEKNISK_BESKRIVNING, SÄKERHETSHÄRDNINGSPLAN och SESSIONLOGGAR. ## Kritiska utvecklingsområden
## 2026-05-10: Admin-inventarie (CRUD, merge, filter, sortering, preview, säkerhet), user-scope, IDOR-skydd, säkerhetshärdning, optimeringar och utökad testtäckning är nu genomförda och dokumenterade i README, TEKNISK_BESKRIVNING, SÄKERHETSHÄRDNINGSPLAN och SESSIONLOGGAR. ### 1. Säkerhet och dataskydd (Högsta prioritet)
**Motivering:**
- Känsliga uppgifter (t.ex. JWT i localStorage) och AI-trace-loggar innehåller maskerade men potentiellt känsliga uppgifter.
- Risk för XSS-attacker och IDOR om inte åtgärdat.
**Åtgärder:**
- Migrera autentisering till `httpOnly`-cookies.
- Implementera automatiserad datarensning för `AiTrace`.
- Utför penetrationstester.
---
### 2. Stabilitet i AI-integration (Hög prioritet)
**Motivering:**
- Timeout och retry-logik kan leda till 503-fel.
- Saknad kostnadskontroll för AI-anrop.
**Åtgärder:**
- Implementera adaptiv retry-logik.
- Lägg till kostnadsgränser i `AiTraceService`.
- Dokumentera fallback-beteende.
---
### 3. Sluttestning av importflöden (Hög prioritet)
**Motivering:**
- Alias-strategin och sessionhydrering är ej fullt testade.
- Saknas E2E-tester för hela importflödet.
**Åtgärder:**
- Genomför manuell testning med riktiga kvitton.
- Skapa E2E-tester.
---
### 4. Prestanda och skalbarhet (Medel prioritet)
**Motivering:**
- Långsamma Prisma-frågor och renderingsproblem i Flutter-UI.
- Saknad caching-strategi.
**Åtgärder:**
- Optimera databasfrågor.
- Implementera virtuell scrollning.
- Lägg till Redis-cache.
---
### 5. Dokumentation och användarstöd (Medel prioritet)
**Motivering:**
- Saknas admin-guider och tydliga felmeddelanden.
- Begränsat innehåll i `HelpTextsModule`.
**Åtgärder:**
- Skapa admin-handbok.
- Utöka hjälptexter.
- Generera OpenAPI-dokumentation.
---
## Prioriteringsordning
| **Område** | **Prioritet** | **Berörda filer/dokument** |
|---------------------------------|---------------|-----------------------------------------------------|
| 1. Säkerhet och dataskydd | ⭐⭐⭐⭐⭐ | `TEKNISK_BESKRIVNING.md`, `flutter/.../auth/` |
| 2. Stabilitet i AI-integration | ⭐⭐⭐⭐ | `flyerimporter.md`, `backend/src/ai/` |
| 3. Sluttestning av importflöden | ⭐⭐⭐⭐ | `MVP_CHECKLISTA.md`, `NEXT_STEPS.md` |
| 4. Prestanda och skalbarhet | ⭐⭐⭐ | `backend/src/flyer-import/`, `flutter/lib/admin/` |
| 5. Dokumentation och stöd | ⭐⭐ | `README.md`, `HelpTextsModule`, `backend/src/ai/` |
---
## Nästa steg
1. Låsa säkerhetsbristerna (särskilt autentisering och dataskydd).
2. Stabilisera AI-integration med bättre felhantering och kostnadskontroll.
3. Kör sluttestning av importflöden och rätta eventuella regressioner.
4. Optimera prestanda i databas och UI.
5. Förbättra dokumentationen för admin och slutanvändare.
Dessa åtgärder säkerställer en **stabil, säker och användarvänlig lansering**.