Sécurité

Sécurité

Copier la page

Sécurité de Workflow Trigger Extensions pour Shopify Flow : hébergement Google Cloud dans l'UE, chiffrement et isolation des données de votre boutique.

L'application Workflow Trigger Extensions est développée et exploitée par Code Creation Labs. Cette page explique en quoi consiste l'application, où elle s'exécute, comment les données de votre boutique sont protégées et comment nous assurons la mise à jour de l'ensemble du système. Elle s'adresse aux propriétaires de boutiques ainsi qu'à toute personne amenée à remplir un questionnaire de sécurité. Les aspects juridiques (politique de confidentialité, accord de traitement des données, sous-traitants) sont disponibles sur Mentions légales et protection des données.

Sur quoi repose l'application ?

Couche Ce que nous utilisons
Code de l'application TypeScript sur Node.js, une version actuelle bénéficiant d'une assistance à long terme. Chaque composante de l'application, des pages d'administration aux workers qui traitent vos événements, repose sur une base de code unique.
Base de données et cache PostgreSQL (Google Cloud SQL) et Redis (Google Cloud Memorystore)
Hébergement Conteneurs sur Google Kubernetes Engine dans la région europe-west1 (Belgique, Union européenne) de Google Cloud. Les bases de données, les caches et le stockage de fichiers sont hébergés au sein de cette région.
Intégration Shopify Shopify
Votre boutique en ligne Rien ne s'exécute dans votre thème. Le Pixel web facultatif situé derrière Déclencheurs de Storefront s'exécute dans l'environnement de test des pixels d'Shopify et n'est installé que lorsque vous activez un déclencheur de boutique en ligne.

Le service ne contient aucun élément PHP, WordPress, Java ou autre environnement d'exécution. L'application est référencée sur la boutique d'Shopify et a été validée lors du processus de vérification des applications d'Shopify, qui porte sur les exigences de Shopify en matière de sécurité et de protection des données des clients.

Comment vos données sont-elles protégées ?

En cours de transmission. Chaque connexion entre votre navigateur, Shopify et l'application utilise le protocole TLS. La base de données et le cache ne disposent d'aucune adresse publique : ils ne sont accessibles qu'à partir de notre réseau privé.

Au repos. Toutes les bases de données et tous les espaces de stockage sont chiffrés au repos à l'aide de clés que nous gérons dans Google Cloud KMS.

Un chiffrement au niveau des champs vient s’ajouter à cela. Les valeurs les plus sensibles bénéficient d’une deuxième couche de protection : le jeton d’accès Shopify de votre boutique, ainsi que les données clients protégées (noms, adresses e-mail, numéros de téléphone, adresses postales) lues par les déclencheurs de données personnelles soumis à consentement. Chaque enregistrement est chiffré individuellement à l’aide de l’algorithme AES-256-GCM sous une clé distincte dans Cloud KMS, avec rotation automatique des clés. Les valeurs ne sont déchiffrées en mémoire qu’au moment où elles sont nécessaires, par exemple lorsqu’un déclencheur se déclenche, et elles ne sont jamais consignées dans les journaux. La détection des modifications sur les données personnelles compare les hachages, ce qui permet à l’application de déterminer qu’une valeur a changé sans avoir à la déchiffrer.

Secrets. Les identifiants et clés API sont stockés dans Google Secret Manager et sont chargés au démarrage d'un service. Ils ne figurent ni dans le code, ni dans les images de conteneur, ni dans le pipeline de compilation.

Minimisation des données. L'application ne demande aucun accès aux données lors de son installation. Chaque autorisation est soumise à un consentement explicite, se limite à un seul type de données et peut être révoquée à tout moment. Voir Autorisations et accès aux données.

