Sécurité

Sécurité

Copier la page

Hébergement dans l'UE, chiffrement des identifiants e-mail et des données, et mises à jour de Workflow Transactional Email pour Shopify Flow.

L'application Workflow Transactional Email est développée et exploitée par Code Creation Labs. Cette page explique de quoi se compose 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 informations relatives aux données stockées par l’application et à leur durée de conservation figurent sur Données, confidentialité et 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. Les pages d'administration, l'éditeur de mise en page et les services qui exécutent vos étapes Shopify Flow reposent 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, le stockage de fichiers et les journaux d'application sont hébergés localement dans cette région.
Intégration Shopify Les bibliothèques d'applications officielles de Shopify, les actions Shopify Flow, l'API GraphQL de l'interface d'administration pour les autorisations facultatives et les webhooks de Shopify
Envoi d'e-mails La boîte mail que vous connectez : votre propre serveur SMTP, Microsoft 365 ou Google Workspace. Les e-mails d'alerte que l'application vous envoie transitent par Amazon SES à Francfort.
Votre boutique en ligne Rien ne s'affiche dans votre thème ni dans votre processus de paiement.

Le service ne contient aucun élément PHP, WordPress, Java ou autre environnement d'exécution. L'application est répertoriée sur l'App Store 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, votre fournisseur de messagerie 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 de fichiers 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 à tout cela. Tout ce qui pourrait être utilisé pour envoyer des données bénéficie d'une deuxième couche de protection : les noms d'utilisateur et mots de passe SMTP, les jetons OAuth de Microsoft 365 et de Google, les secrets que vous stockez, le jeton d'accès Shopify de votre boutique, ainsi que les adresses figurant sur votre liste de désabonnement. Chaque valeur est chiffrée individuellement à l’aide de l’algorithme AES-256-GCM sous une clé distincte dans Cloud KMS, avec rotation automatique des clés, et déchiffrée en mémoire uniquement au moment où une action s’exécute. Chaque déchiffrement d’une valeur protégée est consigné dans une piste d’accès interne. Les valeurs secrètes sont masquées dans l’historique des actions avant son enregistrement et ne sont jamais renvoyées par l’API développeur ni à Sidekick.

Secrets. Les identifiants et clés API du service lui-même sont stockés dans Google Secret Manager et sont chargés au démarrage du 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 est installée sans aucun accès aux données de votre boutique. Les données client ne sont transmises par e-mail que parce que vous les transmettez depuis Shopify Flow. Les quatre autorisations facultatives (lecture du fichier d'un métachamp sur une commande ou un client, création d'un code de réduction unique) sont demandées au moment de l'installation, accordées via la boîte de dialogue propre à Shopify et révocables à tout moment. Voir Autorisations : les informations que l'application peut lire dans votre boutique.

Qui a accès à quoi ?

  • Votre boutique 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 ou modifier les mises en page, les expéditeurs, les secrets ou l'historique 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 étapes de Shopify Flow et les Webhooks propres à Shopify sont vérifiés par la signature HMAC de Shopify avant toute manipulation des données, et une étape de Shopify Flow transmise deux fois n'est exécutée qu'une seule fois.
  • Contenu généré. Les mises en page sont générées sur nos serveurs et le résultat est nettoyé avant d'être envoyé : les scripts, les gestionnaires d'événements, les URL « javascript: », les iframes et les éléments de formulaire sont supprimés, de sorte qu'une valeur transmise depuis Shopify Flow ne puisse pas se transformer en contenu actif dans la boîte de réception d'un utilisateur.
  • Requêtes sortantes. Les URL auxquelles l’application se connecte en votre nom, dans le cadre de l’action HTTP Request, pour les pièces jointes récupérées à partir d’une URL et pour les fichiers référencés par un métachamp, sont vérifiées avant la connexion : les adresses de bouclage, les adresses « link-local », les métadonnées cloud et les adresses de réseaux privés sont refusées, y compris en cas de redirection. Les redirections sont plafonnées et la taille des réponses est limitée.
  • 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é. Nous procédons à un contrôle interne complet de chaque itinéraire, chemin de données et requête de base de données à intervalles réguliers, le dernier 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 stockés dans la même région de l'UE, conservés pendant 30 jours au maximum et ne contiennent jamais d'identifiants ni de secrets.

Conservation et suppression

  • L'historique des actions, qui consigne les éléments envoyés et constitue donc des données clients, est supprimé automatiquement au bout de 30 jours.
  • La désinstallation supprime tout : les modèles, les expéditeurs, les secrets, l'historique, la liste de désabonnement et les fichiers téléchargés, de manière immédiate et irréversible.
  • Les demandes relatives à la protection de la vie privée obligatoires de Shopify (customers/data_request, customers/redact et shop/redact) sont traitées automatiquement dans les délais fixés par Shopify, y compris l'inscription d'un client sur la liste de désabonnement.
  • Le tableau complet des données stockées figure sur Données, confidentialité et sécurité. Les sous-traitants et la durée de conservation sont indiqués dans la privacypolicy. Un accord de traitement des données signé peut être demandé à l'adresse [workflow-transactional-email.app/dpaxml-ph-0005.

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 traités en priorité et font l'objet d'une réponse rapide.