GDPR & ochrana osobních údajů
Ochrana soukromí od návrhu (Privacy by Design)
qr3.app je od základu navržen v souladu s GDPR:
- Anonymizace IP adres — IP adresy jsou v Edge Workeru okamžitě převedeny na hashe SHA-256 (s denně rotující solí). Původní IP adresa se do databáze nikdy nedostane.
- Zásady uchovávání dat (Retention Policies) — Data o skenování jsou automaticky mazána po uplynutí lhůty závislé na tarifu (Free: 7 dní, Pro: 90 dní, Business: 1 rok).
- Minimalizace dat — Shromažďují se pouze data nezbytná pro provoz.
Privacy API
Přehled údajů (čl. 15 GDPR)
GET /v1/account/privacy — Vrací přehled všech uložených dat.
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" } ] } }}Export dat (čl. 20 GDPR — přenositelnost údajů)
GET /v1/account/export — Stáhne všechna data jako soubor JSON.
curl https://qr3.app/v1/account/export \ -H "Authorization: Bearer qr3_sk_..." \ -o meine-daten.jsonExport obsahuje:
- Všechny QR kódy (včetně smazaných)
- Agregované statistiky skenování (žádné surové hashe IP adres)
- Časová razítka vytvoření a změny
Smazání účtu (čl. 17 GDPR — právo na být zapomenut)
DELETE /v1/account — Nevratné smazání všech dat.
curl -X DELETE https://qr3.app/v1/account \ -H "Authorization: Bearer qr3_sk_..."Co se stane:
- Všechny QR kódy budou soft-deleted (archivovány)
- Všechny záznamy o skenování budou trvale smazány (PII)
- Všechny API klíče budou zneplatněny
- KV cache bude invalidována
Správa souhlasů
GET /v1/account/privacy/consents — Získat aktuální souhlasy.
POST /v1/account/privacy/consents — Aktualizovat souhlasy.
# 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 }'Pole souhlasu:
| Pole | Výchozí | Popis |
|---|---|---|
marketing_emails | false | Newslettery a reklamní e-maily |
analytics | true | Agregované statistiky používání |
product_updates | true | Novinky o produktech a changelogy |
Technická implementace GDPR
Anonymizace IP adres (č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 gespeichertSůl rotuje každý den o půlnoci UTC. Díky tomu není ani při znalosti soli možná korelace IP adres mezi jednotlivými dny.
Uchovávání dat (automatizované)
Denně spouštěná cron úloha (purgeOldScans) maže data o skenování po uplynutí lhůty závislé na tarifu:
| Tarif | Uchovávání (Retention) |
|---|---|
| Free | 7 dní |
| Pro | 90 dní |
| Business / Agency | 1 rok |
| Enterprise | Vlastní (SLA) |
Zpracovatelská smlouva (DPA) subdodavatelů
Společnost Cloudflare, Inc. zpracovává data jako zpracovatel. Smlouva DPA je k dispozici na adrese cloudflare.com/cloudflare-customer-dpa.
Cloudflare zpracovává data na serverech v EU (Frankfurt). V platnosti jsou standardní smluvní doložky (SCC) podle čl. 46 GDPR.
Kontakt
- Pověřenec pro ochranu osobních údajů: [email protected]
- Smlouva o zpracování osobních údajů (DPA): [email protected] (na vyžádání)
- Zásady ochrany osobních údajů: qr3.app/de/legal/datenschutz