Sari la conținut

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.

Terminal window
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",
"contact": "[email protected]"
},
"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.

Terminal window
curl https://qr3.app/v1/account/export \
-H "Authorization: Bearer qr3_sk_..." \
-o meine-daten.json

Exportul 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.

Terminal window
curl -X DELETE https://qr3.app/v1/account \
-H "Authorization: Bearer qr3_sk_..."

Ce se întâmplă:

  1. Toate codurile QR sunt șterse logic (soft-deleted / arhivate)
  2. Toate înregistrările de scanare sunt șterse definitiv (PII)
  3. Toate cheile API sunt revocate
  4. 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.

Terminal window
# Aktuelle Einwilligungen abrufen
curl https://qr3.app/v1/account/privacy/consents \
-H "Authorization: Bearer qr3_sk_..."
# Marketing-E-Mails deaktivieren
curl -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âmpImplicitDescriere
marketing_emailsfalseNewslettere și e-mailuri promoționale
analyticstrueStatistici de utilizare agregate
product_updatestrueNoutăț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 gespeichert

Salt-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:

PlanRetenție
Free7 zile
Pro90 de zile
Business / Agency1 an
EnterprisePersonalizat (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