# Security Questionnaire — version courte (procurement-ready)

> **Document de travail.** Brouillon commercial à relire par un avocat IT et RGPD avant signature. Aucune valeur contractuelle en l'état.
>
> **Réponses à la date du document.** Pour un questionnaire long (60+ questions, type **CSA CAIQ v4**, **CSA STAR Level 2**, **AWS SaaS Security Questionnaire complet** ou **SIG Lite/Core**) ou un audit approfondi, contactez [security@getscope.dev](mailto:security@getscope.dev). Un questionnaire long sera produit sur demande après discovery commerciale.

**Version** : v1 — 2026-05-24
**Référentiels** : subset **CSA STAR Level 1** + **AWS SaaS Security Questionnaire** simplifié.
**Éditeur** : Amir KELLOUSIDHOUM AE, SIRET 917 709 024 00017
**Contact** : [security@getscope.dev](mailto:security@getscope.dev) + [dpo@getscope.dev](mailto:dpo@getscope.dev)

---

## Comment lire ce document

Chaque ligne suit le format `# | Question | Réponse | Renvoi artefact détaillé`.

Les renvois pointent vers les autres documents `docs/legal/*.md` ou les pages publiques (`/sous-traitants`, `/dpa`, `/trust`).

Les réponses sont **factuelles à la date du document**. Toute évolution matérielle de la stack ou des engagements est notifiée par email aux administrateurs des organisations abonnées.

---

## A. Data residency (5 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| A1 | Où sont stockées les données client au repos ? | **Supabase eu-west-1 (Dublin, Irlande)** pour la base Postgres et le Storage (briefs, audio, exports). Cloisonnement multi-tenant par RLS + chemin Storage `{org_id}/{project_id}/...`. | [`./architecture-data-flow.md`](./architecture-data-flow.md) §1, [`./subprocessors.md`](./subprocessors.md) §2 |
| A2 | Où sont exécutés les traitements applicatifs (compute) ? | **Railway région EU West (Union européenne)** pour les fonctions serverless. Pas de persistance applicative côté Railway. | [`./architecture-data-flow.md`](./architecture-data-flow.md) §1 |
| A3 | Où est effectuée la transcription audio ? | **Gladia SAS (Paris, France)**. Gladia est juridiquement EU et hostée en France. Rétention configurée à 1 jour côté Gladia (audio brut Scope conservé 90 jours côté Supabase). | [`./subprocessors.md`](./subprocessors.md) §2 ligne 4 |
| A4 | Existe-t-il des transferts hors UE pour des sous-traitants US-domiciliés (Railway, Supabase, OpenRouter, Resend, GlitchTip, Cloudflare) ? | **Mitigations explicites par sous-traitant** : régions UE forcées, Clauses Contractuelles Types (CCT) UE 2021/914, proxy stateless avec `data_collection=deny`, PII scrub SDK, métadonnées seulement. Liste détaillée et changelog public. | [`./subprocessors.md`](./subprocessors.md) §3 |
| A5 | La résidence EU est-elle contractuelle dans les DPAs des sous-traitants ? | **Oui** pour tous les sous-traitants matériels (Railway, Supabase, Resend, GlitchTip). Les contrats incorporent les CCT UE 2021/914 et engagent les sous-traitants à des régions UE pour les données Scope. | [`./subprocessors.md`](./subprocessors.md) §3 |

## B. Encryption (3 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| B1 | Chiffrement au repos ? | **AES-256** sur les volumes Supabase Postgres et Storage (par défaut Supabase). Stripe gère le PCI DSS Level 1 côté paiement. | [`./dpa-template.md`](./dpa-template.md) Annexe 2 |
| B2 | Chiffrement en transit ? | **TLS 1.2+ partout** : HTTPS sur tous les canaux web, WebSocket sécurisé pour la dictée audio, webhooks Stripe/DocuSeal signés HMAC. | [`./dpa-template.md`](./dpa-template.md) Annexe 2 |
| B3 | Gestion des secrets applicatifs ? | Variables d'environnement **Railway chiffrées au repos**. Séparation `anon` / `authenticated` / `service_role` côté Supabase. Rotation des clés API API documentée. Aucun secret committé en clair dans le repo. | [`./architecture-data-flow.md`](./architecture-data-flow.md) §6 |

