GDPR & Protecția Datelor
Protecție a datelor implicită (Privacy by Design)
qr3.app este construit de la zero pentru a fi conform cu GDPR:
- Anonimizarea IP-urilor — Adresele IP sunt convertite instantaneu în hash-uri SHA-256 (cu un salt care se rotește zilnic) în Edge Worker. IP-ul original nu ajunge niciodată în baza de date.
- Politici de retenție — Datele de scanare sunt șterse automat după o perioadă care depinde de planul ales (Free: 7 zile, Pro: 90 de zile, Business: 1 an).
- Minimizarea datelor — Sunt colectate doar datele strict necesare pentru funcționare.
API de Confidențialitate (Privacy API)
Rezumatul datelor (Art. 15 GDPR)
GET /v1/account/privacy — Returnează o prezentare generală a tuturor datelor stocate.
curl https://qr3.app/v1/account/privacy \ -H "Authorization: Bearer qr3_sk_..."Response:
{ "data": { "workspace_id": "ws_xxx", "stored_data": { "qr_codes": { "count": 42, "oldest_at": "2026-03-01T..." }, "scan_records": { "count": 15000, "oldest_at": "2026-03-01T..." }, "api_keys": { "count": 2 }, "webhooks": { "count": 1 } }, "your_rights": { "access": "GET /v1/account/export", "erasure": "DELETE /v1/account", }, "data_processing": { "legal_basis": "Contract performance (Art. 6(1)(b) GDPR)", "sub_processors": [ { "name": "Cloudflare, Inc.", "purpose": "CDN, edge computing, database" } ] } }}Exportul de date (Art. 20 GDPR — Portabilitatea datelor)
GET /v1/account/export — Descarcă toate datele sub forma unui fișier JSON.
curl https://qr3.app/v1/account/export \ -H "Authorization: Bearer qr3_sk_..." \ -o meine-daten.jsonExportul conține:
- Toate codurile QR (inclusiv cele șterse)
- Statistici de scanare agregate (fără hash-uri IP brute)
- Marcaje temporale de creare și modificare
Ștergerea contului (Art. 17 GDPR — Dreptul de a fi uitat)
DELETE /v1/account — Ștergerea irevocabilă a tuturor datelor.
curl -X DELETE https://qr3.app/v1/account \ -H "Authorization: Bearer qr3_sk_..."Ce se întâmplă:
- Toate codurile QR sunt șterse logic (soft-deleted / arhivate)
- Toate înregistrările de scanare sunt șterse definitiv (PII)
- Toate cheile API sunt revocate
- Cache-ul KV este invalidat
Gestionarea consimțămintelor
GET /v1/account/privacy/consents — Obținerea consimțămintelor actuale.
POST /v1/account/privacy/consents — Actualizarea consimțămintelor.
# Aktuelle Einwilligungen abrufencurl https://qr3.app/v1/account/privacy/consents \ -H "Authorization: Bearer qr3_sk_..."
# Marketing-E-Mails deaktivierencurl -X POST https://qr3.app/v1/account/privacy/consents \ -H "Authorization: Bearer qr3_sk_..." \ -H "Content-Type: application/json" \ -d '{ "marketing_emails": false, "analytics": true, "product_updates": true }'Câmpurile de consimțământ:
| Câmp | Implicit | Descriere |
|---|---|---|
marketing_emails | false | Newslettere și e-mailuri promoționale |
analytics | true | Statistici de utilizare agregate |
product_updates | true | Noutăți despre produse și changelog-uri |
Implementarea tehnică a GDPR
Anonimizarea IP-urilor (Art. 25 GDPR)
HTTP Request → Cloudflare Edge Worker ↓CF-Connecting-IP Header → SHA-256(IP + täglicher Salt) ↓ip_hash (nicht reversibel) → D1 Datenbank ↓Original-IP wird NIEMALS gespeichertSalt-ul se rotește zilnic la miezul nopții UTC. Astfel, chiar dacă salt-ul este cunoscut, nu este posibilă nicio corelare a IP-urilor de la o zi la alta.
Retenția datelor (automatizată)
Un job cron rulat zilnic (purgeOldScans) șterge datele de scanare după o perioadă care depinde de planul ales:
| Plan | Retenție |
|---|---|
| Free | 7 zile |
| Pro | 90 de zile |
| Business / Agency | 1 an |
| Enterprise | Personalizat (SLA) |
Acordul de prelucrare a datelor (DPA) cu subcontractanții
Cloudflare, Inc. prelucrează datele în calitate de persoană împuternicită de operator. Acordul DPA este disponibil la cloudflare.com/cloudflare-customer-dpa.
Cloudflare prelucrează datele pe servere din UE (Frankfurt). Clauzele contractuale standard (SCC) conform Art. 46 GDPR sunt în vigoare.
Contact
- Responsabil cu protecția datelor: [email protected]
- Acord de prelucrare a datelor (DPA): [email protected] (la cerere)
- Politică de confidențialitate: qr3.app/de/legal/datenschutz