Registre des activités de traitement (ROPA)
API QR Branding — art. 30 du RGPD
| Champ | Valeur |
|---|---|
| Responsable du traitement | QR Branding (Quartzon) |
| Date | 2026-03-08 |
| Version | 1.0 |
Activité 1 : génération de QR codes
| Champ | Description |
|---|---|
| Nom | Génération de QR codes personnalisés |
| Responsable du traitement | QR Branding |
| Finalité | Générer des images de QR (PNG/SVG/PDF/Base64) à partir du contenu et de la configuration fournis par l'utilisateur |
| Base juridique | Exécution d'un contrat — art. 6(1)(b) |
| Catégories de personnes concernées | Utilisateurs de l'API (développeurs, entreprises) et contacts inclus dans les vCard |
| Catégories de données | URL, texte libre, identifiants WiFi (SSID/mot de passe), coordonnées vCard (nom, e-mail, téléphone, adresse, organisation), géolocalisation, adresses e-mail, numéros de téléphone |
| Destinataires | Aucun : le traitement est exclusivement interne ; le résultat est renvoyé à l'utilisateur |
| Transferts internationaux | Non : traitement sur Azure (région d'hébergement) |
| Délais d'effacement | Immédiat : les données sont traitées en mémoire et supprimées après la réponse HTTP |
| Mesures de sécurité | TLS 1.2+, validation des entrées (OWASP), protection SSRF, suppression des métadonnées EXIF, limitation de débit, authentification RapidAPI, anonymisation des IP dans les journaux |
Activité 2A : QR codes générés par IA avec les comptes de QR Branding auprès des fournisseurs
| Champ | Description |
|---|---|
| Nom | Génération de designs de QR à l'aide de l'intelligence artificielle, avec les propres comptes de QR Branding auprès des fournisseurs de LLM |
| Périmètre | Le designer IA de qr-branding.com et l'endpoint géré de la marketplace (POST /api/qr/ai/generate-managed) |
| Responsable du traitement | QR Branding |
| Finalité | Générer une configuration de design de QR à partir d'un prompt en langage naturel |
| Base juridique | Exécution d'un contrat — art. 6(1)(b) |
| Modèle de clé API | Propres clés API de QR Branding. Chaque requête passe par une chaîne interne de fournisseurs de repli (Groq, Google Gemini, OpenAI) : si un fournisseur échoue, le suivant est essayé |
| Catégories de personnes concernées | Utilisateurs du site qr-branding.com et utilisateurs de l'API |
| Catégories de données | Prompt de design (texte libre) et paramètres de génération (style prédéfini, créativité, lisibilité stricte). Le contenu du QR n'est pas envoyé au LLM |
| Destinataires | Le fournisseur de LLM qui traite la requête dans la chaîne de repli |
| Sous-traitants | Groq, Inc., Google LLC (Gemini) et OpenAI, OpCo, LLC, tels qu'indiqués sur la page des sous-traitants ultérieurs |
| Transferts internationaux | Oui : les trois fournisseurs sont situés aux États-Unis. Le transfert repose sur les conditions de traitement des données de chaque fournisseur, comme indiqué sur la page des sous-traitants ultérieurs |
| Délais d'effacement | Le texte du prompt est traité en mémoire et n'est pas stocké par QR Branding. La configuration de design générée peut être conservée dans le cache des prompts jusqu'à 30 jours, sous une clé dérivée d'un hachage SHA-256 du prompt et des paramètres. La conservation par le fournisseur est régie par ses propres conditions |
| Mesures de sécurité | Délimiteurs de prompt, instructions anti-fuite, neutralisation des champs URL/base64, assainissement du HTML, plafond de tokens de sortie sur chaque appel au LLM, limites de taille des réponses (1MB), masquage des clés API dans les journaux (SanitizeForLog). Aucune adresse e-mail, donnée de facturation, adresse IP ni identifiant client n'est envoyé au fournisseur |
Activité 2B : QR codes générés par IA avec la propre clé du client (BYOK)
| Champ | Description |
|---|---|
| Nom | Génération de designs de QR à l'aide de l'intelligence artificielle, avec la propre clé API LLM du client |
| Périmètre | L'endpoint de la marketplace POST /api/qr/ai/generate |
| Responsable du traitement | QR Branding (traitement du prompt et rendu) |
| Finalité | Générer une configuration de design de QR à partir d'un prompt en langage naturel |
| Base juridique | Exécution d'un contrat — art. 6(1)(b) |
| Modèle de clé API | BYOK (Bring Your Own Key) : le client fournit sa propre clé API de fournisseur de LLM (llmApiKey) à chaque requête et choisit le fournisseur : OpenAI, Anthropic, Google, Mistral, Cohere, Groq, xAI, DeepSeek ou Qwen, ou son propre endpoint compatible OpenAI (local) |
| Catégories de personnes concernées | Utilisateurs de l'API |
| Catégories de données | Prompt de design (texte libre), clé API du client (transitoire, non stockée), contenu du QR (non envoyé au LLM) |
| Destinataires | Le fournisseur de LLM (ou le propre endpoint du client) choisi par l'utilisateur, avec la propre clé API de l'utilisateur |
| Sous-traitants | Aucun pour cette activité : QR Branding agit comme intermédiaire technique. La relation contractuelle avec le fournisseur de LLM est directe entre le client et le fournisseur |
| Transferts internationaux | Le transfert de données vers le fournisseur de LLM relève de la responsabilité du client, qui entretient sa propre relation contractuelle avec le fournisseur. QR Branding se limite à transmettre le prompt sur le plan technique |
| Délais d'effacement | Le texte du prompt est traité en mémoire et n'est pas stocké. La configuration de design générée peut être conservée dans le cache des prompts jusqu'à 30 jours, sous une clé dérivée d'un hachage SHA-256 du prompt et des paramètres. La clé API du client n'est ni stockée ni journalisée |
| Mesures de sécurité | Délimiteurs de prompt, instructions anti-fuite, neutralisation des champs URL/base64, assainissement du HTML, plafond de tokens de sortie sur chaque appel au LLM, limites de taille des réponses (1MB), masquage des clés API dans les journaux (SanitizeForLog) |
Activité 3 : limitation de débit et prévention des abus
| Champ | Description |
|---|---|
| Nom | Contrôle du débit des requêtes |
| Responsable du traitement | QR Branding |
| Finalité | Prévenir les abus et protéger la disponibilité du service ainsi que ses coûts d'exploitation |
| Base juridique | Intérêt légitime — art. 6(1)(f) |
| Intérêt légitime | Protéger l'infrastructure et la disponibilité du service pour tous les utilisateurs |
| Catégories de personnes concernées | Tous les utilisateurs de l'API |
| Catégories de données | Identifiant RapidAPI (pseudonyme), identifiant d'abonnement, adresse IP (anonymisée) |
| Destinataires | Aucun : traitement interne |
| Transferts internationaux | Non |
| Délais d'effacement | 2 minutes (fenêtre glissante en mémoire avec éviction automatique) |
| Mesures de sécurité | Données conservées en mémoire volatile (non persistées), anonymisation des IP (dernier octet), plafond de 50 000 IP suivies, nettoyage périodique toutes les 2 minutes |
Activité 4 : télémétrie et diagnostic
| Champ | Description |
|---|---|
| Nom | Surveillance des performances et diagnostic des erreurs |
| Responsable du traitement | QR Branding |
| Finalité | Assurer la fiabilité du service, diagnostiquer les erreurs et surveiller les performances |
| Base juridique | Intérêt légitime — art. 6(1)(f) |
| Intérêt légitime | Garantir la stabilité opérationnelle et une réponse rapide aux incidents |
| Catégories de personnes concernées | Tous les utilisateurs de l'API |
| Catégories de données | Chemins des requêtes (sans contenu de QR), codes de statut HTTP, temps de réponse, erreurs (sans données personnelles), métriques de performance |
| Destinataires | Microsoft (Azure Application Insights) en tant que sous-traitant |
| Transferts internationaux | Possibles, selon la région configurée pour Application Insights |
| Délais d'effacement | 90 jours (réglage par défaut d'Application Insights) |
| Mesures de sécurité | Messages d'erreur sans données personnelles, masquage des clés API (SanitizeForLog), anonymisation des IP, aucune journalisation du contenu des QR ni des prompts IA |
Activité 5 : authentification à l'API
| Champ | Description |
|---|---|
| Nom | Vérification de l'authentification RapidAPI |
| Responsable du traitement | QR Branding (middleware), RapidAPI (plateforme) |
| Finalité | Vérifier que les requêtes proviennent du proxy RapidAPI autorisé |
| Base juridique | Intérêt légitime — art. 6(1)(f) |
| Catégories de personnes concernées | Tous les utilisateurs de l'API |
| Catégories de données | En-tête X-RapidAPI-Proxy-Secret (un secret serveur, pas une donnée personnelle) |
| Destinataires | Aucun |
| Transferts internationaux | Non |
| Délais d'effacement | Sans objet : le secret est vérifié en mémoire et n'est pas stocké |
| Mesures de sécurité | Comparaison dans le middleware, secret stocké dans les Azure App Settings (chiffré), jamais exposé dans les journaux ni dans les réponses |
Récapitulatif des sous-traitants
| Sous-traitant | Activité | DPA | Localisation |
|---|---|---|---|
| Microsoft Azure | Hébergement, Application Insights | ✅ OST/DPA standard | UE/États-Unis (configurable) |
| RapidAPI | Marketplace, facturation, authentification | ✅ Conditions de la plateforme | États-Unis |
| Groq | Génération par IA avec les comptes de QR Branding (Activité 2A) | ⚠️ Conditions de traitement des données du fournisseur, en attente de confirmation | États-Unis |
| Google (Gemini) | Génération par IA avec les comptes de QR Branding (Activité 2A) | ⚠️ Conditions de traitement des données du fournisseur, en attente de confirmation | États-Unis |
| OpenAI | Génération par IA avec les comptes de QR Branding (Activité 2A) | ⚠️ Conditions de traitement des données du fournisseur, en attente de confirmation | États-Unis |
Remarque sur les fournisseurs de LLM : Groq, Google (Gemini) et OpenAI sont des sous-traitants de QR Branding uniquement pour la génération par IA avec les propres comptes de QR Branding (Activité 2A). Sur l'endpoint BYOK (Activité 2B), aucun fournisseur de LLM n'est sous-traitant de QR Branding : le client fournit sa propre clé API, et la relation contractuelle et le DPA avec le fournisseur qu'il choisit relèvent de la responsabilité directe du client.
Document généré le 2026-03-08. À mettre à jour à chaque modification d'une activité de traitement.