GDPR & dataskydd
Dataskydd genom design
qr3.app är byggt från grunden för att vara GDPR-kompatibelt:
- IP-anonymisering — IP-adresser omvandlas omedelbart till SHA-256-hashar (med ett dagligen roterande salt) i Edge-workern. Den ursprungliga IP-adressen når aldrig databasen.
- Lagringspolicyer — Skanningsdata raderas automatiskt efter en abonnemangsberoende period (Free: 7 dagar, Pro: 90 dagar, Business: 1 år).
- Dataminimering — Endast de uppgifter som är nödvändiga för driften samlas in.
Privacy-API
Sammanfattning av personuppgifter (Art. 15 GDPR)
GET /v1/account/privacy — Returnerar en översikt över alla sparade uppgifter.
curl https://qr3.app/v1/account/privacy \ -H "Authorization: Bearer qr3_sk_..."Svar:
{ "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" } ] } }}Dataexport (Art. 20 GDPR — dataportabilitet)
GET /v1/account/export — Laddar ner alla data som en JSON-fil.
curl https://qr3.app/v1/account/export \ -H "Authorization: Bearer qr3_sk_..." \ -o meine-daten.jsonExporten innehåller:
- Alla QR-koder (inklusive raderade)
- Aggregerad skanningsstatistik (inga råa IP-hashar)
- Tidsstämplar för skapande och ändring
Radera konto (Art. 17 GDPR — rätten att bli bortglömd)
DELETE /v1/account — Oåterkallelig radering av alla data.
curl -X DELETE https://qr3.app/v1/account \ -H "Authorization: Bearer qr3_sk_..."Vad som händer:
- Alla QR-koder mjukraderas (arkiveras)
- Alla skanningsposter raderas permanent (PII)
- Alla API-nycklar återkallas
- KV-cache ogiltigförklaras
Hantera samtycken
GET /v1/account/privacy/consents — Hämta aktuella samtycken.
POST /v1/account/privacy/consents — Uppdatera samtycken.
# 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 }'Samtyckesfält:
| Fält | Standard | Beskrivning |
|---|---|---|
marketing_emails | false | Nyhetsbrev och reklammejl |
analytics | true | Aggregerad användningsstatistik |
product_updates | true | Produktnyheter och ändringsloggar |
Teknisk GDPR-implementering
IP-anonymisering (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 gespeichertSaltet roterar varje dag vid midnatt UTC. Detta innebär att även om saltet är känt är det inte möjligt att korrelera IP-adresser över flera dagar.
Datalagring (automatiserad)
Ett dagligt cron-jobb (purgeOldScans) raderar skanningsdata efter en abonnemangsberoende period:
| Abonnemang | Lagringstid |
|---|---|
| Free | 7 dagar |
| Pro | 90 dagar |
| Business / Agency | 1 år |
| Enterprise | Anpassad (SLA) |
Underbiträdesavtal (DPA)
Cloudflare, Inc. behandlar uppgifter som personuppgiftsbiträde. Underbiträdesavtalet (DPA) finns tillgängligt på cloudflare.com/cloudflare-customer-dpa.
Cloudflare behandlar uppgifter på servrar inom EU (Frankfurt). Standardavtalsklausuler (SCC) i enlighet med art. 46 GDPR tillämpas.
Kontakt
- Dataskyddsombud: [email protected]
- Personuppgiftsbiträdesavtal (PUB-avtal): [email protected] (på begäran)
- Integritetspolicy: qr3.app/de/legal/datenschutz