## C. Authentication (3 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| C1 | Authentification utilisateur ? | **Supabase Auth** avec mots de passe **hachés et salés bcrypt**. Session **JWT à rotation automatique**. OAuth Google disponible. | [`./dpa-template.md`](./dpa-template.md) Annexe 2 |
| C2 | MFA disponible ? | **MFA TOTP** disponible nativement (compatible Google Authenticator, 1Password, Authy). Enrollment self-service. Recommandation CNIL mars 2025 alignée. Enforcement administrateur en roadmap pour tier Business/Enterprise. | [`./dpa-template.md`](./dpa-template.md) Annexe 2 |
| C3 | SSO Enterprise (SAML / OIDC) ? | **Roadmap conditionnée à signature design partner** : intégration via partenaire identitaire (par exemple SSOReady self-hosted, MIT open source) pour OIDC. SAML disponible sur la même base si requis. SSO actuellement masqué dans l'UI (feature flag `enterprise_sso` OFF). Discovery commerciale requise. | Roadmap interne |

## D. Authorization & multi-tenant (3 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| D1 | Cloisonnement entre tenants (organisations) ? | **Row Level Security (RLS) Postgres** activée sur les **60 tables** sensibles. Helpers `is_member_of_org` / `is_org_role` avec `SECURITY DEFINER` et `search_path=public`. Tout accès aux données passe par les policies RLS. | [`./architecture-data-flow.md`](./architecture-data-flow.md) §6, [`./dpa-template.md`](./dpa-template.md) Annexe 2 |
| D2 | Cloisonnement Storage ? | **Chemin Storage path-scoped** `{org_id}/{project_id}/...` avec policies Supabase Storage filtrantes par `org_id`. | [`./architecture-data-flow.md`](./architecture-data-flow.md) §6 |
| D3 | Rôles et permissions ? | Rôles `owner` / `admin` / `member` au niveau organisation. Permissions granulaires sur les projets via `project_members`. Auditabilité de chaque changement de rôle via `audit_logs`. | [`./dpa-template.md`](./dpa-template.md) Annexe 2 |

## E. Audit logging (2 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| E1 | Quelles actions sont auditées ? | **Mutations sensibles** : exports (PDF/DOCX/PPTX), signatures électroniques, débits crédits, changements de rôle organisation, suppression projet, accès admin (service_role). Tracking via triggers Postgres **append-only**. | [`./dpa-template.md`](./dpa-template.md) Annexe 2 |
| E2 | Quelle est la rétention des audit logs ? | **13 mois** pour les actions standards (durée recommandée CNIL pour les journaux applicatifs). **10 ans** pour les pièces comptables (`metadata.source='comptable'` : ledger crédits, événements signature eIDAS). Cf. obligations L.123-22 Code de commerce. | [`./exit-plan.md`](./exit-plan.md) §5 |

## F. Incident response (2 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| F1 | Existe-t-il un processus formel de réponse aux incidents ? | **Oui** : détection (GlitchTip auto + uptime check à câbler + signalement utilisateur) → triage S1/S2/S3 → escalation (S1 : containment 2h ouvrées, DPO 24h, CNIL 72h, Client 24h) → post-mortem 7j. Référentiel ISO 27035 + RGPD art. 33-34. | [`./incident-response.md`](./incident-response.md) |
| F2 | Notification de violation aux Clients sous quel délai ? | **24 heures ouvrées** par email Resend (`security@getscope.dev`) pour S1 et S2 dès confirmation. Notification CNIL dans les **72h** pour les violations de données personnelles (RGPD art. 33). Notification personnes concernées sans délai indu si risque élevé (RGPD art. 34). | [`./incident-response.md`](./incident-response.md) §4, [`./dpa-template.md`](./dpa-template.md) Art. 5 §7 |

## G. GDPR posture (4 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| G1 | Existe-t-il un DPA réutilisable ? | **Oui** : DPA Article 28 RGPD complet, publié sur [getscope.dev/dpa](https://getscope.dev/dpa). Versions PDF FR/EN téléchargeables. Version markdown procurement-portable disponible avec marqueurs `[CLIENT_NAME]` etc. | [`./dpa-template.md`](./dpa-template.md), [https://getscope.dev/dpa](https://getscope.dev/dpa) |
| G2 | Comment exercer le droit d'accès et de portabilité (RGPD art. 15+20) ? | **Export GDPR self-service** via l'interface (paramètres → Données → Exporter mes données). Zip JSON + Markdown + assets. Délai typique < 24h. Détaillé dans Exit Plan. | [`./exit-plan.md`](./exit-plan.md) §3 |
| G3 | Comment exercer le droit à l'effacement (RGPD art. 17) ? | **Suppression via interface ou email DPO**. Préavis 30 jours, hard-delete cascade FK, attestation eIDAS sur demande. Données conservées par obligation légale détaillées : audit logs CNIL 13 mois + comptable 10 ans. | [`./exit-plan.md`](./exit-plan.md) §4 |
| G4 | Contact DPO ? | **[dpo@getscope.dev](mailto:dpo@getscope.dev)** (Amir Kellou Sidhoum agissant aussi en qualité de DPO). À la date du document, l'auto-entreprise n'a pas l'obligation de désigner un DPO externe (taille en-deçà du seuil et activité non listée), mais un contact unique est maintenu. | [`./dpa-template.md`](./dpa-template.md) En-tête |

