De quoi traite ce domaine#
Le troisième domaine couvre les services tiers qui ne sont pas des composants logiciels intégrés, mais qui constituent l’infrastructure de production et de distribution sans laquelle l’activité du déclarant s’arrête. Concrètement : forge où réside le code source (GitHub, GitLab, Codeberg, instance interne), registres de paquets dont les builds dépendent quotidiennement (npm, PyPI, Maven Central, RubyGems, crates.io), registres de conteneurs (Docker Hub, GitHub Container Registry, Quay.io), services de CI/CD critiques, CDN, services d’authentification tiers, fournisseurs de certificats (Let’s Encrypt, DigiCert, Certigna, CertEurope), DNS, services de monitoring.
Pour chaque service identifié, le déclarant indique l’opérateur, la juridiction sous laquelle il est soumis, l’impact estimé en cas de coupure, et le plan de bascule envisagé. Le niveau de précision attendu n’est pas exhaustif sur tous les services secondaires — il vise les services dont l’arrêt aurait un effet opérationnel direct.
Pourquoi ce domaine compte#
La chaîne d’approvisionnement est l’angle mort le plus systématiquement oublié des analyses de souveraineté. Beaucoup d’organisations qui examinent attentivement leurs logiciels et leurs hébergeurs ignorent que leurs builds dépendent quotidiennement d’infrastructures sous juridiction étrangère. La thèse 7 du manifeste l’énonce sans détour : « distribuer du logiciel libre par des registres et des réseaux soumis à une juridiction étrangère, c’est offrir à cette juridiction un droit de regard et de coupure sur ce que nous croyons posséder. »
Les incidents historiques ont illustré la fragilité réelle de cette chaîne. La crise left-pad en mars 2016, où le retrait d’un paquet npm minuscule a fait échouer des dizaines de milliers de builds dans le monde en quelques heures. La limitation des téléchargements anonymes Docker Hub en novembre 2020. Les sabotages volontaires de colors.js et faker.js par leur mainteneur en janvier 2022. Les suspensions de services à destination de la Russie en mars 2022 (Microsoft, Adobe, Visa, Mastercard), qui ont démontré que la coupure géopolitique d’un opérateur peut être ordonnée et exécutée en quelques jours. Les restrictions OpenAI vers la Chine de juillet 2024.
PyPI illustre la concentration multi-couches : la fondation Python (PSF, américaine) opère le service, l’infrastructure de calcul est fournie par AWS, le CDN est assuré par Fastly à hauteur d’environ 1,8 M$ par mois sous forme de don, le stockage des fichiers est sur Google Cloud Storage. Trois acteurs américains se trouvent simultanément dans le chemin critique de toute organisation européenne qui exécute pip install.
Ce qui est demandé par catégorie de déclarant#
Pour un éditeur de logiciel. Forge primaire et miroirs éventuels, registres de paquets utilisés par le pipeline de build, registre de conteneurs sur lequel les images sont publiées, plateforme de CI/CD, services tiers de signature de code, fournisseurs de certificats TLS, DNS de production. Mention explicite de l’auto-hébergement quand il existe (par exemple, GitLab CE auto-hébergé) et de la juridiction de l’instance.
Pour un hébergeur ou fournisseur cloud. Registres et forges utilisés pour ses propres images d’infrastructure, dépendances dans la chaîne de provisioning des nouveaux clients, services tiers de monitoring globalement utilisés par la plateforme.
Pour un distributeur ou intégrateur. Forges et registres dont dépend la chaîne de packaging et de livraison des solutions aux clients. Si le distributeur s’appuie sur les artefacts de l’éditeur d’origine sans miroir local, mention explicite du fait que la coupure de cette chaîne par l’éditeur l’arrêterait également.
Exemple de réponse honnête bien faite#
Une scale-up européenne de 130 personnes déclare son domaine 3 ainsi. Forge : GitLab CE auto-hébergé en France sur infrastructure interne, miroir de sécurité sur GitHub privé conservé en lecture seule. Registre de paquets npm : utilisation directe de registry.npmjs.org (Microsoft, États-Unis), sans miroir local — déclaré comme angle mort dans le domaine 7. Registre PyPI : utilisation directe avec dépendance triple sur PSF, AWS et Fastly. Registre de conteneurs : Harbor auto-hébergé qui mirrore Docker Hub pour les images de base, ce qui permet une continuité de quelques jours en cas de coupure. CI/CD : GitLab CI sur l’instance interne. CDN : Bunny.net (Slovénie). Certificats Web : Let’s Encrypt (États-Unis), avec contrat parallèle Certigna (France) en standby pour les services critiques. DNS : Gandi (France). Monitoring : Grafana auto-hébergé.
L’entreprise mentionne dans le domaine 3 un projet en cours de mise en miroir des dépendances npm critiques via Verdaccio à horizon 2027, ce qui réduira l’exposition.
Anti-pattern à éviter#
Un domaine 3 qui se résume à « nous utilisons les services standards de l’industrie pour notre chaîne de développement » est précisément ce que la thèse 7 cherche à dépasser. Une mention vague des registres sans qualification de juridiction (« nous utilisons npm et PyPI ») ne permet pas à l’acheteur de comprendre l’exposition. Une déclaration triomphante (« nous maîtrisons entièrement notre chaîne de production ») sans justification technique est une fausse rassurance, sauf cas exceptionnel d’organisations qui ont effectivement reconstruit toute leur chaîne en interne.
Articulation avec les autres domaines et engagements#
Le domaine 3 s’articule directement avec l’engagement utilisateur user-005-document-jurisdiction-supply-chain : un déclarant qui a pris cet engagement dispose déjà du contenu du domaine 3. Il complète le domaine 1 en élargissant la notion de dépendance au-delà du seul code intégré. Il alimente le domaine 7 quand l’absence de miroir local ou d’alternative est assumée comme angle mort en cours de traitement.
Comment remplir le formulaire#
Le formulaire propose une bibliothèque des services de chaîne d’approvisionnement les plus courants (GitHub, npm, Docker Hub, Cloudflare, etc.). Pour chaque dépendance retenue, voici les champs à renseigner.
Identification du service#
- Type : choisissez parmi Forge de code, Registre de paquets, Registre de conteneurs, CDN, Authentification, CI/CD, DNS, Certificats, Supervision / monitoring, Autre.
- Nom : nom commercial du service (ex. : GitHub, npm, Docker Hub, Cloudflare, Let’s Encrypt).
- Éditeur ou fournisseur : entité qui exploite le service.
- Juridiction : pays sous lequel cette entité opère (US, FR, DE…).
Évaluation de l’impact#
- Niveau d’impact en cas de coupure : 5 paliers. Bloquant (activité interrompue immédiatement), Sévère (dégradation majeure), Modéré (palliatif partiel possible), Mineur (facilement contournable), Non évalué (à honorer si vous n’avez pas fait l’exercice).
- Description de l’impact : ce qui s’arrête concrètement (« 100 % du revenu en attente », « impossibilité de déployer une correction critique », « RTO dégradé à 24 h »).
Plan de bascule#
Distinct du plan de contournement du domaine 2 : ici on parle de bascule opérationnelle rapide (heures à jours), pas de substitution structurelle (mois).
- Statut du plan de bascule : Documenté et testé, Documenté non testé, Identifié non documenté, Aucun plan, Non évalué. Honnêteté préférable à promesse.
- Description du plan de bascule : où basculez-vous (mirror, fournisseur secondaire, mode dégradé) et comment.
- Source (URL) : lien vers la documentation interne ou publique du plan, si elle existe.