Files
boc/QUIXZOOM_VERIFIED_REALITY.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

193 lines
6.8 KiB
Markdown

# quiXzoom — Verified Reality
*Beslutad: 2026-06-17. Konceptuell grund för hela produkten.*
---
## Vad produkten egentligen är
> Zoomern samlar inte in bilder.
> Zoomern samlar in **verifierbar verklighet**,
> medan AI avgör när tillräcklig evidens har samlats in
> för att uppdragsgivarens datakrav ska anses uppfyllda.
Uppdragsgivaren köper inte bilder.
De köper **förtroende för att en observation av verkligheten faktiskt har ägt rum**.
---
## De fyra nivåerna
### Nivå 1 — Foto
Användaren tar en bild.
Problem: lätt att fuska, dålig kvalitet, många omtag.
Liveness: **noll**.
---
### Nivå 2 — Smart Scan
Användaren filmar objektet. AI väljer bästa frames, vinklar, OCR-underlag automatiskt.
Liveness: **låg** — en stillbild kan inte ersätta scanning, men en inspelad video kan.
---
### Nivå 3 — Guided Evidence Collection
AI kräver aktiv rörelse under scanning.
Exempel på direktiv i sekvens:
- "Gå ett steg åt vänster"
- "Luta telefonen uppåt"
- "Zooma in etiketten"
- "Visa objektets högra sida"
Här börjar det bli svårt att fuska med en stillbild eller förberedd video.
Liveness: **medium** — kräver att man aktivt följer instruktioner.
---
### Nivå 4 — Liveness Verified Evidence
Systemet bevisar att:
- Objektet **existerar**
- Objektet **finns på platsen** (geo-verifierat)
- Objektet **filmas just nu** (inte en inspelning)
- Videoströmmen **är äkta** (inte en skärm som visar en annan skärm)
Liveness: **hög** — korrelerade signaler från oberoende sensorer.
---
## Liveness Score — poängsystem, inte binärt
```
Liveness Score: 97/100
✓ Kamerarörelse (gyro-pattern matchar naturlig rörelse)
✓ Parallax verifierad (djupförändring vid rörelse)
✓ Fokusförändringar (autofokus-aktivitet matchar scen)
✓ GPS verifierad (±15m från uppdragets adress)
✓ App Attest verifierad (iOS / Android Play Integrity)
✓ Videoström kontinuerlig (inga klipp eller hopp)
✓ Challenge-respons löst (se nedan)
⚠ Ljusskiftningar svaga (inomhus, acceptabelt)
Risk: låg
```
Varje signal är oberoende. Förfalskning av en signal hjälper inte — alla måste korrelera.
Poängsystemet möjliggör kalibrering per uppdragstyp:
- Lågvärdesuppdrag: Liveness Score >60 accepteras
- Högvärdesuppdrag (infrastruktur, juridisk dokumentation): >90 krävs
---
## Challenge-Response — det slumpmässiga testet
Vid varje scanning-session genererar systemet en unik challenge-sekvens **efter** att sessionen startar. Aldrig förberäknad.
Exempel på en session:
```
T+0s: "Visa hela elmätaren"
T+8s: "Gå ett steg bakåt" ← genererad vid T+6s
T+14s: "Zooma in på etiketten" ← genererad vid T+12s
T+21s: "Visa plomberingen" ← genererad vid T+19s
```
Instruktionerna genereras i realtid baserat på:
- Vad systemet ännu inte har verifierat (saknade evidence requirements)
- En slumpmässig rörelsekomponent (för liveness, inte för data)
**Varför det fungerar:**
En inspelning som gjordes igår kan inte svara på en challenge som genererades för 8 sekunder sedan. En skärm som visar en annan skärm saknar korrekt parallax. En stillbild rör sig inte när telefonen rör sig.
---
## Signalerna i detalj
| Signal | Vad den mäter | Svår att förfalska? |
|--------|--------------|---------------------|
| Gyrodata | Naturliga handhållna rörelser | Ja — kräver synkad servo |
| Accelerometer | Steg, vibrationer, tyngdkraft | Ja |
| Parallax | Djupförändring vid sidorörelse | Mycket — kräver 3D-modell |
| Fokusförändringar | Autofokus aktiverar vid avståndsbyte | Ja |
| Ljusskiftningar | Naturliga skuggor/reflexer i miljön | Delvis |
| GPS + tid | Plats och tidpunkt | Delvis (GPS-spoofing möjligt men detekterbart) |
| App Attest (iOS) | Enhetens integritet, ej jailbreakad | Hög |
| Play Integrity (Android) | Samma | Hög |
| Videoström-kontinuitet | Inga klipp, inga frame-hopp | Ja |
| Challenge-respons | Rätt rörelse vid rätt tidpunkt | Mycket hög |
---
## Evidenspaketet (uppdaterat)
Utöver frames innehåller paketet nu sensor-telemetri:
```json
{
"control_point": "electricity_meter",
"session_id": "sess_abc123",
"liveness_score": 97,
"liveness_signals": {
"gyro_natural": true,
"parallax_verified": true,
"focus_changes": 4,
"gps_match": true,
"app_attest": true,
"stream_continuous": true,
"challenge_responses": 3,
"challenge_pass_rate": 1.0
},
"evidence": [
{ "requirement_id": "e1", "frame": "frame_142.jpg", "confidence": 0.97 },
{ "requirement_id": "e2", "frame": "frame_198.jpg", "confidence": 0.94, "value": "SE-4821-9938-01" },
{ "requirement_id": "e3", "frame": "frame_265.jpg", "confidence": 0.91, "value": "04821.3" },
{ "requirement_id": "e4", "frame": "frame_302.jpg", "confidence": 0.88 }
],
"geo": { "lat": 59.334, "lng": 18.063, "accuracy_m": 4 },
"scan_duration_ms": 23400
}
```
---
## Vad detta innebär för marknaden
**Foto-verifiering** (konkurrenterna): bilder + metadata. Körbar på 2015 års teknik. Lätt att fuska.
**quiXzoom Verified Reality**: kryptografiskt attesterat evidenspaket med sensor-korrelation och challenge-response. Omöjligt att fabricera utan att vara på platsen med rätt enhet vid rätt tidpunkt.
Det öppnar marknader som kräver juridisk bevisning:
- Försäkringsärenden (bevisbörda)
- Infrastrukturkontroller (myndighetsrapportering)
- Fastighetsbesiktning (tvister)
- KYC / adressverifiering (bank/fintech)
För dessa köpare är "förtroende" inte ett mjukt värde — det är ett juridiskt krav.
---
## Arkitekturkonsekvenser
1. **Sensor-pipeline** måste vara native (React Native räcker inte för gyro-sampling i hög frekvens) → native iOS/Android modul
2. **Challenge-generator** måste vara server-side och stateless → kan inte förutsägas av klienten
3. **App Attest / Play Integrity** måste integreras från dag 1 — retroaktiv integration är svår
4. **Liveness Score-modellen** måste kalibreras per uppdragstyp — inte en global tröskel
5. **Audit trail** är nu ett rättsligt underlag, inte bara en logg → immutable storage, signerat
---
## Öppna frågor (uppdaterade)
1. **Liveness Score-tröskel per uppdragstyp** — vem sätter dem? Uppdragsgivaren, quiXzoom, eller automatisk kalibrering?
2. **Challenge-sekvens-längd** — hur många challenges per session utan att det känns irriterande?
3. **GPS-spoofing** — accepterar vi att det går att fuska med GPS om alla andra signaler är gröna?
4. **Offline-liveness** — App Attest kräver nät. Hur hanterar vi scanning i tunnlar/källare?
5. **Juridisk status** — behöver vi ett yttrande om beviskraft i svensk/EU-rätt för att sälja till försäkringsbolag?
---
*Bygger på: QUIXZOOM_SMART_SCAN.md, QUIXZOOM_AVO_MASTERPROMPT_V2.md*
*Nästa steg: Native iOS proof-of-concept för gyro-pipeline + challenge-response.*