Politique de Sécurité des Données

TABLE DES MATIÈRES
1. Objet 2. Architecture de sécurité 3. Procédure de gestion des incidents 4. Responsabilité en cas d'incident chez un sous-traitant 5. Signalement de vulnérabilités 6. Continuité de service 7. Révision et mise à jour

security@zenoiaiq.ch

1. Objet

La présente Politique de Sécurité décrit les mesures techniques et organisationnelles mises en œuvre par Zenoia Sàrl pour protéger les données des utilisateurs de la plateforme ZenoiaIQ, conformément à l'article 8 de la nDSG (RS 235.1) et à l'article 1-4 de l'OPDo (RS 235.11).

2. Architecture de sécurité

2.1 Modèle de défense en profondeur (5 couches)

CoucheMesureDétail
1Isolation multi-tenantRow Level Security (RLS) sur chaque table, filtrage par company_id
2Proxy API serveurClés API sensibles (Claude, Stripe) jamais exposées côté client
3Authentification forte2FA obligatoire par code email (OTP), JWT avec double algorithme (ES256/HS256)
4Gestion de sessionJetons JWT, session isolée par navigateur, vérification à chaque requête, trusted devices
5Porte d'entrée (auth gate)Aucun élément d'interface affiché avant authentification complète

2.2 Chiffrement

PérimètreMéthodeStandard
En transitTLS 1.2+HTTPS obligatoire (HSTS preload)
Au repos (DB)AES-256Supabase/AWS encryption at rest
Au repos (fichiers)AES-256Supabase Storage encryption
Mots de passebcryptHachage irréversible (Supabase Auth)
Jetons JWTES256 / HS256Signature ECDSA avec clés JWKS

2.3 Contrôle d'accès

MécanismeImplémentation
RBAC3 rôles : admin > manager > member
HiérarchieCentralisation dans roles.js, vérification côté client ET serveur
AuditeurAccès orthogonal (auditor_access boolean)
Super adminAccès plateforme distinct du rôle entreprise

2.4 Protection applicative

AttaqueProtection
XSS (Cross-Site Scripting)escHtml() global sur tous les innerHTML, CSP stricte
Injection SQLRequêtes paramétrées via Supabase SDK, RLS
CSRFJetons JWT dans les headers (pas de cookies de session classiques)
IDORVérification user_company_access avant chaque opération sensible
Brute forceRate limiting (20 req/15min sur 2FA, 10/5min sur sourcing)
DDoSProtection Vercel Edge Network + Supabase rate limiting
ClickjackingX-Frame-Options: DENY
MIME sniffingX-Content-Type-Options: nosniff

2.5 Veille réglementaire automatisée

ZenoiaIQ intègre un assistant de veille réglementaire automatisé (Regulatory IQ) qui surveille mensuellement les sources officielles suisses (ESTV, BSV, SECO) pour détecter les modifications de taux TVA, AVS/AI/APG, allocations familiales, barèmes d'impôt à la source, seuils LPP et conventions collectives. Les modifications détectées sont analysées par IA et soumises à validation manuelle par un administrateur avant toute application. Aucune modification automatique n'est effectuée dans la base de données sans intervention humaine.

3. Procédure de gestion des incidents

3.1 Classification des incidents

NiveauDescriptionExemplesDélai de réponse
CritiqueFuite de données personnelles, accès non autoriséCompromission DB, vol de JWT, exfiltration< 1 heure
ÉlevéTentative d'intrusion détectée, faille exploitableInjection SQL tentée, brute force 2FA, zero-day< 4 heures
MoyenAnomalie sans impact avéréPic anormal de requêtes, tentatives de scraping< 24 heures
FaibleBug mineur, amélioration préventiveHeader manquant, CSP ajustement< 7 jours

3.2 Procédure en cas d'incident critique

Phase 1 — Confinement (< 1h)

  1. Isoler le périmètre affecté (suspension de l'API, rotation des clés, blocage IP)
  2. Évaluer l'étendue de la compromission
  3. Activer les sauvegardes si corruption de données

Phase 2 — Notification (< 24h si risque élevé)

  1. Notifier le PFPDT (art. 24 nDSG) si risque élevé pour les personnes concernées
  2. Notifier les Utilisateurs affectés avec description de l'incident et mesures prises
  3. Notifier les Sous-traitants concernés (Supabase, Vercel)

Phase 3 — Remédiation (< 72h)

  1. Corriger la faille ou vulnérabilité
  2. Vérifier l'intégrité des données
  3. Restaurer le service normal

Phase 4 — Post-mortem (< 7 jours)

  1. Rédiger un rapport d'incident détaillé
  2. Identifier les améliorations à apporter
  3. Mettre à jour les mesures de sécurité
  4. 3.3 Registre des incidents

    Chaque incident est documenté dans un registre interne comprenant :

    4. Responsabilité en cas d'incident chez un sous-traitant

    4.1 Principe de diligence (art. 9 al. 2 nDSG)

    Zenoia est tenue de s'assurer que ses sous-traitants sont en mesure de garantir la sécurité des données. Cette diligence se manifeste par :

    4.2 Scénarios spécifiques

    Incident chez Supabase (base de données) :

    Incident chez Vercel (hébergement) :

    Incident chez Stripe (paiements) :

    Incident chez Anthropic (IA) :

    Incident chez Resend (emails) :

    5. Signalement de vulnérabilités

    5.1 Responsible Disclosure

    Zenoia encourage le signalement responsable des vulnérabilités de sécurité. Si vous découvrez une faille :

    1. Envoyez un rapport détaillé à security@zenoiaiq.ch
    2. N'exploitez pas la vulnérabilité au-delà du strict nécessaire pour la démontrer
    3. Ne divulguez pas publiquement la vulnérabilité avant sa correction
    4. Accordez un délai raisonnable (90 jours) pour la correction
    5. 5.2 Engagement de Zenoia

      Zenoia s'engage à :

      • Accuser réception dans les 48 heures
      • Évaluer la vulnérabilité dans les 7 jours
      • Corriger les failles critiques dans les 72 heures
      • Communiquer sur l'avancement de la correction
      • Ne pas engager de poursuites contre les chercheurs agissant de bonne foi

      6. Continuité de service

      6.1 Sauvegardes

      TypeFréquenceRétentionOutil
      Point-in-Time RecoveryContinue7 joursSupabase Pro
      Snapshot quotidienQuotidien30 joursAutomatique AWS

      6.2 Plan de reprise

      ScénarioRTO (objectif)RPO (perte max)Procédure
      Panne Vercel30 min0 (stateless)Basculement automatique Vercel
      Panne Supabase2h< 1hRestauration depuis PITR
      Corruption de données4h< 24hRestauration depuis snapshot
      Compromission complète12h< 24hRotation clés + restauration clean

      7. Révision et mise à jour

      La présente Politique de Sécurité est révisée :

      • Au minimum une fois par an
      • Après chaque incident de sécurité significatif
      • Lors de changements majeurs d'architecture ou de sous-traitants

      Zenoia Sàrl — security@zenoiaiq.ch Dernière révision : 23 mars 2026