docs: update release checklist for AI trace and flyer import
- 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:
@@ -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**.
|
||||||
Reference in New Issue
Block a user