Aller au contenu

RGPD & Protection des données

Privacy by Design

qr3.app est conçu dès le départ pour être conforme au RGPD :

  • Anonymisation des IP — Les adresses IP sont immédiatement converties en hachages SHA-256 (avec un sel rotatif quotidien) dans le Edge Worker. L’IP d’origine n’atteint jamais la base de données.
  • Politiques de rétention — Les données de scan sont automatiquement supprimées après un délai dépendant de l’abonnement (Free : 7 jours, Pro : 90 jours, Business : 1 an).
  • Minimisation des données — Seules les données nécessaires au fonctionnement sont collectées.

API Privacy

Résumé des données (Art. 15 RGPD)

GET /v1/account/privacy — Retourne un aperçu de toutes les données stockées.

Fenêtre de terminal
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" }
]
}
}
}

Export des données (Art. 20 RGPD — Portabilité des données)

GET /v1/account/export — Télécharge toutes les données sous forme de fichier JSON.

Fenêtre de terminal
curl https://qr3.app/v1/account/export \
-H "Authorization: Bearer qr3_sk_..." \
-o meine-daten.json

L’export contient :

  • Tous les QR Codes (y compris ceux supprimés)
  • Des statistiques de scan agrégées (pas de hachages IP bruts)
  • Les horodatages de création et de modification

Supprimer le compte (Art. 17 RGPD — Droit à l’oubli)

DELETE /v1/account — Suppression irréversible de toutes les données.

Fenêtre de terminal
curl -X DELETE https://qr3.app/v1/account \
-H "Authorization: Bearer qr3_sk_..."

Ce qui se passe :

  1. Tous les QR Codes sont soft-deleted (archivés)
  2. Tous les enregistrements de scan sont définitivement supprimés (PII)
  3. Toutes les clés API sont révoquées
  4. Le cache KV est invalidé

Gérer les consentements

GET /v1/account/privacy/consents — Récupérer les consentements actuels.

POST /v1/account/privacy/consents — Mettre à jour les consentements.

Fenêtre de terminal
# 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 }'

Champs de consentement :

ChampPar défautDescription
marketing_emailsfalseNewsletter et e-mails promotionnels
analyticstrueStatistiques d’utilisation agrégées
product_updatestrueNouveautés produits et changelogs

Implémentation technique du RGPD

Anonymisation des IP (Art. 25 RGPD)

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

Le sel tourne quotidiennement à minuit UTC. Ainsi, même si le sel est connu, aucune corrélation d’IP d’un jour à l’autre n’est possible.

Rétention des données (automatisée)

Une tâche Cron exécutée quotidiennement (purgeOldScans) supprime les données de scan après un délai dépendant de l’abonnement :

PlanRétention
Free7 jours
Pro90 jours
Business / Agency1 an
EnterprisePersonnalisé (SLA)

DPA sous-traitant

Cloudflare, Inc. traite les données en tant que sous-traitant. L’accord de traitement des données (DPA) est disponible sur cloudflare.com/cloudflare-customer-dpa.

Cloudflare traite les données sur des serveurs situés dans l’UE (Francfort). Les clauses contractuelles types (CCT) conformément à l’Art. 46 RGPD sont en vigueur.


Contact