security: Add proper authentication, RBAC, and tenant isolation

- Add password hashing with bcrypt
- Add AuthService with proper login
- Add password strength validation
- Add RBAC middleware (AdminOnly, ManagerOrAdmin)
- Add tenant isolation middleware
- Update CRM handler with tenant filtering
- Add JWT fallback for development mode
- Add user context helpers
- Build successful
This commit is contained in:
Bernt
2026-08-10 12:52:48 +00:00
parent 8921fd1467
commit 78b57273e2
141 changed files with 29192 additions and 180 deletions
+105
View File
@@ -0,0 +1,105 @@
# QUIXZOOM AUDIT V0
*Beslutad: 2026-06-17. Ersätter QUIXZOOM_AUDIT_SPEC.md som primärt dokument.*
---
## Syfte
Verifiera att ett definierat claim kan extraheras ur verklig fältvideo
med tillräcklig säkerhet och tillräckligt låg kostnad.
Inte att testa AI.
Inte att testa UX.
Inte att testa Smart Scan.
**Enda frågan: Kan claimet verifieras?**
---
## Primärt KPI
**Cost Per Verified Claim (CPVC)**
```
CPVC = Total kostnad / Godkända claims
```
Inte accuracy. Inte recall. Inte OCR-score.
---
## Auditobjekt
### 1. Elmätare verifierad
Datakrav (alla tre krävs):
- Serienummer
- Mätarställning
- Plombering synlig
### 2. Fordon identifierat
Datakrav (alla tre krävs):
- Registreringsnummer
- Fordonstyp
- Position
### 3. Skylt verifierad
Datakrav (alla tre krävs):
- Skylttext
- GPS-position
- Tidsstämpel
---
## Per inspelning — logga
```yaml
video_id: ""
claim_typ: "" # electricity_meter | vehicle | sign
videolangd_s: 0
antal_instruktioner: 0
tid_till_verifiering_s: 0
datapunkter:
- namn: ""
status: synlig | delvis | ej_synlig
confidence: 0 # 0100
resultat: godkant | underkant
underkant_orsak: ""
ekonomi:
zoomer_tid_s: 0
zoomer_ersattning_sek: 0
operativ_kostnad_sek: 0
cpvc_sek: 0
```
---
## Kill-kriterier
Projektet pausas om något av följande:
| Kriterium | Gräns |
|-----------|-------|
| Claims som kan verifieras | < 80% |
| Genomsnittlig verifieringstid | > 120 sek |
| CPVC | > målpriset |
| Kritiska datapunkter (serienummer, reg.nr) | < 95% tillförlitlighet |
Vid kill: hypotesen omarbetas innan vidare utveckling.
---
## Nästa steg
Kör 5001000 verkliga inspelningar mot denna spec.
Utdata ger hårda data för:
- Vilka claims som fungerar
- Vilka datapunkter som är svaga
- Vilken trust-threshold som är realistisk
- Vilken liveness som faktiskt behövs
- Om quiXzoom har lönsam enhetsekonomi per verifierat claim
**Det är där visionen blir ett företag.**