> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pandectes.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Autorisations et authentification expliquées

##### À propos de ce document

Pandectes GDPR Compliance aide votre boutique à respecter ses obligations en matière de confidentialité, de consentement et d'accessibilité dans différentes régions du monde. Pour cela, l'application demande un ensemble défini d'autorisations Shopify, appelées **access scopes** (portées d'accès).

Ce document explique en langage clair chaque autorisation demandée par l'application : à quoi Shopify l'utilise et comment Pandectes l'utilise. Il décrit ensuite comment l'application est installée et authentifiée, pourquoi les autorisations sont configurées ainsi, et comment vous pouvez vérifier par vous-même l'usage qui en est fait.

L'objectif est la transparence totale. Rien ici ne demande de connaissances techniques sur la conception de l'application ; le document explique simplement *ce que* nous demandons et *pourquoi*.


##### Comment Pandectes traite vos données

Avant d'aborder les autorisations une à une, il est utile de comprendre un principe qui s'applique à toute l'application :

* **Aucun stockage interne des données de vos clients ou de vos commandes.** Pandectes ne conserve pas les données de vos clients ou de vos commandes dans sa propre base de données.
* **Des consultations, pas des copies.** Lorsqu'une fonctionnalité doit vérifier quelque chose (par exemple, confirmer qu'une adresse e-mail appartient à un client, ou qu'un e-mail et un identifiant de commande correspondent à une commande réelle), Pandectes effectue une consultation via ses serveurs d'application et n'utilise que le résultat de cette vérification.
* **La persistance reste dans Shopify.** Lorsqu'un enregistrement doit réellement être conservé (comme une demande de rétractation UE journalisée), il est réécrit dans le propre stockage de Shopify et lié à la commande concernée, au lieu d'être stocké par Pandectes.

Cette approche de minimisation des données explique pourquoi plusieurs autorisations ci-dessous sont décrites comme « consultation uniquement ».


##### Comment Pandectes est installée et authentifiée

Pandectes utilise l'**installation gérée par Shopify** (Shopify managed installation), la méthode moderne que Shopify recommande pour installer les applications et tenir leurs autorisations à jour.

Avec l'installation gérée, Shopify s'occupe lui-même de l'installation de l'application et de l'application des changements d'autorisations, sans vous envoyer vers des écrans d'autorisation supplémentaires. Pour vous, cela signifie des **installations et des mises à jour plus rapides et plus fluides**, sans redirections de page, sans écrans qui clignotent et sans demandes de consentement répétées. En coulisses, l'application obtient des jetons d'accès de courte durée via l'échange de jetons sécurisé de Shopify, plutôt que par les anciens flux basés sur des redirections.

Une caractéristique essentielle de l'installation gérée est qu'une application déclare l'**ensemble complet des autorisations qu'elle peut utiliser dans une seule configuration centrale** qu'elle soumet à Shopify. Shopify applique ensuite cette configuration de manière uniforme à chaque boutique qui installe l'application. Pandectes ne demande pas, et avec ce modèle ne peut pas demander, un ensemble d'autorisations différent et choisi à la main pour chaque boutique.

##### Pourquoi les autorisations sont déclarées de façon centralisée

Il s'agit d'une décision d'architecture délibérée, qui joue en votre faveur de plusieurs façons :

