Criptare & Protecția Datelor
Ce este criptat, cum și de ce — protejând datele pacienților la fiecare nivel.
Criptare în Tranzit
Toate datele care se deplasează între utilizatori și platformă sunt criptate folosind TLS (HTTPS). Aceasta include:
- Browser la aplicație (portalul pacientului, aplicația clinicii)
- Aplicație la baza de date
- Aplicație la servicii externe (Clerk, Daily.co, AWS S3)
Nicio conexiune necriptată nu este acceptată.
Criptare în Repaus
Datele pacienților sunt criptate la stocare, pe două niveluri:
Criptarea infrastructurii
Baza de date (AWS RDS PostgreSQL) criptează toate datele stocate folosind AES-256. Aceasta protejează împotriva accesului fizic la hardware-ul de stocare — dacă cineva ar obține hard disk-ul, datele ar fi imposibil de citit.
Criptarea la nivel de aplicație
Câmpurile cele mai sensibile primesc un nivel suplimentar de criptare aplicat de aplicație înainte ca datele să ajungă la baza de date:
| Câmp | De Ce Criptare Suplimentară |
|---|---|
| Numerele de telefon ale pacienților | Informații de contact direct ale pacientului |
| Chei API | Credențiale care acordă acces la sistem |
Criptarea la nivel de aplicație înseamnă că chiar și cineva cu acces direct la baza de date (un administrator de baze de date, de exemplu) nu poate citi aceste câmpuri fără cheile de criptare ale aplicației.
Cum sunt gestionate cheile
- Cheile de criptare sunt stocate în AWS Key Management Service (KMS) — un sistem dedicat și auditat de stocare a cheilor
- Cheile nu sunt niciodată stocate în codul aplicației, fișierele de configurare sau variabilele de mediu
- Accesul la chei este înregistrat — fiecare operațiune de criptare și decriptare este consemnată
- Cheile sunt rotite periodic — cheile vechi sunt păstrate pentru decriptarea datelor existente în timp ce datele noi folosesc chei actualizate
Ce NU Este Criptat la Nivel de Aplicație
Majoritatea datelor pacienților (nume, date de naștere, istoric medical, răspunsuri la formulare) se bazează numai pe criptarea infrastructurii. Aceasta este o decizie deliberată de design:
- Criptarea infrastructurii protejează împotriva accesului fizic și a breșelor la nivel de baze de date
- Criptarea la nivel de aplicație adaugă complexitate semnificativă la interogare și indexare
- Câmpurile care trebuie să fie căutabile sau sortabile nu pot fi criptate la nivel de aplicație fără tehnici specializate
Câmpurile alese pentru criptarea la nivel de aplicație sunt cele care sunt atât foarte sensibile, cât și rar interogate direct.
Protecția Datelor Dincolo de Criptare
| Măsură | Ce Face |
|---|---|
| Row-Level Security | Previne accesul cross-clinic la date la nivelul bazei de date |
| Jurnalizare audit | Înregistrează cine a accesat ce date și când |
| Imutabilitatea formularelor semnate | Previne falsificarea documentelor de consimțământ semnate și a documentelor clinice |
| Mascarea datelor personale în jurnale | Parolele, token-urile și cheile API nu sunt niciodată scrise în jurnale |
| Analiză pseudoanonimizată | Datele de analiză folosesc identificatori hashed — fără identificatori direcți ai pacientului în baza de date de analiză |
Pentru dezvoltatori
Detalii tehnice — algoritmi de criptare, proceduri de rotație a cheilor, configurare KMS și implementarea criptării la nivel de câmp — sunt disponibile în referințele Criptare și Rotație Chei.