Architecture · flux de données EU
Hébergé et traité dans l'Union européenne.
Diagramme exhaustif du flux de données : widget visiteur → API ingest → base Supabase Frankfurt. Aucune couche hors UE pour l'hébergement, le code applicatif ou la persistance. La stack est conçue pour permettre une migration ultérieure vers OVH Public Cloud France (Tier Enterprise Phase 4) sans rupture contractuelle.
Diagramme
SVG inline · indexable SEO
Légende : flèche pleine = chemin critique des données utilisateur (visiteur → API → base). Flèche pointillée = service annexe ou auxiliaire (notifications, observabilité, paiement). Bordure brand = couche d'ingest principal · bordure bleue = persistance.
Chemin de la donnée
Chaque saut entre composants est volontairement minimal. Aucune analyse comportementale, aucun cookie tiers, aucune adresse IP brute conservée. Le quota est vérifié atomiquement via PostgreSQL pour empêcher tout dépassement (Article 99 EU AI Act engage le client de Sentinel AI au-delà du plafond).
- 01
Visiteur du site client
Charge le widget IIFE 5.87 KB gzip depuis CDN Edge EU (latence minimale selon localisation visiteur).
- 02
Widget → POST /v1/events
navigator.sendBeacon() vers api.sentinel-ai.eu (Vercel Fluid Compute cdg1). Payload : event type + project_key public + locale, sans IP brute ni cookie tiers.
- 03
API → Supabase Postgres (eu-central-1)
Insertion via RPC sentinel.insert_event_with_quota (SECURITY DEFINER, RLS check côté p_api_key_id). Quota 30j vérifié atomiquement.
- 04
Console DPO (app.sentinel-ai.eu, cdg1)
Lit registre IA + audit log via @supabase/ssr 2.103. RLS multi-tenant + helper sentinel.current_org_ids() filtre toutes les requêtes.
- 05
Stripe webhooks → API
Stripe Payments Europe Ltd. (Ireland) push checkout/subscription events. Signature HMAC vérifiée + trigger sentinel.webhooks_log_forgery_guard avant insert.
- 06
Email transactionnel → Resend EU
Cron apps/console toutes les 5 min dispatch sentinel.pending_emails (welcome, dunning, dispute) via Resend Ireland avec idempotency key.
Régions par service
7 services · 100% EU
| Service | Région | Périmètre | Juridiction |
|---|---|---|---|
| Supabase Cloud (DB + Auth + Storage) | AWS eu-central-1 (Frankfurt) | Toutes les données utilisateur + audit log + événements widget | EU + maison-mère US |
| Vercel Fluid Compute (api · console) | AWS cdg1 (Paris) + fra1 (Frankfurt) | Compute serveur + logs requêtes 30j (anonymisés) | EU + maison-mère US |
| Vercel Edge (CDN widget + landing) | EU (Frankfurt · Paris · Amsterdam) | Cache statique widget IIFE + landing prerendered | EU + maison-mère US |
| Resend | EU (Ireland) | Email transactionnel · 90 jours rolling | EU + maison-mère US |
| Sentry | EU (Frankfurt · *.de.sentry.io) | Erreurs serveur · PII filter actif · 90 jours rolling | EU + maison-mère US |
| Upstash Redis | EU (Ireland) | Rate-limit + cache éphémère 5 min | EU + maison-mère US |
| Stripe Payments Europe Ltd. | Ireland (entité EU dédiée) | Facturation + TVA + 3D Secure · 10 ans rétention comptable | EU + maison-mère US |
| PostHog Cloud EU (analytics produit) | AWS eu-central-1 (Frankfurt) | Events UI onboarding anonymes · sans email ni PII directe | EU + maison-mère US |
CLOUD Act & Schrems II — l'écart honnête
Plusieurs sous-traitants (Vercel · Supabase · Sentry · PostHog) sont des entreprises de droit américain hébergées en région EU. La donnée est stockée et traitée dans l'Union, mais leur maison-mère reste théoriquement soumise à des injonctions extraterritoriales (CLOUD Act 2018, US 18 U.S.C. § 2713). C'est le compromis assumé pour démarrer la bêta avec une infrastructure mature et auditable.
Atténuations en place : chiffrement au repos AES-256, RLS strict côté Supabase, pas de secrets côté Vercel (toutes les clés sont chiffrées Vercel Encrypted Env), TIA (Transfer Impact Assessment) Schrems II documenté pour chaque sous-traitant, possibilité de recourir aux clauses contractuelles types (CCT 2021/914) pour tout transfert futur.
Roadmap voie de sortie souveraine — Tier Enterprise (Phase 4)
Migration console + API vers OVH Public Cloud France (hébergement souverain) avant la fin de la phase bêta. Les abonnés bêta seront prioritaires pour l'option « hébergement souverain » dès que le périmètre est prêt.