* **Une configuration unique, cohérente et auditable.** Chaque boutique utilise Pandectes avec le même ensemble d'autorisations examiné. Il n'y a aucune variation par boutique à suivre, ce qui rend le comportement de l'application prévisible et facile à analyser pour vous, pour Pandectes et pour Shopify.
* **Activation immédiate des fonctionnalités, sans friction.** Pandectes est modulaire : la bannière de cookies, le widget d'accessibilité, les demandes des personnes concernées (Data Subject Requests), Do Not Sell My Data et l'EU Withdrawal Button peuvent chacun être activés ou désactivés à tout moment. Comme les autorisations nécessaires sont déjà en place, l'activation d'un module fonctionne immédiatement : aucune réinstallation, aucun nouvel écran d'autorisation et aucune interruption de votre boutique en ligne.
* **Une autorisation accordée n'est pas une autorisation utilisée.** Se voir accorder une autorisation signifie seulement que l'application *peut* l'utiliser, si et quand vous activez la fonctionnalité correspondante. Une autorisation qui appartient à un module que vous n'avez pas activé reste simplement dormante. Combiné au principe de minimisation des données ci-dessus, cela signifie que Pandectes ne lit ou n'écrit que ce dont une fonctionnalité active a réellement besoin.

Ainsi, si vous n'avez pas activé l'EU Withdrawal Button, par exemple, les autorisations liées aux commandes qui lui sont associées restent inutilisées jusqu'à ce que vous choisissiez d'activer cette fonctionnalité.

##### Examiné et validé par Shopify

L'ensemble des autorisations demandées par Pandectes n'est **pas choisi arbitrairement et ne peut pas être modifié discrètement.** Chaque autorisation est examinée et confirmée par Shopify dans le cadre de deux programmes auxquels Pandectes participe :

* **Shopify Plus Partner.** Pandectes est un **Shopify Plus Partner** reconnu, un statut que Shopify accorde à des partenaires sélectionnés et établis qui répondent à ses normes de qualité, d'expertise et de confiance.
* **Built for Shopify.** Pandectes GDPR Compliance détient la distinction **Built for Shopify**, le plus haut niveau de reconnaissance d'application chez Shopify, attribué uniquement aux applications qui respectent ses exigences strictes de qualité, de performance, de sécurité et de traitement responsable des données.

Comme Pandectes participe aux deux programmes, les autorisations décrites dans ce document ont été **examinées et validées par Shopify selon ses propres normes publiées**, et toute modification de ce que l'application demande est soumise au même examen. En bref, l'accès demandé par Pandectes est soumis aux normes de Shopify plutôt que fixé à la seule discrétion de Pandectes, ce qui garantit le respect de toutes les normes applicables.

##### Vous pouvez vérifier comment les autorisations sont utilisées

Shopify fournit un **écran de gestion pour chaque application installée** dans l'administration de votre boutique. Vous pouvez y consulter les autorisations exactes accordées à Pandectes et voir si chacune a réellement été utilisée, **y compris si une autorisation donnée a déjà été utilisée** sur votre boutique. Comme c'est le moyen le plus clair de confirmer que l'accès réel de l'application correspond à ce qui est décrit ici, la section *« Comprendre l'écran « Manage app » de Shopify »* ci-dessous détaille ce qu'il affiche et comment cela correspond aux autorisations de ce document.


##### Autorisations demandées par Pandectes

Voici chaque autorisation demandée par Pandectes, regroupée par finalité. Pour chacune, vous trouverez la définition de Shopify ainsi qu'une explication de la façon dont Pandectes l'utilise.

> **Remarque sur les autorisations « write » :** Sur Shopify, une autorisation `write_` accorde généralement aussi l'accès en **lecture** correspondant pour la même ressource. C'est pourquoi vous ne voyez pas d'autorisations « read » distinctes pour le contenu, les fichiers, les thèmes ou les metaobjects : l'autorisation write correspondante couvre déjà leur lecture. Lorsque Pandectes n'a besoin que de *lire* une ressource (par exemple, vérifier votre `theme.liquid`), elle le fait sans rien modifier.

##### Groupe 1 : Consentement et application des règles de confidentialité régionales

Ces autorisations permettent à la bannière de cookies d'appliquer le bon comportement de consentement et de transmettre les signaux de consentement à vos autres outils.

`write_privacy_settings`
**Définition de Shopify.** Accès aux paramètres de confidentialité de la boutique et à la configuration de la bannière de cookies (`PrivacySettings`, `CookieBanner`).

