VisionGuardAI
Arhitectură tehnică

Cum funcționează VisionGuard

Două straturi: un agent Python care rulează local la tine (on-prem) și un panou de orchestrare în cloud. Frame-urile video nu părăsesc niciodată rețeaua locală.


┌────────────────────────────────────────────────────────────────┐
│   LOCAȚIA TA (rețea internă)                                   │
│                                                                │
│   ┌─────────────┐    RTSP     ┌──────────────────────────┐     │
│   │ Camere IP   │ ──────────▶ │  Agent on-prem (Python)  │     │
│   │ ONVIF/RTSP  │  sub-stream │  • Roboflow Inference    │     │
│   │ x17         │  640x360    │  • YOLO fall detection   │     │
│   └─────────────┘  20 fps     │  • GPU local             │     │
│                                └────────────┬─────────────┘     │
│                                             │ HTTPS             │
└─────────────────────────────────────────────┼─────────────────┘
                                              │ POST /api/public/
                                              │   ingest-fall-event
                                              ▼
┌────────────────────────────────────────────────────────────────┐
│   CLOUD (VisionGuard)                                          │
│                                                                │
│   ┌──────────────┐  ┌──────────────┐  ┌─────────────────┐     │
│   │ Server API   │─▶│  Postgres    │─▶│  Realtime push  │     │
│   │ (TanStack)   │  │  + RLS       │  │  → Dashboard    │     │
│   └──────┬───────┘  └──────────────┘  └─────────────────┘     │
│          │ async                                                │
│          ▼                                                      │
│   ┌──────────────┐                                              │
│   │  SMS Gateway │  ──▶  Asistente, medic-șef tură              │
│   │  (Twilio)    │                                              │
│   └──────────────┘                                              │
└────────────────────────────────────────────────────────────────┘

1. Camerele IP existente

Funcționează cu orice cameră IP compatibilă ONVIF/RTSP — indiferent de producător. Folosim sub-stream-ul (640x360 @ 20fps) pentru a reduce încărcarea agentului și a păstra main-stream-ul (1080p) nealterat pentru NVR-ul existent.

2. Agent on-prem (Python)

Container care rulează în rack-ul tău (spital, șantier, fabrică, depozit). Conectare directă la camere prin VLAN intern. Procesare frame-by-frame cu modele YOLO antrenate pentru detecția evenimentelor relevante. Confirmare 2 secunde consecutive anti-flicker. Trimite în cloud doar evenimentul cu snapshot static la momentul detectării — nu video.

3. Comunicare cu cloud-ul

Agentul autentifică fiecare request cu un API key unic (X-Agent-Api-Key), bcrypt-uit la stocare. Heartbeat la 30s pentru a actualiza statusul fiecărei camere (online/offline) în dashboard.

4. Cloud orchestration

Stocare doar metadata: timestamp, confidence, camera_id, snapshot path. Snapshot-urile stau în bucket privat — accesul se face doar prin signed URL temporar generat server-side, fiecare vizualizare scrisă în audit log.

5. Alertare SMS

Engine-ul de routing alege destinatarii pe baza secției camerei și a turei active (shift_start / shift_end pe fiecare destinatar). Mesajul include nume salon, oră, confidence și link direct în dashboard pentru confirmare cu un click.

6. Securitate & GDPR

RLS pe toate tabelele. Cheile RTSP nu sunt returnate către client după salvare (doar mascate). Audit log pentru: vizualizare snapshot, export CSV, ștergere eveniment, login, schimbare rol. Right-to-be-forgotten la cerere — purge events + snapshots dintr-un interval, by admin.