## H. Subprocessors (2 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| H1 | Liste publique des sous-traitants ? | **Oui** : 10 sous-traitants listés sur [getscope.dev/sous-traitants](https://getscope.dev/sous-traitants), endpoint JSON machine-readable [/api/sub-processors.json](https://getscope.dev/api/sub-processors.json) (consommable OneTrust/Vanta/Drata), version markdown procurement-portable. Source unique de vérité : `lib/trust/sub-processors.ts`. | [`./subprocessors.md`](./subprocessors.md) |
| H2 | Notification de changement de sous-traitant ? | **Email aux administrateurs 30 jours avant entrée en vigueur**, conformément à RGPD art. 28.2. Droit d'opposition pour motif légitime + résiliation sans pénalité avant la bascule. | [`./subprocessors.md`](./subprocessors.md) §5, [`./dpa-template.md`](./dpa-template.md) Art. 6 |

## I. Retention (2 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| I1 | Politique de rétention des données client ? | **Brief content + scoping + estimations** : durée de vie du projet. **Audio brut** : 90 jours sur Supabase Storage, purge automatique pg_cron. **Transcriptions** : durée du projet. **AI model usage** : 24 mois (couvre AI Act art. 26 + DORA RoI annuel). **Audit logs** : 13 mois CNIL standard, 10 ans pour pièces comptables. | [`./architecture-data-flow.md`](./architecture-data-flow.md) §4, [`./exit-plan.md`](./exit-plan.md) §5 |
| I2 | La rétention audio est-elle configurable au-delà de 90 jours ? | **Tier Business/Enterprise** : rétention configurable (court terme : 30 / 60 jours ; long terme : 180 / 365 jours sur engagement contractuel). À négocier contrat. | [`./architecture-data-flow.md`](./architecture-data-flow.md) §4 |

## J. Backups & DR (2 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| J1 | Stratégie de sauvegarde ? | **Supabase PITR** (Point-In-Time Recovery) avec fenêtre 7 jours par défaut. **Snapshots automatiques quotidiens** + réplication multi-AZ Dublin. Pour DocuSeal : Railway volumes persistants + sauvegardes Railway sur Railway EU West. | [`./rto-rpo.md`](./rto-rpo.md) §4, [`./dpa-template.md`](./dpa-template.md) Annexe 2 |
| J2 | Quels sont les objectifs RTO/RPO ? | **RTO 4h** en heures ouvrées FR (justifié stack Railway multi-région + Supabase PITR + DocuSeal sauvegardes Railway). **RPO 24h** maximum, typiquement < quelques minutes via PITR. Objectifs non contractuels en phase Découverte ; contractualisables Enterprise. | [`./rto-rpo.md`](./rto-rpo.md) §2 |

