Datele dvs. rămân în Europa.
DentalPolyglot e construit de europeni, pentru cabinete europene, pe infrastructură europeană. Datele pacienților nu traversează niciodată Atlanticul. Criptare în repaus și în tranzit. GDPR e nivelul minim, nu plafonul.
Trei angajamente. Scrise în platformă.
Datele rămân în UE.
Dosarele pacienților, conversații, planuri de tratament, atașamente: totul stă la Frankfurt pe regiunea fra1 a Vercel, cu baza de date în clusterul UE Neon. Nimic nu se replică peste Atlantic. Nimic.
Vă aparțin. Noi doar le păstrăm.
Puteți exporta oricând conținutul cabinetului și căsuța cu solicitări, în formate care nu vă leagă. Nu vindem date, nu le analizăm, nu antrenăm modele pe ele.
GDPR e doar punctul de plecare.
Setări implicite sigure pentru cont. Parolele sunt protejate cu Argon2id, niciodată stocate în clar, iar fiecare parolă nouă este verificată față de baza HaveIBeenPwned la momentul setării. Sesiunile sunt HttpOnly și semnate HMAC. Dreptul de a fi uitat, pentru cabinet și pacient, executat în 30 de zile de la cerere.
Astăzi, o singură regiune. Mereu în UE.
DentalPolyglot rulează pe regiunea Frankfurt a Vercel (fra1), cu baza de date în clusterul UE Neon. Nu replicăm nimic în Statele Unite, Marea Britanie sau oriunde în afara UE. CDN-ul nostru e edge-ul UE al Vercel, emailurile tranzacționale trec prin infrastructura europeană Resend, iar datele de analiză nu părăsesc niciodată Vercel.
Recuperarea în caz de dezastru multi-regională este planificată pentru 2026. Când o vom activa, vom publica arhitectura și regiunile pe această pagină înainte ca vreun bit de date să se miște.
Criptat în repaus. Criptat în tranzit.
Două roluri. Fiecare interogare delimitată la nivel de bază de date.
Fiecare furnizor. Fiecare țară.
Fiecare terță parte care atinge date pe care le păstrăm pentru dvs. Anunțăm cabinetele în scris cu 30 de zile înainte de orice schimbare. Pe un DPA cu clauză de propagare, puteți obiecta față de un nou subîmputernicit și vom găsi împreună o soluție.
Anthropic e singurul furnizor cu sediu în SUA de pe această listă. Conținutul cabinetului (texte de pagină, text-sursă pentru planuri de tratament) ajunge la Claude doar când un cabinet cere o traducere. Folosim API-ul standard, care, conform Anthropic, nu e folosit pentru antrenarea modelelor lor. Nu trimitem identificatori ai pacienților în cererile de traducere.
Dosarele dentare sunt date medicale. Le tratăm ca atare.
Fotografii, radiografii, planuri de tratament, conversații între pacient și cabinet sunt date din categoria specială prevăzută de articolul 9 GDPR. Le păstrăm sub reguli mai stricte decât restul platformei.
Criptate la încărcare, niciodată indexate pentru căutare, niciodată folosite pentru antrenare ML. Au acces doar pacientul, cabinetul său și traducătorul DentalPolyglot alocat cazului.
Stocat criptat în repaus. Copiile traduse automat sunt derivate din original, niciodată partajate cu terți, șterse împreună cu sursa la cerere.
Generate pe server, arhivate ca PDF cu marca cabinetului, descărcabile de pacient și cabinet. Păstrate pe durata legală cerută de jurisdicția cabinetului.
Numele, emailul și telefonul pacientului se stochează separat de conținutul medical, legate doar prin ID-uri opace. Apărare în profunzime: o breșă într-un strat nu expune celălalt strat.
Păstrăm dosarele pacienților atât timp cât cere legea locală a evidenței medicale (de regulă 10 ani în DE/AT/IT, 5 ani în RO). După aceea, sau mai devreme la cerere, dosarele se șterg, inclusiv din backupuri la următorul ciclu de snapshot.
Setări implicite solide. Tocmai asta e ideea: să fie plictisitor.
Autentificările ulterioare folosesc email și parolă. Parolele sunt protejate cu Argon2id (parametri aliniați la OWASP), niciodată stocate în clar, iar fiecare parolă nouă este verificată față de baza HaveIBeenPwned la momentul setării. Ați uitat-o? Un link de unică folosință către emailul verificat, fără întrebări de securitate, fără coduri prin SMS.
Sesiunile sunt HttpOnly, SameSite=lax, secure în producție. Numele cookie-ului și durata sunt constante în cod, nu reglate pe fiecare rută.
Fiecare interogare care citește date de cabinet filtrează după ID-ul de tenant derivat din sesiune. Nu avem niciodată încredere într-un ID trimis de client. Modelul e revizuit la fiecare schimbare.
Fiecare endpoint API validează corpul cererii printr-o schemă Zod înainte de orice acțiune. Input-urile malformate sunt respinse la ușă cu un cod de eroare clar.
Încercările de autentificare au rate-limit per IP și per email, fail-closed (o defecțiune Redis blochează, nu lasă să treacă). Traducerea IA și scrape-ul au rate-limit per cabinet, tot fail-closed. Formularele de contact au rate-limit per IP și fail-open (o pană scurtă Redis nu blochează niciodată un pacient real).
Fiecare pagină este servită cu o Content-Security-Policy strictă, cu nonce per cerere și strict-dynamic, plus header-ele de izolare cross-origin (COOP, COEP, CORP). Dacă un atacator ar reuși să injecteze conținut, browserul ar refuza să-l execute. securityheaders.com ne notează A+.
Webhook-urile Stripe și Resend sunt verificate la semnătură înainte să atingem payload-ul. Webhook-urile neverificate returnează 400 și nu ajung niciodată la baza de date.
Ați găsit ceva. Spuneți-ne.
Nu avem încă un program de bug bounty plătit. Citim însă fiecare raport de securitate, confirmăm în 24 de ore și reparăm rapid problemele critice. Dacă ați găsit ceva, scrieți-ne cu o descriere și pașii de reproducere. Credit public pe această pagină, dacă nu ne cereți să-l omitem.
Confirmăm primirea în 24 de ore. Ne propunem să rezolvăm problemele critice în 48 de ore, pe cele majore în 7 zile, pe cele medii în 30 de zile. Vă vom spune ce am făcut și ce am schimbat.
- · dentalpolyglot.com
- · site-uri tenant *.dentalpolyglot.com
- · Endpoint-urile noastre API
- · Teste de rate-limit sau volumetrice în producție
- · Inginerie socială asupra personalului sau cabinetelor
- · Atacuri fizice asupra infrastructurii
Avocați bineveniți.
Ofițeri de protecția datelor cu precădere.
Scrieți la privacy@dentalpolyglot.com și vom trimite ce trebuie într-o zi lucrătoare.