GDPR i zaštita podataka
Zaštita podataka po dizajnu (Privacy-by-Design)
qr3.app je od samog početka izgrađen u skladu s GDPR-om:
- Pseudonimizacija IP adresa — IP adrese se u Edge Workeru odmah pretvaraju u HMAC-SHA-256 UTC-dnevne pseudonime. Izvorni IP nikada se ne pohranjuje; pseudonim ostaje osobni podatak.
- Smanjenje količine podataka — Prikupljaju se samo podaci nužni za rad.
Privacy-API
Sažetak podataka (čl. 15. GDPR-a)
GET /v1/account/privacy — Vraća pregled svih pohranjenih podataka.
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" } ] } }}Izvoz podataka (čl. 20. GDPR-a — prenosivost podataka)
GET /v1/account/export — Preuzima sve podatke kao JSON datoteku.
curl https://qr3.app/v1/account/export \ -H "Authorization: Bearer qr3_sk_..." \ -o meine-daten.jsonIzvoz sadrži:
- Sve QR kodove (uključujući obrisane)
- Agregiranu statistiku skeniranja (bez sirovih IP hasheva)
- Vremenske oznake stvaranja i izmjene
Brisanje računa (čl. 17. GDPR-a — pravo na zaborav)
DELETE /v1/account — Nepovratno brisanje svih podataka.
curl -X DELETE https://qr3.app/v1/account \ -H "Authorization: Bearer qr3_sk_..."Što se događa:
- Svi QR kodovi bit će meko obrisani (arhivirani)
- Svi zapisi o skeniranju bit će trajno obrisani (PII)
- Svi API ključevi bit će opozvani
- KV-Cache bit će poništen
Upravljanje privolama
GET /v1/account/privacy/consents — Dohvaćanje trenutnih privola.
POST /v1/account/privacy/consents — Ažuriranje privola.
# 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 }'Polja privole:
| Polje | Zadano | Opis |
|---|---|---|
marketing_emails | false | Newsletter i promotivne e-poruke |
analytics | true | Agregirana statistika korištenja |
product_updates | true | Novosti o proizvodima i zapisi o promjenama (Changelogs) |
Tehnička implementacija GDPR-a
Pseudonimizacija IP adresa (čl. 25. GDPR-a)
HTTP zahtjev → Cloudflare Edge Worker ↓Zaglavlje CF-Connecting-IP → HMAC-SHA-256(IP_HASH_SALT, svrha, UTC dan, IP) ↓ip_hash (dnevni pseudonim) → baza podataka D1 ↓Izvorni IP nikada se ne pohranjujeIP_HASH_SALT je dugotrajna glavna tajna; svrha i UTC dan automatski izvode odvojene dnevne pseudonime. Pseudonimi različitih UTC dana nisu izravno jednaki, ali vlasnik tajne može ponovno izračunati poznatog kandidata IP adrese za određeni dan. Ne koristi se dnevna sol u KV-u ni ručna dnevna rotacija.
Zadržavanje podataka (automatizirano)
| Paket | Zadržavanje |
|---|---|
| Svi paketi | 90 dana |
DPA s podizvršiteljima obrade
Cloudflare, Inc. obrađuje podatke kao izvršitelj obrade. DPA je dostupan na cloudflare.com/cloudflare-customer-dpa.
Cloudflare obrađuje podatke na poslužiteljima u EU (Frankfurt). Standardne ugovorne klauzule (SCC) prema čl. 46. GDPR-a su na snazi.
Kontakt
- Službenik za zaštitu podataka: [email protected]
- Ugovor o obradi podataka (DPA): [email protected] (na zahtjev)
- Pravila o privatnosti: qr3.app/de/legal/datenschutz