Qui a accès à quoi ?

  • Votre magasin uniquement. Chaque enregistrement est associé à la boutique à laquelle il appartient, et chaque requête est limitée à la boutique pour laquelle l'authentification a été effectuée. Une boutique ne peut en aucun cas lire ni modifier les données d'une autre boutique.
  • Uniquement les requêtes vérifiées. Les pages de l'interface d'administration Shopify sont authentifiées à l'aide de jetons de session Shopify. Les webhooks et les callbacks Shopify Flow sont vérifiés à l'aide de la signature HMAC de Shopify, et les messages internes à l'aide d'identités signées par Google, avant que les données ne soient traitées. Chaque événement Shopify est traité une seule fois, puis dédupliqué à l'aide de son identifiant d'événement.
  • Code de déclencheur personnalisé. Le code JavaScript que vous écrivez vous-même pour Déclencheurs personnalisés s'exécute dans un environnement isolé (sandbox) soumis à des limites de temps et de mémoire, sur une infrastructure distincte de celle des serveurs de l'application. Il n'a jamais accès aux identifiants de l'application ni à votre jeton d'accès Shopify. Son seul moyen d'accéder à votre boutique est un jeton à durée de vie limitée, lié à votre boutique et expirant en moins d'une minute.
  • Notre équipe. L'accès aux systèmes de production se fait exclusivement via Google Cloud IAM, à l'aide de comptes individuels. Les outils de maintenance internes ne sont pas exposés à Internet.

Comment nous assurons la mise à jour de l'application

  • Chaque modification est analysée avant sa mise en production. Le pipeline effectue des vérifications de type et des analyses de code, des tests statiques de sécurité des applications (SAST), la détection des secrets, l'analyse des vulnérabilités des dépendances et l'analyse des images de conteneurs. Notre critère de publication est l'absence totale de vulnérabilités connues dans les dépendances et dans l'image.
  • Environnement d'exécution et système d'exploitation. L'image du conteneur, Node.js sur sa base Alpine Linux, est recompilée à chaque nouvelle version, ce qui permet de bénéficier en permanence des correctifs pour l'environnement d'exécution et le système d'exploitation. La plateforme Kubernetes gérée veille à ce que les nœuds sous-jacents soient toujours à jour.
  • Plateforme Shopify. Nous suivons de près les versions de l'API Shopify ainsi que les avis de sécurité concernant les bibliothèques d'applications Shopify, et nous appliquons les mises à jour sans délai. L'application fonctionne avec une version à jour de l'API Admin.
  • Contrôles de sécurité. Un audit de sécurité automatisé est effectué avant toute modification concernant l'authentification, les sessions ou l'exposition des données, et nous procédons à un examen interne complet de chaque route, chemin de données et requête de base de données à intervalles réguliers, le dernier en date ayant eu lieu en octobre 2026.
  • Surveillance. La disponibilité est surveillée 24 heures sur 24 et publiée sur notre statuspage ; les erreurs déclenchent des alertes. Les journaux d'exploitation sont conservés pendant 30 jours au maximum et ne contiennent jamais de jetons, de secrets ni de données clients.

Conservation et suppression

  • L'historique des événements est supprimé automatiquement au bout de 30 jours.
  • Les instantanés conservés par l'application pour détecter les modifications (dernier état connu d'un produit, d'une commande ou d'un client) sont conservés tant que l'application est installée, car c'est par rapport à eux que la modification suivante est détectée.
  • Lorsque vous désinstallez l'application, son accès à votre boutique est immédiatement supprimé. La demande « shop/redact » d'Shopify, qui intervient 48 heures après la désinstallation, efface les données clients protégées ainsi que toutes les informations stockées par votre déclencheur personnalisé.
  • Shopify
  • La liste des sous-traitants et le calendrier complet de conservation des données figurent dans la privacypolicy. Vous pouvez demander un accord de traitement des données signé à l'adresse workflow-trigger-extensions.app/dpa.

Signaler un problème de sécurité

Si vous pensez avoir identifié une faille de sécurité ou si vous souhaitez remplir un questionnaire de sécurité, veuillez envoyer un e-mail à support@codecreationlabs.com. Les rapports de sécurité sont examinés et traités en priorité.