Sous-traitants — WeInspect
Version v1.2 — 2026-06-21 Mise à jour à chaque ajout, retrait ou changement de fournisseur.
Loi 25 (RLRQ c P-39.1) art. 18 et 18.1 imposent l'identification claire des sous-traitants traitant des renseignements personnels pour notre compte. La présente liste est tenue à jour. Tout changement substantiel (ajout fournisseur, expansion de scope) déclenche une notification utilisateurs et, le cas échéant, une nouvelle demande de consentement.
En clair
On a 9 sous-traitants. Pas un de plus. Pas un de moins.
🇨🇦 Canada : 2 (Supabase, Stripe Canada)
🇺🇸 États-Unis : 5 (Anthropic, OpenAI, Resend, Netlify, Sentry)
🇪🇺 Union européenne : 1 (Plausible)
🌐 À confirmer au provisionnement : 1 (Microsoft Azure AI Translator — région demandée : Canada `canadacentral` ; la résidence du traitement n'est pas garantie par l'endpoint global, au pire = États-Unis, à parité avec nos sous-traitants IA américains existants)
Chacun a un Data Processing Agreement (DPA) signé avec nous.
Chacun a un usage précis et limité.
Aucun "data broker" intermédiaire.
Aucun routage caché.
Aucune monétisation indirecte de vos données.
Tableau détaillé
| # | Fournisseur | Pays | Usage | Catégories de données traitées | Garanties contractuelles | Lien politique | |---|---|---|---|---|---|---| | 1 | Supabase Inc. | 🇨🇦 Canada (ca-central-1) | Base de données Postgres, authentification, stockage de fichiers (photos, audio), realtime sync | Toutes les catégories de données utilisateur (compte, profil, inspections, photos, audio, métadonnées) | DPA signé, ISO 27001, SOC 2 Type II, Row-Level Security activé | <https://supabase.com/privacy> | | 2 | Stripe Payments Canada Inc. | 🇨🇦 Canada (avec failover 🇺🇸) | Paiements, facturation, abonnements, gestion fraude (Radar) | Données paiement (carte gérée intégralement par Stripe), nom + adresse facturation, montant transactions | DPA, PCI-DSS Level 1, Stripe Tax pour TPS/TVQ QC | <https://stripe.com/privacy> | | 3 | Anthropic PBC | 🇺🇸 États-Unis | Génération de constats, classification photos, réécriture, chatbot futur | Audio transcrit, photos d'inspection, texte transcription, prompts utilisateur | DPA, Zero Data Retention activé sur compte API enterprise, no training on customer data clause contractuelle explicite | <https://www.anthropic.com/legal/privacy> | | 4 | OpenAI LLC | 🇺🇸 États-Unis | Transcription audio (Whisper API), embeddings RAG sur sources publiques BNQ + Code civil | Fichiers audio (Whisper) ; aucune donnée privée pour embeddings | DPA, API Zero Retention (paramètre activé), no training on API data par défaut depuis 2023 | <https://openai.com/policies/api-data-usage-policies> | | 5 | Resend Inc. | 🇺🇸 États-Unis | Envoi de courriels transactionnels (confirmation inscription, reset mot de passe, factures, notifications inspection) | Adresses courriel, contenu courriel (corps), métadonnées envoi | DPA, SPF/DKIM/DMARC configuré, opt-out automatique en footer | <https://resend.com/legal/privacy-policy> | | 6 | Netlify Inc. | 🇺🇸 États-Unis (CDN global) | Hébergement application Next.js, CDN statique, fonctions serverless | Pas de RP traités en logique applicative ; logs HTTP (IP, URL) en cache court | DPA, SOC 2, retention logs 30j max | <https://www.netlify.com/privacy> | | 7 | Plausible Insights OÜ | 🇪🇺 Union européenne (Estonie) | Analytics de fréquentation site marketing public (pages vues, conversions formulaire). Cookieless, sans tracking individuel | URL pages visitées, code pays (basé IP hashée + sel quotidien rotatif), referrer, type appareil | DPA, RGPD/CCPA/Loi 25 conforme par design | <https://plausible.io/privacy> | | 8 | Functional Software, Inc. (Sentry) | 🇺🇸 États-Unis | Crash reports et monitoring de stabilité de l'application mobile | Identifiant utilisateur pseudonyme, version app, OS, stack traces, breadcrumbs techniques expurgés | DPA, sendDefaultPii: false, scrubbing PII SDK (beforeSend / beforeBreadcrumb), audit trimestriel | <https://sentry.io/privacy/> | | 9 | Microsoft Corporation (Azure AI Translator) | 🌐 Région demandée : 🇨🇦 Canada (canadacentral) — résidence du traitement non garantie par l'endpoint global, à confirmer au provisionnement (au pire 🇺🇸 US, à parité avec OpenAI/Anthropic) | Traduction du texte des constats d'inspection (FR↔EN) — fonction « Traduire vers l'anglais / français » de l'éditeur | Texte des constats (HTML sanitizé) envoyé pour traduction ; aucune donnée de paiement ni d'authentification | DPA Microsoft (DPA Products & Services) à signer par le DPO avant transit en prod, Azure ISO 27001 / SOC 2 Type II, clés serveur-only | <https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA> |
Détails complémentaires
Anthropic — Zero Data Retention (ZDR)
ZDR est un tier API enterprise Anthropic qui garantit que les payloads (prompts + réponses) ne sont pas conservés au-delà du temps strict de la génération. Pas de logs côté Anthropic après ~30s. Pas d'utilisation pour entraîner Claude.
OpenAI — API Zero Retention
Depuis 2023, OpenAI ne forme plus ses modèles sur les données envoyées via API par défaut. Le paramètre data_retention=0 peut être activé pour retention 0 jour côté infrastructure (au lieu de 30 jours par défaut).
Microsoft Azure AI Translator — résidence et finalité
Azure AI Translator traduit le texte des constats d'inspection entre le français et l'anglais (fonction « Traduire vers l'anglais / français » de l'éditeur). Cette finalité — traitement IA des constats — est identique à celle déjà couverte par le consentement ai_processing existant ; l'ajout d'Azure ne crée pas de nouveau scope de consentement (sous-traitant iso-finalité), il s'ajoute aux sous-traitants IA américains existants (OpenAI, Anthropic) qui reçoivent déjà cette classe de renseignements.
Résidence — posture honnête (Loi 25) : la ressource Azure Translator est provisionnée best-effort en région Canada (canadacentral), mais la résidence du traitement n'est pas garantie par l'endpoint global api.cognitive.microsofttranslator.com. La zone réelle est confirmée au provisionnement et documentée ici à ce moment-là. Au pire, le traitement a lieu aux États-Unis, à parité avec nos sous-traitants IA américains existants — la posture Loi 25 ne se dégrade donc pas par rapport à aujourd'hui.
Stripe — Données bancaires jamais stockées chez nous
WeInspect utilise Stripe Elements (front) + webhooks (backend) → la carte de paiement n'est jamais envoyée à nos serveurs. Stripe la tokenise (pm_xxx). Nous stockons uniquement le customer_id Stripe et le statut paiement.
Observabilité (crash reports / monitoring)
Sentry est utilisé pour les crash reports mobiles. L'intégration mobile désactive l'envoi de PII par défaut et applique un filtrage explicite des courriels, tokens, coordonnées GPS, chemins de fichiers locaux, notes, transcriptions et constats générés avant envoi. Les erreurs côté serveur restent consignées dans les logs Netlify (rétention 30j max).
Tout ajout d'un autre outil d'observabilité ferait l'objet :
- D'une mise à jour de cette liste avec DPA + scrubbing PII documenté
- D'une notification utilisateurs 30 jours avant transit si le changement est matériel
- D'un audit trimestriel des données envoyées
Politique d'évolution
Ajout d'un nouveau sous-traitant
Procédure obligatoire :
- Évaluation due diligence : sécurité, conformité, juridiction, références
- Négociation DPA signé avant tout transit de RP
- Mise à jour de cette page + bump version
- Notification utilisateurs par courriel + in-app 30 jours avant transit
- Si nouveau scope nécessitant consentement (ex: nouveau fournisseur IA) : nouvelle demande de consentement explicite ; refus = bascule sans cette feature
- Mise à jour DPIA si le risque change
Retrait d'un sous-traitant
- Migration des données vers fournisseur de remplacement
- Suppression chez l'ex-sous-traitant documentée (clause DPA "fin de contrat = suppression dans 30j")
- Mise à jour de cette page
Changement de scope
Toute extension du scope d'un sous-traitant existant (ex: un fournisseur passe de mobile-only à web aussi) → traitée comme un ajout (procédure ci-dessus).
Historique des versions
| Version | Date | Changement | |---|---|---| | v1.2 | 2026-06-21 | Ajout Microsoft Azure AI Translator (9ᵉ sous-traitant) pour la traduction des constats — remplace OpenAI sur cette fonction (S40.PR40.69). Résidence Canada best-effort, non garantie ; DPA à signer. Pas de bump du consentement ai_processing (sous-traitant iso-finalité, scope inchangé). | | v1.1 | 2026-05-12 | Ajout Sentry pour crash reports mobiles S20a + scrubbing PII documenté | | v1.0 | 2026-05-04 | Liste initiale 7 sous-traitants |
Contact
Question sur un sous-traitant spécifique, demande de copie d'un DPA pour audit interne (clients institutionnels) :
dpo@ouiinspect.ca