GDPR in varstvo podatkov
Vgrajeno varstvo podatkov (Privacy by Design)
qr3.app je od samega začetka zasnovan v skladu z GDPR:
- Anonimizacija IP-naslovov — IP-naslovi se v Edge-Workerju takoj pretvorijo v zgoščene vrednosti SHA-256 (z dnevno spreminjajočo se soljo/salt). Izvirni IP nikoli ne doseže podatkovne baze.
- Pravila o hrambi (Retention-Policies) — Podatki o skeniranju se samodejno izbrišejo po preteku obdobja, ki je odvisno od paketa (Free: 7 dni, Pro: 90 dni, Business: 1 leto).
- Minimizacija podatkov — Zbirajo se le podatki, ki so nujno potrebni za delovanje.
Privacy-API
Povzetek podatkov (čl. 15 GDPR)
GET /v1/account/privacy — Vrne pregled vseh shranjenih podatkov.
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 podatkov (čl. 20 GDPR — prenosljivost podatkov)
GET /v1/account/export — Prenese vse podatke kot datoteko JSON.
curl https://qr3.app/v1/account/export \ -H "Authorization: Bearer qr3_sk_..." \ -o meine-daten.jsonIzvoz vsebuje:
- Vse kode QR (vključno z izbrisanimi)
- Agregirano statistiko skeniranj (brez surovih zgoščenih vrednosti IP)
- Časovne žige ustvarjanja in sprememb
Izbris računa (čl. 17 GDPR — pravica do pozabe)
DELETE /v1/account — Nepovratni izbris vseh podatkov.
curl -X DELETE https://qr3.app/v1/account \ -H "Authorization: Bearer qr3_sk_..."Kaj se zgodi:
- Vse kode QR so mehko izbrisane (arhivirane)
- Vsi zapisi o skeniranju so trajno izbrisani (PII)
- Vsi ključi API so preklicani
- Predpomnilnik KV se razveljavi
Upravljanje privolitev
GET /v1/account/privacy/consents — Pridobitev trenutnih privolitev.
POST /v1/account/privacy/consents — Posodobitev privolitev.
# 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 privolitve:
| Polje | Privzeto | Opis |
|---|---|---|
marketing_emails | false | E-novice in oglaševalska e-poštna sporočila |
analytics | true | Agregirana statistika uporabe |
product_updates | true | Novosti o izdelkih in dnevniki sprememb (changelogs) |
Tehnična implementacija GDPR
Anonimizacija IP-naslovov (čl. 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 gespeichertSol (salt) se spreminja vsak dan ob polnoči UTC. S tem je tudi ob poznavanju soli onemogočena meddnevna korelacija IP-naslovov.
Hramba podatkov (avtomatizirana)
Dnevno opravilo cron (purgeOldScans) izbriše podatke o skeniranju po preteku obdobja, ki je odvisno od paketa:
| Paket | Hramba |
|---|---|
| Free | 7 dni |
| Pro | 90 dni |
| Business / Agency | 1 leto |
| Enterprise | Po meri (SLA) |
DPA s podobdelovalci
Cloudflare, Inc. obdeluje podatke kot pogodbeni obdelovalec. Pogodba o obdelavi podatkov (DPA) je na voljo na naslovu cloudflare.com/cloudflare-customer-dpa.
Cloudflare obdeluje podatke na strežnikih v EU (Frankfurt). Veljajo standardne pogodbene klavzule (SCC) v skladu s čl. 46 GDPR.
Kontakt
- Pooblaščena oseba za varstvo podatkov: [email protected]
- Pogodba o obdelavi podatkov (DPA): [email protected] (na zahtevo)
- Pravilnik o zasebnosti: qr3.app/de/legal/datenschutz