Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 02-architecture/BIOMETRIC_ENGINE_ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ Nice to have. Server-side alternatives exist for all of these.
|-----------|---------------|-----------------|
| `PassiveLivenessDetector` | Texture/color/moire liveness scoring | Server-side liveness via `biometric-processor` is the primary authority. Client-side is supplementary. Gabor convolution is expensive; defer to Phase 3. |
| `EmbeddingComputer` | ONNX face embeddings | Server-side DeepFace embedding via REST API. **Note:** MobileFaceNet was removed per ADR 0003 (2026-04-18); the active client path is geometry-512 (landmark-based fallback). |
| `CardDetector` | ONNX YOLO card detection | Server-side YOLO (current production path) |
| `CardDetector` | ONNX YOLO card detection | None — client-only in production; the server-side YOLO card path was removed (web-app #111) |

---

Expand Down
6 changes: 3 additions & 3 deletions 09-auth-flows/01-PLATFORM_CAPABILITY_MATRIX.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,10 @@ FIVUCSAS supports **5 client platforms** and **10 authentication methods** acros
#### Card Detection (ID Document Scan)
- **Input**: Camera captures image of physical document
- **Platforms**: All camera-equipped devices
- **Dependencies**: Biometric Processor API (`/api/v1/card/detect` - YOLO-based)
- **Processing**: Server-side (image classification + OCR)
- **Dependencies**: In-browser ONNX YOLOv8n (client-side detection, web-app #111); Biometric Processor API only for OCR/MRZ on the captured crop
- **Processing**: Client-side detection/classification; server-side OCR only
- **Enrollment**: Capture front/back of ID document, extract and verify data
- **Offline Capable**: No (requires biometric processor)
- **Offline Capable**: Detection yes (client-side ONNX runs without server); OCR/MRZ extraction still requires the biometric processor

---

Expand Down
2 changes: 1 addition & 1 deletion 09-auth-flows/03-ENROLLMENT_FLOWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,7 @@ Step 1: Document Photo Capture
- Capture front of ID document

Step 2: Document Classification
- POST /api/v1/card/detect (biometric processor, YOLO-based)
- In-browser YOLOv8n ONNX detection (client-only, web-app #111; no server round-trip)
- Detect document type: passport, national ID, driver's license, etc.

Step 3: Data Extraction
Expand Down
8 changes: 4 additions & 4 deletions plans/CLIENT_SIDE_ML_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The server has no GPU. All heavy ML **inference for auth decisions** stays serve
| Voice VAD | **Primary** (Phase 4, this plan) | — | In progress |
| Voice embedding | — | **Only** (Resemblyzer 256-dim) | Server only, V2 may revisit |
| Voice 1:1 verify | — | **Only** | Server only |
| Card detection | **Primary** (YOLOv8n ONNX / WASM) | Fallback | Wired, awaiting model file (Phase 3) |
| Card detection | **Only** (YOLOv8n ONNX / WASM, in-browser) | | Live — client-only; server fallback removed (web-app #111). True 12.3 MB YOLOv8n delivered + integrated (web-app #109, biometric-processor #116) |
| Card OCR + MRZ | — | **Only** | Server only |
| Proctoring gaze / deepfake / object | — | **Only** | Server only |

Expand Down Expand Up @@ -80,10 +80,10 @@ Live in browser. No action needed. Model bundled with MediaPipe runtime.
| Property | Value |
|---|---|
| Format | ONNX (WASM) |
| Size | ~6.2 MB |
| Size | ~12.3 MB (true YOLOv8n, opset 12) |
| Input | 640×640 RGB (letterboxed) |
| Output | Bounding boxes + class |
| Role | Real-time client overlay; crop sent to server for OCR + MRZ. Server fallback on missing model. |
| Role | Real-time client overlay + detection (client-only); crop sent to server for OCR + MRZ. No server fallback for detection (removed, web-app #111). |

### 4.5 Passive Liveness — MobileNet-v3 Anti-Spoof
Currently heuristic (texture/moire/color) in `PassiveLivenessDetector.ts`. No neural model. Phase 5 will wire it into a gating threshold or demote it — no new model purchase required.
Expand All @@ -105,7 +105,7 @@ Currently heuristic (texture/moire/color) in `PassiveLivenessDetector.ts`. No ne
"base_url": "https://app.fivucsas.com/models",
"files": [
{"name": "mobilefacenet.onnx", "sha256": "<hash>", "bytes": 4915200},
{"name": "yolo-card-nano.onnx", "sha256": "<hash>", "bytes": 6500000},
{"name": "yolo-card-nano.onnx", "sha256": "<hash>", "bytes": 12300000},
{"name": "silero-vad.onnx", "sha256": "<hash>", "bytes": 1850000}
]
}
Expand Down
2 changes: 1 addition & 1 deletion presentations/SPRING_2026_FINAL_PRESENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ function App() {
| High | Widget dogfooding — use own widget in web-app login | In Progress |
| High | Mobile app backend integration tests | URLs configured |
| Medium | SMS gateway (Twilio) production activation | Code ready |
| Medium | Client-side ONNX card detection (replacing server YOLO) | In Progress |
| Medium | Client-side ONNX card detection (replacing server YOLO) | Done (web-app #111; server YOLO card path removed) |
| Low | ISO/IEC 30107 compliance certification | Future |
| Low | Full WebAuthn attestation (CBOR) | Research |
| Future | iOS app UI implementation | Framework ready |
Expand Down
Loading