## K. AI-specific (2 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| K1 | Les prompts et outputs LLM sont-ils utilisés pour entraîner les modèles ? | **Non** : OpenRouter est un proxy stateless (États-Unis) avec clause contractuelle `data_collection=deny` aval. Aucun prompt ni output n'est conservé côté OpenRouter au-delà du traitement, et la clause `data_collection=deny` interdit aux fournisseurs LLM aval de logger ou d'entraîner leurs modèles sur vos données. À ce jour, les requêtes sont acheminées vers OpenAI (GPT-4o / GPT-4o mini, États-Unis) et Anthropic (Claude Sonnet 4.6 / Haiku 4.5, États-Unis) sous Clauses Contractuelles Types UE et DPA propres à chaque fournisseur. Une option Enterprise de routage UE-résident (Anthropic Claude via AWS Bedrock région Paris, ou Mistral Large hébergé à Paris) est en cours de validation interne et sera proposée sur demande dès que les tests de qualité FR seront concluants. | [`./subprocessors.md`](./subprocessors.md) §3.3, [`./architecture-data-flow.md`](./architecture-data-flow.md) §5.4 |
| K2 | Conformité AI Act (règlement UE 2024/1689) ? | Scope est positionné en **système IA à risque limité** (AI Act art. 50) — pipeline d'aide au cadrage projet IT, pas une catégorie high-risk Annex III. Obligations : **transparence utilisateur** (mention "généré par IA + modèle X" dans l'UI), pas de logging structuré obligatoire art. 12 (réservé high-risk). Registre interne `ai_model_usage` tenu à 24 mois pour anticiper DORA RoI AXA. PDF risk assessment public : [`/legal/ai-act-risk-assessment.pdf`](https://getscope.dev/legal/ai-act-risk-assessment.pdf). | Roadmap interne, [https://getscope.dev/legal/ai-act-risk-assessment.pdf](https://getscope.dev/legal/ai-act-risk-assessment.pdf) |

## L. Compliance posture (3 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| L1 | Scope est-il certifié SOC 2 ou ISO 27001 ? | **Non, pas à la date du document.** Aucune certification SOC 2 ni ISO 27001 acquise. Une **roadmap de mise en conformité** est documentée : [`/legal/soc2-roadmap.pdf`](https://getscope.dev/legal/soc2-roadmap.pdf). Certification SOC 2 Type I visée conditionnée à signature design partner. Pas d'engagement contractuel sur les dates. | [https://getscope.dev/legal/soc2-roadmap.pdf](https://getscope.dev/legal/soc2-roadmap.pdf) |
| L2 | Conformité DORA pour les entités financières clientes ? | Scope sera positionné par le Client comme **prestataire ICT third-party non critique** au sens DORA art. 28(3). Le Client devra reporter Scope dans son **Register of Information** (RoI). Scope fournit les artefacts nécessaires : architecture data-flow, subprocessors, RTO/RPO, exit plan, DPA. **Mapping CSV exportable** vers le template DORA RoI ESA disponible sur demande. **Implémentation xBRL/ITS** robuste non engagée — différée à un chantier dédié si requis post-signature. | [`./subprocessors.md`](./subprocessors.md), [`./architecture-data-flow.md`](./architecture-data-flow.md), [`./rto-rpo.md`](./rto-rpo.md) |
| L3 | Conformité HDS (Hébergeur de Données de Santé) ? | **Hors champ** : Scope n'héberge pas de données de santé au sens R.1111-9 du Code de la santé publique. Le service est destiné au cadrage de projets IT B2B et l'ingestion de catégories particulières art. 9 RGPD est interdite par CGU/CGV. | [`./dpa-template.md`](./dpa-template.md) Art. 3 |

## M. Operational (2 questions)

| # | Question | Réponse | Renvoi |
|---|---|---|---|
| M1 | Quelle est la procédure de revue de code et de release ? | Tout commit passe par **typecheck strict TypeScript + lint ESLint + format Prettier + tests Vitest** localement avant push. Déploiement Railway automatique sur push `main`. Pre-commit hooks bloquants sur typecheck. Aucun déploiement direct sans typecheck vert. | CLAUDE.md (interne) |
| M2 | Existe-t-il un programme de divulgation responsable des vulnérabilités ? | **Email dédié** [security@getscope.dev](mailto:security@getscope.dev). Endpoint `security.txt` RFC 9116 servi en production sur [`/.well-known/security.txt`](https://getscope.dev/.well-known/security.txt) (contacts security@ + dpo@, langues fr/en). Pas de bug bounty formel à ce jour. | [https://getscope.dev/.well-known/security.txt](https://getscope.dev/.well-known/security.txt) |

---

## Total : 28 questions

Réparties en 13 catégories : data residency (5), encryption (3), authentication (3), authorization & multi-tenant (3), audit logging (2), incident response (2), GDPR posture (4), subprocessors (2), retention (2), backups & DR (2), AI-specific (2), compliance posture (3), operational (2).

**Format de réponse standard** : factuel + lien vers le document de référence. Aucune réponse n'est inventée. Si l'information n'est pas disponible à la date du document, le statut "à câbler", "TODO" ou "roadmap conditionnée" est explicité.

---

## Renvois utiles

- **DPA** : [`./dpa-template.md`](./dpa-template.md) + [https://getscope.dev/dpa](https://getscope.dev/dpa)
- **Architecture data-flow** : [`./architecture-data-flow.md`](./architecture-data-flow.md)
- **Subprocessors** : [`./subprocessors.md`](./subprocessors.md) + [https://getscope.dev/sous-traitants](https://getscope.dev/sous-traitants)
- **Incident Response** : [`./incident-response.md`](./incident-response.md)
- **Exit Plan** : [`./exit-plan.md`](./exit-plan.md)
- **RTO/RPO** : [`./rto-rpo.md`](./rto-rpo.md)
- **SLO Découverte/PoC** : [`./slo-decouverte-poc.md`](./slo-decouverte-poc.md)
- **Trust Center web** : [https://getscope.dev/trust](https://getscope.dev/trust)
- **PDFs téléchargeables** : DPA FR/EN, DPIA template, AI Act risk assessment, SOC 2 roadmap — voir Trust Center

---

*Document `security-questionnaire-short.md` v1 — 2026-05-24 — à relire par avocat IT/RGPD avant signature. **Format long sur demande** ([security@getscope.dev](mailto:security@getscope.dev)) pour audits approfondis CSA CAIQ v4 / STAR L2 / SIG.*
