# Sous-traitants ultérieurs et fournisseurs LLM (annexe 1 du DPA)

Version 1.7, 2026-10-19.

Annexe 1 de l'[accord de traitement des données](dpa.md) (DPA). Elle liste les prestataires auxquels
Gosper confie une partie du traitement des données de ses clients, puis explique la place
particulière des fournisseurs de modèles de langage (LLM).

Dernière vérification : 16 octobre 2026. Les hôtes joints par la plateforme
(section 4) ont été relevés dans le code le 18 octobre 2026.

## 1. Sous-traitants ultérieurs de Gosper

### 1.1 Toujours utilisés

| Prestataire | Rôle | Données concernées | Localisation | Garantie de transfert |
|---|---|---|---|---|
| OVH SAS (OVHcloud), Roubaix, France | Hébergement de l'application, de la base de données et des sauvegardes | Toutes les données de la plateforme (contenu chiffré compris) | France (copies de sauvegarde hors serveur : stockage objet OVHcloud de Gravelines) | Sans objet (Union européenne) |
| Brevo | Envoi des e-mails du produit (invitations, alertes de quota, ancrage du journal d'audit) **en repli** : par défaut, ces e-mails partent du serveur SMTP de votre organisation, une fois enregistré et activé par votre propriétaire de compte ; ils passent par Brevo lorsqu'aucun serveur SMTP n'est enregistré, ou lorsque le vôtre est en panne ou mal configuré (injoignable, authentification refusée). Les rapports d'anomalie adressés au support de Gosper passent toujours par Gosper | Adresse e-mail et nom du destinataire, contenu de l'e-mail (jamais de contenu de conversation) | France | Sans objet (Union européenne) |

### 1.2 Selon les options activées pour votre instance

Ces prestataires ne sont sollicités que si l'option correspondante est activée. La liste des
options actives est précisée dans votre bon de commande.

| Prestataire | Option | Données concernées | Localisation | Garantie de transfert |
|---|---|---|---|---|
| Sentry | Rapports d'erreurs serveur | Trace technique de l'erreur, nettoyée de tout contenu, requête et identifiant d'utilisateur | Union européenne (Francfort) si la région européenne du compte est retenue, États-Unis sinon | Adhésion au Data Privacy Framework, clauses contractuelles types de 2021 en secours dans le DPA de Sentry ([transferts internationaux](https://sentry.io/trust/privacy/)) |
| WorkOS | Authentification unique d'entreprise (SAML, OIDC) et synchronisation d'annuaire (appartenance aux groupes, désactivation et réactivation des comptes) | Identité et adresse e-mail transmises par votre fournisseur d'identité ; pour l'annuaire, adresse e-mail, identifiant externe et groupes des comptes synchronisés | États-Unis | Clauses contractuelles types (modules 2 et 3) annexées au DPA de WorkOS ([DPA](https://workos.com/legal/dpa)) |
| Google (connexion Google) ou votre fournisseur OIDC | Connexion avec un compte Google ou un fournisseur OIDC | Identité et adresse e-mail | Selon le fournisseur | Contrat entre votre organisation et son fournisseur d'identité |
| Microsoft (Microsoft Graph) | Connecteur OneDrive et SharePoint, activé par vos administrateurs | Métadonnées et contenu des fichiers que vos utilisateurs choisissent de joindre | Selon votre propre contrat Microsoft 365 | Contrat entre votre organisation et Microsoft |
| Google (Google Drive) | Connecteur Google Drive, activé par vos administrateurs | Métadonnées et contenu des fichiers que vos utilisateurs choisissent de joindre | Selon votre propre contrat Google Workspace | Contrat entre votre organisation et Google |
| Google (Firebase Cloud Messaging) | Notifications de l'application mobile (alertes de quota) | Identifiant technique de l'appareil et texte de l'alerte (jamais de contenu de conversation) | États-Unis | Clauses contractuelles types des conditions de traitement des données de Firebase ([conditions](https://firebase.google.com/terms/data-processing-terms)) |
| Have I Been Pwned (`api.pwnedpasswords.com`) | Refus des mots de passe connus pour avoir fuité, à la création ou au changement d'un mot de passe (actif par défaut ; l'exploitant de l'instance peut le désactiver par le réglage `HIBP_DISABLED`) | Les 5 premiers caractères de l'empreinte SHA-1 du mot de passe choisi (k-anonymat), et l'adresse IP du serveur de l'instance : jamais le mot de passe, ni l'identité ou l'adresse IP de l'utilisateur | Service tiers public, hébergement non maîtrisé par Gosper | Aucune donnée d'identité n'est transmise ; pas de contrat entre Gosper et ce service. La vérification est effectuée lorsque le service est joignable : en cas de panne, de délai dépassé ou de sortie réseau refusée, elle est sautée sans bloquer la création du compte |

Une copie des garanties de transfert est communiquée sur simple demande à `contact@gosper.fr`.

Rapports de bug. Le formulaire « Signaler un bug » de la console envoie, par le transport de messagerie de
votre instance (Resend ou le SMTP que vous avez configuré), l'adresse e-mail et l'identifiant de l'auteur ainsi que
le texte libre du rapport à l'adresse définie par la variable `BUG_REPORT_EMAIL`. Il n'y a aucun destinataire
par défaut en production : sans cette variable, le formulaire est désactivé. Ce texte libre n'est pas filtré par
la DLP : il peut contenir ce que l'auteur y colle. Le destinataire est choisi par l'exploitant de l'instance ; si
c'est Gosper, il agit pour votre compte sur la base de ce DPA.

### 1.3 Hors du périmètre du produit

Brevo (France) transmet les demandes envoyées depuis le formulaire de contact du
site vitrine. Gosper est alors responsable de traitement : ce traitement est décrit dans la
politique de confidentialité du site, pas dans le DPA.

Docusign, lorsqu'il sert à signer un bon de commande, traite les nom, fonction et adresse e-mail
des signataires du client pour le compte de Gosper (responsable de traitement). Les transferts sont
encadrés par les règles d'entreprise contraignantes de Docusign approuvées par les autorités
européennes, et à défaut par les clauses contractuelles types
([règles de Docusign](https://docusign.com/trust/privacy/binding-corporate-rules)).

### 1.4 Lien de l'instance avec le hub Gosper

Une instance reliée au hub Gosper (adresse `GOSPER_HUB_URL` et jeton propre à l'instance) le contacte
elle-même, au démarrage puis à intervalle régulier : elle y **tire** ses droits d'usage signés (licence et
modules actifs) et lui **signale** son état (version installée, verrous actifs, état de la licence).
Rien n'est poussé vers l'instance. Le hub voit l'adresse IP de l'instance, comme tout serveur
contacté. Ces échanges ne portent **jamais** de contenu de conversation ni de donnée d'utilisateur.
Le hub est exploité par Gosper (ce n'est pas un sous-traitant ultérieur) ; il est cité ici parce que
c'est un flux sortant de l'instance que votre équipe réseau observera.

## 2. Fournisseurs de modèles de langage (LLM)

### 2.1 Ce ne sont pas des sous-traitants de Gosper

Gosper fonctionne en BYOK (« apportez vos propres clés ») : votre organisation connecte ses propres
clés d'API chez les fournisseurs LLM qu'elle choisit (OpenAI, Anthropic, Google, Mistral, Scaleway),
ou connecte un modèle privé de son choix (point d'accès personnalisé, section 2.4).

En conséquence :

- le contrat qui encadre le traitement par le fournisseur (conditions d'utilisation, accord de
  traitement des données, durée de conservation, région de traitement, réglages d'entraînement)
  est **celui que votre organisation a conclu avec ce fournisseur** ;
- Gosper transmet les requêtes de vos utilisateurs au fournisseur que vous avez choisi, sur votre
  instruction, après application de la protection décrite à la section 7 des
  [mesures de sécurité](mesures-securite.md) ;
- il vous appartient d'inscrire ces fournisseurs dans votre propre registre et de vérifier que
  votre contrat avec eux convient à vos usages.

### 2.2 Points d'accès utilisés par Gosper

Sauf choix contraire de votre organisation, Gosper appelle les points d'accès standard des
fournisseurs. Gosper ne garantit pas que le traitement par le fournisseur ait lieu dans l'Union
européenne.

| Fournisseur | Point d'accès appelé par défaut | Autre point d'accès autorisé |
|---|---|---|
| OpenAI | `api.openai.com` | `eu.api.openai.com` (projet OpenAI en région Europe) |
| Anthropic | `api.anthropic.com` | aucun |
| Google | `generativelanguage.googleapis.com` (API Gemini, et non Vertex AI) | aucun |
| Mistral | `api.mistral.ai` | aucun |
| Scaleway (Generative APIs, catalogue en région `eu`) | `api.scaleway.ai` | aucun |

L'administrateur de votre organisation peut définir, pour chacun de ces cinq fournisseurs, le point
d'accès utilisé avec sa clé, **parmi les hôtes de ce tableau et pas ailleurs** : la liste est fixée par
Gosper dans le produit, elle n'est pas modifiable par le client (le modèle privé de la section 2.4 est
la seule exception, et il est soumis à une autre liste). Une adresse saisie est refusée
si elle n'est pas en `https`, si l'hôte n'est pas exactement l'un des hôtes autorisés pour ce
fournisseur, si c'est une adresse IP littérale, ou si elle comporte un port, des identifiants ou
des paramètres. Gosper ne suit aucune redirection d'un fournisseur et refuse un hôte dont la
résolution mène vers un réseau privé ou réservé. Chaque changement et chaque refus sont inscrits
au journal d'audit (hôte ou motif seulement).

Le choix d'`eu.api.openai.com` ne vaut que si votre contrat avec OpenAI le permet (voir les
recommandations ci-dessous) : Gosper n'a pas encore éprouvé d'appel réel vers ce point d'accès avec
un projet OpenAI en région Europe, et ne garantit pas le traitement en Europe pour autant.

**Scaleway.** Scaleway est un cinquième fournisseur, utilisé comme les autres avec la clé de votre
organisation (BYOK) : le contrat qui l'encadre est celui que votre organisation conclut avec lui. Le
catalogue de Gosper le classe en région `eu` d'après la documentation publique de Scaleway ; Gosper
n'a exécuté aucun appel réel vers ce fournisseur à ce jour et ne garantit pas le lieu du traitement.
Gosper peut aussi, par un réglage de l'instance désactivé par défaut, utiliser une clé de la
plateforme pour Scaleway : Scaleway deviendrait alors un sous-traitant ultérieur de Gosper pour cette
instance, et son ajout à la section 1.2 serait soumis au préavis de la section 3.

### 2.4 Modèle privé de l'organisation et voie souveraine

**Point d'accès personnalisé (modèle privé).** Le propriétaire du compte de votre organisation peut
enregistrer un seul point d'accès compatible avec l'API d'OpenAI : un modèle qu'il exécute sur sa propre
infrastructure ou chez un hébergeur de son choix (Scaleway Managed Inference, par exemple). L'hôte est
**choisi par votre organisation** et ne figure donc pas au tableau de la section 2.2. Il n'est utilisable
que s'il figure aussi dans la liste d'hôtes propre à l'instance que l'exploitant tient (réglage
`CUSTOM_ENDPOINT_ALLOWED_HOSTS`, **vide par défaut** : aucun point d'accès personnalisé n'est utilisable
tant que l'exploitant n'y a rien inscrit). L'adresse doit être en `https`, sans identifiants ni
paramètres ; Gosper ne suit aucune redirection, classe les adresses résolues à chaque connexion et
refuse les réseaux privés ou locaux, sauf autorisation explicite de l'exploitant de l'instance. La clé
saisie est chiffrée au repos et liée à l'adresse enregistrée. L'hébergeur de ce modèle n'est pas un
sous-traitant de Gosper : il agit pour votre organisation. Chaque changement est inscrit au journal
d'audit (hôte seulement).

**Voie souveraine.** Réglage de l'organisation, réservé au propriétaire du compte et **désactivé par
défaut**. Activé, un document d'un dossier Drive de niveau confidentiel n'est envoyé qu'à un modèle de la
« voie » : un modèle dont le catalogue indique la région `eu`, ou le modèle privé que le propriétaire a
**déclaré** souverain. Tout autre modèle est refusé explicitement, sans repli vers un autre fournisseur.
Cette déclaration engage votre organisation : Gosper ne peut pas la vérifier, et la voie souveraine
n'est pas une garantie de traitement en Europe (voir la section 2.2).

### 2.3 Ce que disent les fournisseurs (à titre d'information)

Le tableau ci-dessous résume les engagements publics des fournisseurs pour leurs API
professionnelles, consultés le 9 octobre 2026 (le 16 octobre pour Mistral). Il ne remplace pas votre contrat avec eux, qui
prévaut, et ces engagements peuvent changer.

| Fournisseur | Conservation par défaut | Entraînement sur vos données | Source |
|---|---|---|---|
| OpenAI | Journaux de surveillance des abus conservés jusqu'à 30 jours ; option de conservation nulle soumise à l'accord d'OpenAI | Non, sauf accord explicite de votre part | [OpenAI, « Your data »](https://developers.openai.com/api/docs/guides/your-data) |
| Anthropic | Entrées et sorties supprimées sous 30 jours ; jusqu'à 2 ans en cas de manquement à la politique d'usage ; conservation nulle possible par accord | Non (« Anthropic may not train models on Customer Content ») | [Anthropic, durée de conservation](https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data) ; [conditions commerciales](https://www.anthropic.com/legal/commercial-terms) |
| Google (API Gemini) | Journaux conservés pour une durée limitée, à des fins de lutte contre les abus | Non pour les services payants. Pour les utilisateurs de l'EEE, de la Suisse et du Royaume-Uni, les règles des services payants s'appliquent à tous les services | [Conditions de l'API Gemini](https://ai.google.dev/gemini-api/terms) |
| Mistral | Journaux de surveillance des abus, durée non précisée par Mistral ; conservation nulle possible sur demande (elle supprime cette surveillance) | Non, sauf usage des modèles « Labs » ou « Preview », ou accord contraire | [Conditions commerciales de Mistral](https://legal.mistral.ai/terms/commercial-terms-of-service) (en vigueur le 25 septembre 2026, article 4.2) ; [DPA de Mistral](https://legal.mistral.ai/terms/data-processing-addendum) (article 2.3), consultés le 16 octobre 2026 |

Recommandations :

- **OpenAI** : un traitement en Europe (`eu.api.openai.com`) suppose l'accord d'OpenAI et un
  projet OpenAI créé avec la région Europe. Si c'est un prérequis, choisissez ce point d'accès
  pour OpenAI dans la console (page des clés de fournisseurs de l'administrateur).
- **Google** : utilisez une clé rattachée à un projet avec facturation activée.
- **Tous** : si vous disposez d'une option de conservation nulle, activez-la sur la clé connectée
  à Gosper.

## 3. Changements de sous-traitants

Gosper informe ses clients par écrit de tout ajout ou remplacement d'un sous-traitant ultérieur au
moins 30 jours à l'avance. Le client peut s'y opposer pour un motif légitime pendant ce délai
(voir le [DPA](dpa.md), article 6).

## 4. Hôtes joints par l'instance

Pour permettre à votre équipe réseau de comparer cette annexe au trafic réellement observé, voici les
hôtes que l'instance appelle (liste de sortie de la garde applicative, activable avec le verrou V8). Un
hôte n'est joint que si l'option correspondante est activée pour votre instance.

| Hôte | Usage | Option ou condition |
|---|---|---|
| `api.openai.com`, `eu.api.openai.com` | Requêtes vers OpenAI | Clé OpenAI de votre organisation |
| `api.anthropic.com` | Requêtes vers Anthropic | Clé Anthropic de votre organisation |
| `generativelanguage.googleapis.com` | Requêtes vers l'API Gemini | Clé Google de votre organisation |
| `api.mistral.ai` | Requêtes vers Mistral | Clé Mistral de votre organisation |
| `api.scaleway.ai` | Requêtes vers Scaleway | Fournisseur Scaleway activé pour l'instance |
| `api.resend.com` | Envoi des e-mails du produit (section 1.1) | Toujours, si l'envoi est configuré |
| `graph.microsoft.com`, `login.microsoftonline.com`, `*.sharepoint.com` | Connecteur OneDrive et SharePoint | Connecteur activé |
| `oauth2.googleapis.com`, `www.googleapis.com` | Connecteur Google Drive et connexion Google | Connecteur ou connexion Google activé |
| `api.pwnedpasswords.com` | Vérification des mots de passe (section 1.2) | Actif par défaut, sauf `HIBP_DISABLED` |
| Hôte du hub Gosper | Lien avec le hub (section 1.4) | Instance reliée au hub |
| Hôtes de l'exploitant | Coffre de secrets, bac à sable d'exécution, ancrage du journal, serveur SMTP du client, hôtes ajoutés par le réglage `EGRESS_ALLOWED_HOSTS` | Selon la configuration de l'instance |
| Hôtes du modèle privé | Point d'accès personnalisé de la section 2.4 | Liste `CUSTOM_ENDPOINT_ALLOWED_HOSTS` |

Sur une instance durcie (verrou V8), tout autre hôte est refusé et le refus est inscrit au journal
d'audit (hôte seulement). Les propriétaires, administrateurs et auditeurs peuvent lire la liste et les
refus constatés par l'API (`GET /egress/policy`). Un test automatique compare cette liste aux hôtes que
le code construit.

## Historique

| Date | Changement |
|---|---|
| 2026-10-09 | Refonte : modèle BYOK, ajout des sous-traitants techniques, sources fournisseurs datées. |
| 2026-10-09 | Garanties de transfert vérifiées et sourcées pour Resend, Sentry, WorkOS et Firebase. |
| 2026-10-13 | Point d'accès par fournisseur choisi par l'organisation parmi une liste d'hôtes autorisés (section 2.2, J24). |
| 2026-10-16 | E-mails du produit : SMTP de l'organisation par défaut, Brevo en repli, Resend transitoire ; sauvegardes OVHcloud à Gravelines ; ligne Mistral vérifiée sur ses conditions commerciales et son DPA ; document publié. |
| 2026-10-18 | Audit de sécurité : cinquième fournisseur Scaleway, modèle privé et voie souveraine (section 2.4), vérification des mots de passe compromis (section 1.2), lien avec le hub (section 1.4), périmètre de WorkOS (annuaire), liste des hôtes joints (section 4). |
| 2026-10-19 | Fusion des deux versions 1.4 (16 octobre : e-mails du produit, Brevo, sauvegardes ; 18 octobre : audit de sécurité) en une version 1.5. |
| 2026-10-19 | E-mails du produit : bascule automatique sur Brevo quand le serveur SMTP de l'organisation est inutilisable (le texte du repli devient exact). |
| 2026-10-19 | Resend retiré : plus aucun e-mail du produit n'y transite, Brevo est le seul sous-traitant d'envoi de repli. |
| 2026-10-19 | Fusion des versions 1.5 (audit de sécurité) et 1.6 (e-mails du produit, retrait de Resend) en une version 1.7. |