**Comment Pandectes l'utilise.** Configure les **paramètres de confidentialité régionaux** de votre boutique, en définissant quelles régions du monde exigent le consentement et lesquelles non. C'est essentiel pour que la bannière de cookies se comporte correctement dans chaque région, afin que les règles appropriées (comme le RGPD dans l'UE/EEE et le CPRA/CCPA en Californie) soient appliquées à chaque visiteur.

`write_pixels`
**Définition de Shopify.** Accès à la Web Pixels API pour créer et gérer un web pixel.

**Comment Pandectes l'utilise.** Enregistre des **Web Pixels** qui permettent aux intégrations Pandectes, comme **Google Consent Mode**, de fonctionner de manière cohérente tout au long du parcours client : la boutique en ligne (avant le paiement), le paiement et la page de remerciement après le paiement.

##### Groupe 2 : Placer Pandectes sur votre boutique en ligne

Ces autorisations permettent à l'application d'ajouter ses fonctionnalités à votre boutique et de fournir les ressources associées, tout en restant dans les méthodes recommandées par Shopify.

`write_content`
**Définition de Shopify.** Accès au contenu de la boutique en ligne, comme les pages, les blogs, les articles et les commentaires.

**Comment Pandectes l'utilise.** Crée les **pages de la boutique qui hébergent les blocs de l'application**, comme les pages **Cookie Declaration**, **Data Subject Request**, **Do Not Sell My Data** et **EU Withdrawal**, pour que vous n'ayez pas à les créer et à les relier à la main.

`write_files`
**Définition de Shopify.** Accès aux fichiers génériques dans le stockage de fichiers de la boutique.

**Comment Pandectes l'utilise.** Téléverse des ressources de support dans l'espace **Files** de votre boutique afin qu'elles soient diffusées via le **CDN de Shopify**, rapide et très résilient. Ces ressources comprennent les logos utilisés dans la bannière de cookies et le widget d'accessibilité, ainsi que le fichier `pandectes-rules.js` qui contient les règles du bloqueur automatique de Pandectes.

`write_themes`
**Définition de Shopify.** Accès aux fichiers et ressources du thème de la boutique en ligne (`OnlineStoreTheme`).

**Comment Pandectes l'utilise.** Utilisée de manière volontairement limitée. Sur les boutiques modernes, elle **lit** principalement votre `theme.liquid` pour détecter si les app embeds de la bannière de cookies et du widget d'accessibilité sont activés, et elle sert à **nettoyer** les ressources que d'anciennes versions de l'application avaient ajoutées au thème. Conformément au programme **Built for Shopify**, auquel Pandectes participe, l'application ne crée, ne modifie ni ne supprime plus de ressources du thème.

`write_script_tags`
**Définition de Shopify.** Accès aux objets ScriptTag, qui chargent des scripts sur la boutique en ligne.

**Comment Pandectes l'utilise.** Conservée principalement pour la **compatibilité**. Sur les anciens thèmes « vintage » qui ne prennent pas en charge Online Store 2.0, les script tags sont le seul moyen d'ajouter le code de boutique dont l'application a besoin. Sur les boutiques modernes, Pandectes diffuse sa **bannière de cookies** et son **widget d'accessibilité** via des app embeds (la méthode recommandée par Shopify), donc en pratique cette autorisation sert aujourd'hui surtout à **supprimer les script tags hérités** et à les remplacer par des app embeds lors de la migration d'une boutique. Comme pour les ressources du thème, le programme **Built for Shopify** n'autorise pas les applications à ajouter des script tags, donc sur les boutiques modernes Pandectes n'en crée pas ; cette autorisation sert uniquement à la compatibilité héritée et au nettoyage.

##### Groupe 3 : Modules des droits en matière de confidentialité (Data Subject Requests et EU Withdrawal)

Ces autorisations prennent en charge les fonctionnalités qui permettent à vos clients d'exercer leurs droits. Les données ici sont **consultées, pas stockées** par Pandectes ; lorsqu'un résultat doit être conservé, il est réécrit dans Shopify.

 `read_customers`
**Définition de Shopify.** Accès aux fiches clients et aux données associées de Segment, Company et Company Location.

**Comment Pandectes l'utilise.** Alimente le module **Data Subject Requests (DSR)**. Lorsqu'un visiteur exerce un droit en matière de confidentialité, qu'il s'agisse du droit d'**accès et de portabilité des données**, du droit de **rectification** ou du droit à l'**effacement** (« droit à l'oubli »), Pandectes recherche l'adresse e-mail fournie pour confirmer si elle appartient à un client de votre boutique, avant de lancer le processus de vérification. Le module est disponible à la fois comme **app block** que vous pouvez ajouter à n'importe quelle page et comme **extension de compte client** affichée dans l'espace des comptes clients lorsque vous l'activez. Il s'agit de **consultations uniquement** ; Pandectes ne stocke pas ces données clients.

 `read_orders`
**Définition de Shopify.** Accès aux commandes, aux expéditions, aux transactions de commande et aux paniers abandonnés (par défaut, ceux des 60 derniers jours).

**Comment Pandectes l'utilise.** Alimente l'**EU Withdrawal Button**. Un client qui souhaite se rétracter d'un achat saisit son **adresse e-mail et son identifiant de commande**, et Pandectes vérifie que cette combinaison correspond à une commande réelle avant de laisser la demande de rétractation se poursuivre.

`read_all_orders`
**Définition de Shopify.** Étend l'accès aux commandes au-delà de la fenêtre de 60 jours par défaut de Shopify. Cette autorisation n'est accordée qu'après un examen spécifique par Shopify et s'utilise avec `read_orders`.

**Comment Pandectes l'utilise.** Étend l'**EU Withdrawal Button** pour qu'il puisse aussi vérifier les **commandes passées il y a plus de 60 jours**, puisque les droits de rétractation peuvent s'appliquer à des achats plus anciens. Elle élargit seulement la période de la même vérification de commande décrite ci-dessus et n'introduit aucun nouvel usage des données de commande.

`write_metaobject_definitions`
**Définition de Shopify.** Accès pour créer et modifier les définitions de metaobjects, qui décrivent la structure d'un metaobject.

**Comment Pandectes l'utilise.** Définit la **structure de données utilisée par l'EU Withdrawal Button**, plus précisément le schéma servant à enregistrer qu'une rétractation ou un retour a été demandé pour une commande. Cette structure permet de stocker la demande de façon native dans Shopify et de l'associer à la commande concernée.

`write_metaobjects`
**Définition de Shopify.** Accès pour créer et modifier les enregistrements de metaobjects qui suivent la structure définie.

**Comment Pandectes l'utilise.** Crée les enregistrements individuels à partir de la définition ci-dessus. Lorsqu'un client termine une demande de rétractation, Pandectes l'enregistre sous forme de **metaobject lié à la commande**, signalant dans Shopify qu'une rétractation ou un retour a été demandé. Comme pour toutes les données de Pandectes, cela est stocké **dans Shopify**, pas dans une base de données Pandectes.


##### Comprendre l'écran « Manage app » de Shopify

Shopify affiche un écran **« Manage app »** pour chaque application installée dans votre administration, et c'est le moyen le plus direct de vérifier ce que Pandectes peut consulter et ce qu'elle a réellement utilisé. L'écran regroupe l'accès de l'application sous les libellés généraux propres à Shopify, qui correspondent directement aux autorisations décrites plus haut dans ce document.

##### Activité et autorisations ou accès inutilisé

Shopify répartit l'accès de l'application en deux listes :

* **Activity and permissions :** les domaines que l'application a utilisés récemment, avec la date de dernière utilisation.
* **Unused access :** les domaines auxquels l'application *peut* accéder mais qu'elle n'a **pas** utilisés au cours des 30 derniers jours.

Les domaines qui apparaissent dans chaque liste dépendent des fonctionnalités Pandectes que vous avez activées. C'est le principe **« une autorisation accordée n'est pas une autorisation utilisée »** rendu visible : une autorisation liée à une fonctionnalité que vous n'avez pas activée figure simplement sous **Unused access**. Par exemple, une boutique qui n'a pas activé les modules Data Subject Requests ou EU Withdrawal verra généralement les domaines **Customers** et **Orders** (et, si aucune intégration basée sur un pixel n'est active, **Store analytics**) listés comme inutilisés.

Le tableau ci-dessous associe chaque libellé de domaine affiché par Shopify aux autorisations Pandectes sous-jacentes :

| Area shown in Shopify | Access | Underlying Pandectes permission(s) |
| ---- |
| **Online Store** | View & Edit | `write_content`, `write_script_tags`, `write_themes` |
| **Shopify admin** | View & Edit | `write_files`, `write_privacy_settings` |
| **Custom data** | View & Edit | `write_metaobject_definitions`, `write_metaobjects` |
| **Customers** | View only | `read_customers` |
| **Orders** (All order history) | View only | `read_orders`, `read_all_orders` |
| **Store analytics** | View & Edit | `write_pixels` |

Le libellé « All order history » affiché à côté de **Orders** reflète l'autorisation `read_all_orders`, qui permet à l'EU Withdrawal Button de vérifier les commandes plus anciennes que la fenêtre de 60 jours par défaut de Shopify.

##### Confidentialité : les données personnelles auxquelles cette application peut accéder

Le même écran liste les catégories de données personnelles auxquelles l'application peut accéder, et Shopify y affiche une confirmation que **Pandectes respecte ses exigences en matière de traitement des données et de confidentialité**.

Sous **Customers**, vous verrez deux catégories :

* **Sensitive data (Name and Email address).** Ces données sont utilisées par les modules **Data Subject Requests** et **EU Withdrawal Button** et proviennent de l'autorisation `read_customers`. Ce sont des données que Pandectes **demande explicitement**, car la vérification de l'identité d'un client est essentielle à ces fonctionnalités liées aux droits. Comme indiqué plus haut, les données sont consultées, pas stockées par Pandectes.
* **Device and activity data (Geolocation, IP address, Browser and operating system, Browsing behavior, and Client ID cookie).** Elles accompagnent le **Web Pixel** (`write_pixels`). Elles sont **déclarées automatiquement par Shopify** pour toute application qui utilise un web pixel et ne sont **pas des données que Pandectes demande ou collecte explicitement pour ses propres besoins**.

Sous **Staff and contributors**, Shopify liste les données relatives au propriétaire de la boutique et aux contributeurs du blog (comme le nom, l'adresse e-mail et l'adresse IP). Ces entrées sont **ajoutées automatiquement par Shopify pour chaque application** et ne sont pas propres à Pandectes.

### Référence rapide

| Permission | Type | Primarily used by |
| ---- |
| `write_privacy_settings` | Write (read + write) | Cookie banner: regional consent rules |
| `write_pixels` | Write | Consent signals across the customer journey (e.g. Google Consent Mode) |
| `write_content` | Write | Creating the pages that host the app's blocks |
| `write_files` | Write | Hosting banner/widget logos and the auto-blocker rules file on Shopify's CDN |
| `write_themes` | Write (mostly read) | Detecting app-embed status; cleaning up legacy theme assets |
| `write_script_tags` | Write | Legacy-theme support and migration cleanup to app embeds |
| `read_customers` | Read | Data Subject Requests: email lookup |
| `read_orders` | Read | EU Withdrawal Button: order verification |
| `read_all_orders` | Read | EU Withdrawal Button: verifying orders older than 60 days |
| `write_metaobject_definitions` | Write | Defining the EU Withdrawal record structure |
| `write_metaobjects` | Write | Recording withdrawal requests against the order |


##### Références et lectures complémentaires

Cette section rassemble les sources officielles des réglementations que cette application vous aide à respecter, ainsi que la documentation officielle de Shopify qui régit l'installation de l'application et ce à quoi elle peut accéder.

##### Références réglementaires

* **Droit de rétractation de l'UE, directive (UE) 2023/2673**, qui modifie la directive relative aux droits des consommateurs (2011/83/UE). Bien qu'elle concerne principalement les contrats de services financiers à distance, elle ajoute un nouvel **article 11 bis** à la directive relative aux droits des consommateurs, qui exige une **fonction de rétractation** en ligne clairement visible et facile à utiliser (« bouton de rétractation »). Elle s'applique aux contrats à distance conclus via une interface en ligne (site web, application ou portail client) lorsqu'un droit de rétractation légal de 14 jours existe, sans étendre les droits de rétractation ni modifier les exceptions existantes. Le principe est que se rétracter d'un contrat en ligne doit être au moins aussi simple que de le conclure, et l'obligation concerne aussi les entreprises hors UE qui dirigent leurs activités vers des consommateurs de l'UE. Les États membres devaient la transposer en droit national avant le 19 décembre 2025, les règles s'appliquant à partir du **19 juin 2026**.
* Résumé en langage clair : [https://eur-lex.europa.eu/EN/legal-content/summary/consumer-information-right-of-withdrawal-and-other-consumer-rights.html](https://eur-lex.europa.eu/EN/legal-content/summary/consumer-information-right-of-withdrawal-and-other-consumer-rights.html)
* Texte officiel : https://eur-lex.europa.eu/eli/dir/2023/2673/oj/eng
* **RGPD, règlement (UE) 2016/679.** Le Règlement général sur la protection des données de l'UE, qui établit les droits des personnes concernées tels que l'accès, la portabilité des données, la rectification et l'effacement (« droit à l'oubli »).
* Texte officiel : https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng
* Résumé en langage clair : https://eur-lex.europa.eu/EN/legal-content/summary/general-data-protection-regulation-gdpr.html
* **Directive ePrivacy, directive 2002/58/CE**, telle que modifiée par la **directive 2009/136/CE** (la modification « cookies »). Elle régit la confidentialité dans le secteur des communications électroniques, y compris l'obligation d'obtenir le consentement avant de stocker ou d'accéder à des cookies non essentiels sur l'appareil d'un utilisateur.
* Directive 2002/58/CE : https://eur-lex.europa.eu/eli/dir/2002/58/oj/eng
* Version consolidée (incluant la modification de 2009) : https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A02002L0058-20091219
* Directive modificative 2009/136/CE : https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32009L0136

### Documentation Shopify

* Portées d'accès de l'API Shopify : https://shopify.dev/docs/api/usage/access-scopes
* Activer les installations gérées par Shopify pour votre application : https://shopify.dev/docs/apps/build/authentication-authorization/app-installation
* Gérer les portées d'accès : https://shopify.dev/docs/apps/build/authentication-authorization/app-installation/manage-access-scopes
* Échange de jetons (comment les applications intégrées obtiennent des jetons d'accès) : https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/token-exchange
* Web Pixels API : https://shopify.dev/docs/api/web-pixels-api
* Exigences relatives aux données clients protégées : https://shopify.dev/docs/apps/launch/protected-customer-data

### Programmes de qualité Shopify

* Présentation de Built for Shopify : https://shopify.dev/docs/apps/launch/built-for-shopify
* Exigences de Built for Shopify : https://shopify.dev/docs/apps/launch/built-for-shopify/requirements

*Ce document décrit les autorisations demandées par Pandectes GDPR Compliance et la façon dont elles sont utilisées. Si vous avez des questions sur une autorisation, ou si vous souhaitez confirmer son usage, vous pouvez consulter à tout moment l'écran de gestion de l'application dans votre administration Shopify.*