ZeugnyAI
Centre de confiance ZeugnyAI

Une sécurité que vous pouvez vérifier, et pas seulement croire.

Les certificats de travail contiennent certaines des données les plus sensibles qu’une entreprise conserve. Cette page montre comment ZeugnyAI les traite, quelles mesures sont en place, lesquelles sont prévues, et où votre équipe peut vérifier chacune d’elles.

Périmètre : ZeugnyAI Cloud (app.zeugny.com), l’édition Auto-hébergé et le Zeugny Engine. ZeugnyAI Chat et le Vérificateur de certificats gratuit sont des produits grand public avec leurs propres déclarations de confidentialité.

Mesures de sécurité

Chaque mesure, avec son statut

Chaque mesure indique si elle est en place, partielle ou prévue. Lorsqu’elle se trouve dans le code de la plateforme, le chemin source est indiqué afin que les clients en auto-hébergement puissent la vérifier.

37En place13Partielle4Prévue

Protection des données et vie privée

Comment les données personnelles sont pseudonymisées, chiffrées, conservées et supprimées.

  • Pseudonymisation avant le moteur

    En place

    À l’intérieur de la plateforme, la frontière PII remplace les noms des employés, des managers et des signataires, les noms des employeurs et des entreprises, les dates, les adresses e-mail professionnelles et les identifiants d’employés par des pseudonymes cohérents avant qu’une requête n’atteigne le moteur, puis les rétablit dans la réponse. Elle s’applique aux appels au moteur de la plateforme RH, du worker de cycle de vie, de ZeugnyAI Chat (qui n’atteint le moteur que par la plateforme) et de la passerelle Word.

    FADP Art. 7GDPR Art. 25ISO A.8.11SOC 2 C1.1
    Vérifier dans le code source
    • platform/packages/ports/src/pii-boundary.ts
    • platform/packages/lifecycle/src/pii/wiring.ts
    • platform/packages/ports/test/pii-boundary.test.ts
  • La frontière refuse plutôt que de laisser fuiter

    En place

    Une requête est refusée, et non envoyée, lorsque la clé de chiffrement ou le périmètre du document fait défaut, qu’une personne ou un employeur connu n’a pas de pseudonyme, qu’une partie de nom est ambiguë entre deux personnes, ou que l’entrée d’audit ne peut pas être écrite.

    FADP Art. 7GDPR Art. 25ISO A.8.11
    Vérifier dans le code source
    • platform/packages/ports/src/registry.ts
    • platform/packages/ports/test/pii-boundary.test.ts
  • Texte libre et autres détails

    Partielle

    Le lieu de naissance, la nationalité, les intitulés de poste, les services, la description de l’entreprise et le texte des tâches sont envoyés tels qu’écrits ; le texte a besoin de la plupart d’entre eux. Les noms saisis dans du texte libre ne sont remplacés que s’ils correspondent à une personne ou à un employeur connu. Un mode plus strict qui retient pour relecture humaine le texte libre non reconnu est développé ; son activation dans le Cloud géré est prévue.

    FADP Art. 7GDPR Art. 25ISO A.8.11
    Vérifier dans le code source
    • platform/packages/lifecycle/src/collected-assembly.ts
  • Inspecteur de frontière pour chaque certificat

    En place

    Pour chaque certificat, les RH peuvent ouvrir chaque passage vers et depuis le moteur : l’heure, le sens, le nombre d’éléments remplacés par catégorie, le SHA-256 de la charge utile et les pseudonymes utilisés. Les vraies valeurs n’y sont jamais affichées. La vue s’exporte en CSV.

    GDPR Art. 5(2)ISO A.8.15SOC 2 CC7.2AI Act Art. 12
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/pii-report.server.ts
    • platform/apps/cloud/app/routes/certificates.$id.pii-boundary.tsx
  • Données stockées en Suisse

    En place

    La base de données, les sauvegardes, le stockage de fichiers, le coffre de clés, les journaux et les serveurs d’application du Cloud géré s’exécutent dans Microsoft Azure Switzerland North (Zürich). Les sauvegardes et le stockage de fichiers sont répliqués dans une seconde région suisse, Switzerland West. app.zeugny.com pointe directement vers Zürich, sans réseau de diffusion de contenu intermédiaire. L’adresse IP d’un signataire est conservée comme preuve de signature et n’est envoyée à aucun service de géolocalisation tiers ; le pays est lu dans un en-tête défini à la périphérie du réseau.

    FADP Art. 16GDPR Art. 44–45ISO A.5.34
  • Chiffrement en transit

    En place

    Toutes les applications n’acceptent que HTTPS, avec TLS 1.2 au minimum ; TLS 1.3 est négocié en pratique. Le serveur de base de données n’accepte que les connexions TLS, avec TLS 1.2 au minimum, et les connexions de la plateforme à la base de données demandent TLS.

    FADP Art. 8GDPR Art. 32ISO A.8.24SOC 2 CC6.7
  • Chiffrement au repos

    En place

    Azure chiffre au repos la base de données, les sauvegardes et le stockage de fichiers. En plus, la plateforme chiffre les correspondances de pseudonymes et les clés API du moteur avec AES-256-GCM, sous des clés maîtresses conservées dans Azure Key Vault. Les autres enregistrements reposent sur le chiffrement d’Azure.

    FADP Art. 8GDPR Art. 32ISO A.8.24SOC 2 CC6.1
    Vérifier dans le code source
    • platform/packages/lifecycle/src/crypto/gcm.ts
    • platform/packages/lifecycle/src/pii/store.ts
    • platform/packages/lifecycle/src/engine-config.ts
  • Conservation et suppression automatique

    Partielle

    Une fois le délai de conservation écoulé (par défaut, 10 ans après la fin de la relation de travail), une tâche horaire occulte le nom, l’adresse e-mail, la date et le lieu de naissance et la nationalité d’un ancien employé, efface les brouillons et supprime les correspondances de pseudonymes. Les affectations de poste, la piste d’audit et les certificats délivrés sont conservés ; les certificats délivrés contiennent toujours le nom. Nous fixons un autre délai pour votre entreprise sur demande ; une configuration en libre-service est prévue.

    FADP Art. 6(4)GDPR Art. 5(1)(e)ISO A.8.10SOC 2 C1.2
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/retention.server.ts
    • platform/apps/worker/src/main.ts
  • Demandes des employés sur leurs données

    Partielle

    Les employés déposent eux-mêmes leurs demandes d’accès et de suppression sous « Confidentialité », et les RH suivent chacune d’elles selon un délai de 30 jours. L’effacement occulte les données de l’employé, retire les entrées du coffre-fort et les partages, et délivre un reçu. Une demande d’accès produit un récapitulatif ; une copie téléchargeable des données est prévue.

    FADP Art. 25GDPR Art. 15, 17ISO A.5.34SOC 2 P5.1
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/dsar.server.ts
    • platform/apps/cloud/app/routes/me.privacy.tsx
  • Blocages juridiques (legal hold) et contestations

    En place

    Les partenaires RH peuvent placer un blocage juridique sur une relation de travail et sur tous ses certificats, ce qui suspend la suppression. Les employés peuvent contester un certificat ; une contestation acceptée produit une nouvelle version, et l’historique reste dans la piste d’audit.

    FADP Art. 32GDPR Art. 16, 18ISO A.5.33
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/retention.server.ts
    • platform/apps/cloud/app/lib/disputes.server.ts
  • Crypto-shredding par entreprise

    Prévue

    La plateforme peut détruire la clé de pseudonymisation d’une entreprise, ce qui rend illisibles les correspondances stockées. La fonction est développée et testée ; sa mise à disposition comme action d’exploitant est prévue. Les copies de sauvegarde expirent selon le calendrier de sauvegarde habituel.

    GDPR Art. 17ISO A.8.10SOC 2 C1.2
    Vérifier dans le code source
    • platform/packages/lifecycle/src/pii/erasure.ts

Gouvernance de l’IA

Comment l’IA est encadrée, supervisée et tenue à l’écart des identités.

  • Les personnes fixent les notes

    En place

    Les managers, ou les RH, évaluent chaque aspect de la performance et du comportement. L’IA rédige un texte qui correspond à ces notes et ne peut pas les modifier. Le niveau global est calculé à partir des notes, il n’est pas choisi par le modèle.

    FADP Art. 21GDPR Art. 22AI Act Art. 14
    Vérifier dans le code source
    • platform/packages/lifecycle/src/stages/manager-eval.ts
    • platform/packages/lifecycle/src/collected-assembly.ts
  • Chaque phrase indique sa source

    En place

    Chaque phrase évaluative consigne l’aspect et la note qu’elle exprime, et les RH le voient dans l’éditeur ; chaque phrase peut ainsi être rattachée à la note qui la fonde.

    GDPR Art. 5(1)(a)AI Act Art. 13
    Vérifier dans le code source
    • platform/apps/cloud/app/components/sentence-provenance.tsx
    • platform/packages/ports/src/engine.ts
  • Contrôle d’équité et de codes avant la délivrance

    En place

    Avant la relecture par les RH, chaque brouillon de l’IA passe par l’analyse d’équité du moteur. Un constat bloquant retient le certificat jusqu’à ce qu’une modification le résolve ou qu’un partenaire RH passe outre ; cette dérogation est consignée dans la piste d’audit. Les attestations de travail, qui sont établies à partir d’un modèle sans IA, sautent cette étape.

    GDPR Art. 5(1)(a)AI Act Art. 9, 14
    Vérifier dans le code source
    • platform/packages/lifecycle/src/stages/fairness-gate.ts
  • Les RH finalisent chaque certificat

    En place

    Aucun certificat n’est remis à un employé sans relecture et finalisation par un partenaire RH ou un administrateur. Les automatisations peuvent lancer des demandes, mais jamais les finaliser.

    FADP Art. 21GDPR Art. 22AI Act Art. 14
    Vérifier dans le code source
    • platform/packages/lifecycle/src/workflow.ts
    • platform/apps/cloud/app/lib/automation.server.ts
  • Pas d’entraînement sur vos données

    En place

    Nous n’utilisons pas les données des clients pour entraîner, affiner ou évaluer des modèles, et les requêtes des clients n’entrent jamais dans notre corpus de référence.

    FADP Art. 6(3)GDPR Art. 5(1)(b)AI Act Art. 10
  • Les règles par pays sont explicites

    En place

    Chaque certificat nomme explicitement sa juridiction, la Suisse, l’Allemagne ou l’Autriche, au lieu de la deviner à partir du texte. Seules les règles suisses ont été revues jusqu’ici ; les évaluations pour l’Allemagne et l’Autriche sont signalées comme limitées.

    AI Act Art. 13, 15
    Vérifier dans le code source
    • platform/packages/ports/src/jurisdiction.ts
  • Mesures applicables aux fournisseurs de modèles

    Partielle

    Le texte des certificats est rédigé par des modèles sur Microsoft Azure AI Foundry, sur une ressource à Switzerland North avec un déploiement EU Data Zone Standard, de sorte que les requêtes sont traitées dans la zone de données de l’UE. Les étapes de décision, d’extraction et de recherche utilisent aussi Microsoft Decision-1 (une ressource Azure AI Foundry à Sweden Central avec un déploiement EU Data Zone Standard), OpenRouter et Voyage AI, et la plateforme utilise OpenRouter directement pour suggérer des intitulés de poste et des tâches. Les fournisseurs ne reçoivent que du texte pseudonymisé. Chaque requête que le moteur envoie à OpenRouter exige des fournisseurs qui ne collectent pas de données d’utilisateurs, sans réglage permettant de le désactiver. Le routage sans conservation de données (zero data retention) est prévu.

    FADP Art. 9, 16GDPR Art. 28, 44–46ISO A.5.19, A.5.23SOC 2 CC9.2

Identité et accès

Qui peut se connecter, et ce que chaque rôle peut voir et faire.

  • Protection de la connexion

    En place

    Les mots de passe sont hachés avec scrypt et comptent au moins 8 caractères. Les adresses e-mail sont vérifiées avant la première connexion par mot de passe, et les liens magiques sans mot de passe expirent après 5 minutes. Les tentatives de connexion sont limitées en fréquence par adresse IP.

    FADP Art. 8GDPR Art. 32ISO A.8.5SOC 2 CC6.1
    Vérifier dans le code source
    • platform/packages/auth/src/better-auth/instance.server.ts
  • Sessions

    En place

    Les sessions sont stockées sur le serveur et peuvent être révoquées. Les cookies de session sont HttpOnly, Secure et SameSite=Lax, et expirent après 7 jours. Un compte désactivé est refusé dès sa requête suivante.

    ISO A.8.5SOC 2 CC6.1
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/context.server.ts
  • Authentification multifacteur

    Partielle

    Avec l’authentification unique, la MFA de votre fournisseur d’identité s’applique à chaque connexion. Les comptes du personnel dans notre plan de contrôle exigent un second facteur (code d’authentification ou code de secours) à chaque session, et aucune connexion d’opérateur au moteur n’est délivrée sans lui. Un second facteur intégré pour la connexion par mot de passe des clients est prévu.

    FADP Art. 8GDPR Art. 32ISO A.8.5SOC 2 CC6.1
    Vérifier dans le code source
    • platform/apps/control/app/lib/staff-mfa.server.ts
  • Authentification unique et SCIM

    En place

    Authentification unique par entreprise avec OIDC ou SAML, domaines vérifiés par DNS, attribution des rôles à partir des groupes et mode SSO exclusif en option. Elle est activée dans le Cloud géré, et nous connectons votre fournisseur d’identité sur demande. SCIM 2.0 crée et désactive des utilisateurs et met fin à leurs sessions ; un utilisateur provisionné sans rôle reçoit le rôle RH le moins privilégié (coordinateur RH), et les points de terminaison SCIM sont soumis à des limites de fréquence. L’auto-hébergement se connecte à tout fournisseur OIDC.

    ISO A.5.16, A.5.18SOC 2 CC6.2
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/sso-provisioning.server.ts
    • platform/apps/cloud/app/lib/scim.server.ts
  • Rôles et séparation des fonctions

    En place

    Chaque route vérifie des autorisations fondées sur les relations. Les coordinateurs RH peuvent rédiger des brouillons, mais ne peuvent ni finaliser, ni passer outre un constat, ni signer, ni télécharger le document officiel. Les représentations du personnel ne voient que des chiffres agrégés ; les managers voient leurs propres collaborateurs directs.

    FADP Art. 8GDPR Art. 32ISO A.5.3, A.5.15, A.8.3SOC 2 CC6.3
    Vérifier dans le code source
    • platform/packages/authz/src/schema.ts
    • platform/packages/authz/test/authz.test.ts
  • Isolation des entreprises

    Partielle

    Dans le Cloud géré, les entreprises partagent une seule base de données suisse. L’application confine chaque requête à une entreprise et vérifie les autorisations sur chaque objet. L’auto-hébergement donne à chaque client sa propre base de données. Un contrôle au niveau des lignes imposé par la base de données elle-même est prévu comme seconde couche.

    FADP Art. 8GDPR Art. 32ISO A.8.3SOC 2 CC6.1
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/tenant.server.ts
    • platform/apps/cloud/app/lib/tenant.server.test.ts
  • Liens à finalité unique

    En place

    Les personnes sans compte, comme un manager qui évalue, un relecteur de brouillon ou l’employé qui récupère un certificat, reçoivent des liens qui donnent accès à un seul objet, expirent et peuvent être révoqués. La plateforme ne stocke qu’un hachage SHA-256 de chaque jeton de lien.

    ISO A.8.3SOC 2 CC6.1
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/capability.server.ts
    • platform/packages/lifecycle/src/stages/deliver.ts
  • Accès du personnel

    En place

    Les comptes du personnel ne sont créés que sur invitation et exigent un rôle d’administrateur, et chaque action dans le plan de contrôle requiert sa propre autorisation. Chaque session du personnel doit passer un second facteur (code d’authentification ou code de secours) avant de pouvoir utiliser le plan de contrôle, et aucune connexion d’opérateur au moteur n’est délivrée sans lui. Le personnel ne peut pas usurper l’identité d’un utilisateur : les points de terminaison d’usurpation d’identité (impersonation) de l’administration sont désactivés. Les modifications des entreprises, des clés du moteur et du personnel sont journalisées.

    ISO A.8.2, A.5.18SOC 2 CC6.2, CC6.3
    Vérifier dans le code source
    • platform/apps/control/app/lib/staff-mfa.server.ts

Sécurité applicative

Comment l’application se protège à ses frontières.

  • Protection contre la falsification de requêtes intersites (CSRF)

    En place

    Les connexions et les envois de formulaires sont vérifiés par rapport à l’origine de la requête, et les cookies de session sont SameSite=Lax.

    ISO A.8.26SOC 2 CC6.6
  • En-têtes de sécurité du navigateur

    En place

    Les quatre applications web (application, plan de contrôle, chat et site web) envoient HSTS, une Content-Security-Policy avec un nonce par réponse, une protection contre l’intégration dans un cadre (X-Frame-Options DENY et frame-ancestors none), X-Content-Type-Options nosniff et une politique de référent. Les pages sensibles envoient en plus les en-têtes no-store et no-referrer.

    ISO A.8.26SOC 2 CC6.6
    Vérifier dans le code source
    • platform/packages/ports/src/security-headers.ts
  • Limites de fréquence sur la connexion, les liens publics et SCIM

    En place

    La connexion est limitée en fréquence par adresse IP. Chaque page de lien public, y compris les pages publiques de vérification derrière le code QR, autorise 60 requêtes par minute et par client, et les points de terminaison SCIM autorisent 600 requêtes par minute par entreprise et par client.

    ISO A.8.26SOC 2 CC6.6
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/public-rate-limit.server.ts
    • platform/apps/cloud/app/routes/_public.tsx
  • Clés API du moteur

    En place

    Chaque entreprise a sa propre clé du moteur, avec une limite de débit de requêtes ; elle peut être renouvelée par rotation et révoquée. Le moteur n’en stocke qu’un hachage SHA-256, et la plateforme la stocke chiffrée avec AES-256-GCM. Les résultats ne sont lisibles que par la clé ou l’entreprise qui les a créés.

    ISO A.8.5, A.8.24SOC 2 CC6.1
    Vérifier dans le code source
    • platform/packages/lifecycle/src/engine-config.ts
  • Traitement des fichiers

    En place

    Les scans téléversés de certificats papier signés doivent être au format PDF, PNG ou JPEG, de 10 Mo au plus, et le contenu du fichier doit correspondre au type déclaré.

    ISO A.8.26SOC 2 CC6.8
    Vérifier dans le code source
    • platform/apps/cloud/app/lib/paper-completion.server.ts
    • platform/packages/lifecycle/src/branding.ts
  • Gestion des secrets

    En place

    Les secrets de production se trouvent dans Azure Key Vault, avec un accès basé sur les rôles et la suppression réversible, et parviennent aux applications sous forme de références Key Vault. Aucun n’est stocké dans le code source, et la production refuse de démarrer sans ses clés.

    ISO A.5.17, A.8.24SOC 2 CC6.1

Infrastructure et réseau

Où le service s’exécute et comment il est verrouillé.

  • Services de plateforme gérés

    En place

    La production s’exécute sur des services gérés : conteneurs Azure App Service et Azure Database for PostgreSQL pour la plateforme, Cloudflare Workers pour le moteur. Nous n’avons aucune machine virtuelle propre à maintenir.

    ISO A.5.23, A.8.8SOC 2 CC7.1
  • Isolation du réseau

    Partielle

    Les applications accèdent à la base de données par un point de terminaison privé. La base de données a aussi un point de terminaison public. La liste d’autorisation de son pare-feu contient les plages d’adresses de Cloudflare, afin que les Cloudflare Workers, dont le moteur, puissent s’y connecter via Hyperdrive. Lors des migrations, des déploiements et des sauvegardes, une règle temporaire autorise le runner CI qui effectue le travail et est supprimée à la fin du job. TLS et des mots de passe protègent chaque connexion.

    ISO A.8.20, A.8.22SOC 2 CC6.6
  • Infrastructure en tant que code

    En place

    Les ressources Azure sont définies dans des modèles versionnés, et les paramètres des applications proviennent de fichiers versionnés qui font référence à Key Vault.

    ISO A.8.9SOC 2 CC8.1
  • Sécurité des e-mails

    En place

    Les notifications sont envoyées depuis notifications.zeugny.com, qui publie une politique DMARC « reject » ; le domaine principal zeugny.com publie lui aussi une politique DMARC « quarantine ». Les notifications contiennent l’adresse du destinataire, des noms et un lien. security@, privacy@ et hello@zeugny.com sont des boîtes surveillées.

    ISO A.5.14SOC 2 CC6.7

Journalisation, surveillance et incidents

Ce qui est enregistré, ce qui est surveillé, et ce qui se passe lorsqu’un élément tombe en panne.

  • Piste d’audit qui révèle toute altération

    En place

    Chaque étape du cycle de vie et chaque modification est inscrite dans un journal d’audit dans lequel chaque entrée porte le hachage de la précédente, de sorte qu’une entrée modifiée rompt la chaîne. La chaîne est vérifiée à l’ouverture d’un dossier ou d’une page de vérification, et le dossier de chaque certificat peut être téléchargé avec ses entrées d’audit.

    FADP Art. 8GDPR Art. 5(2)ISO A.8.15SOC 2 CC7.2AI Act Art. 12
    Vérifier dans le code source
    • platform/packages/lifecycle/src/audit.ts
    • platform/packages/lifecycle/test/audit-race.test.ts
  • Surveillance synthétique

    En place

    Toutes les cinq minutes, un moniteur distinct vérifie l’état de la plateforme, du worker et du plan de contrôle. Une fois par jour, il exécute une analyse complète d’un certificat fictif via le moteur. Des tests de disponibilité Azure surveillent le moniteur lui-même depuis trois emplacements en Europe, de sorte qu’une panne de l’un ou de l’autre déclenche une alerte.

    ISO A.8.16SOC 2 CC7.2, A1.2
  • Journalisation centralisée

    En place

    Les journaux d’application, HTTP et de base de données vont vers Azure Log Analytics à Switzerland North et sont conservés 30 jours. Les journaux de requêtes du moteur ne contiennent que des métadonnées ; les journaux d’exécution du moteur sur Cloudflare peuvent contenir des fragments de texte pseudonymisé.

    ISO A.8.15SOC 2 CC7.2
  • Réponse aux incidents et notification

    Partielle

    Si un incident touche vos données, nous informons votre contact désigné sans retard injustifié après l’avoir confirmé, en indiquant ce qui s’est passé, quelles données sont concernées et ce que nous faisons à ce sujet. Un plan écrit de réponse aux incidents est rédigé et sera publié après examen juridique ; des exercices réguliers sont prévus.

    FADP Art. 24GDPR Art. 33ISO A.5.24, A.5.26SOC 2 CC7.3, CC7.4

Sauvegarde et continuité

Comment les données sont sauvegardées et comment les versions publiées sont protégées.

  • Sauvegardes

    En place

    La base de données peut être restaurée à n’importe quel moment des 35 derniers jours. En outre, une tâche planifiée réalise chaque nuit un dump de toutes les bases de données. Elle s’exécute sur un runner CI exploité par ZeugnyAI, qui se connecte via TLS, écrit chaque dump dans un fichier temporaire, le transfère vers Azure Storage à Switzerland North et supprime le fichier. Les 30 derniers dumps de chaque base sont conservés, et les dumps supprimés restent récupérables 30 jours de plus. Les sauvegardes stockées, à un instant donné et dumps, se trouvent à Switzerland North et sont répliquées vers Switzerland West, une seconde région suisse.

    FADP Art. 8GDPR Art. 32ISO A.8.13SOC 2 A1.2
  • Tests de restauration

    Partielle

    La procédure de restauration est documentée. Restauration testée le 9 novembre 2026 : une restauration à un instant donné de la base de données de production vers un serveur temporaire s’est achevée en 7 minutes et son contenu a été vérifié. D’autres tests de restauration, à intervalles réguliers, sont prévus.

    ISO A.8.13, A.5.30SOC 2 A1.3
  • Redondance

    Partielle

    Le Cloud géré s’exécute dans Azure Switzerland North. Les sauvegardes de la base de données et le stockage de fichiers sont répliqués dans une seconde région suisse, Switzerland West. Une restauration de la sauvegarde de la base de données vers Switzerland West a été testée le 10 novembre 2026. Une base de données de secours avec basculement automatique est prévue.

    ISO A.8.14SOC 2 A1.2
    Vérifier dans le code source
    • platform/infra/azure/main.bicep
  • Mises en production par étapes

    En place

    Chaque modification de la branche principale qui réussit les contrôles est déployée dans un environnement de préproduction distinct. Une mise en production exige un test de fumée réussi en préproduction pour le même commit. Le moteur n’atteint la production qu’à partir de commits qui ont réussi les contrôles : une tâche CI fait avancer la branche release jusqu’au commit testé, et Cloudflare déploie depuis cette branche.

    ISO A.8.32SOC 2 CC8.1

Développement sécurisé

Comment les modifications sont construites, testées et livrées.

  • Contrôles automatisés à chaque modification

    En place

    Les contrôles de types, les tests unitaires et d’intégration et les builds de production s’exécutent pour chaque modification, et les tests de bout en bout s’exécutent pour les modifications qui les concernent. Les dépendances s’installent à partir d’un lockfile figé.

    ISO A.8.25, A.8.29SOC 2 CC8.1
  • Environnements séparés

    En place

    Le développement, la préproduction et la production utilisent des bases de données, des clés et des coffres de clés séparés. Les tests n’utilisent jamais de données ni d’identifiants de production.

    ISO A.8.31, A.8.33SOC 2 CC8.1
  • Relecture des modifications et verrous de mise en production

    Partielle

    Les mises en production passent par des contrôles automatisés. Le pipeline de production du moteur ne déploie qu’à partir d’une branche release, que la CI avance vers un commit une fois les tests réussis pour ce commit sur la branche principale. Le pipeline de production de la plateforme ne s’exécute que pour des commits de la branche principale avec une exécution CI réussie, et seulement après une exécution d’acceptation dans l’environnement de préproduction. Les clients en auto-hébergement peuvent examiner chaque modification dans leur dépôt. Une relecture indépendante imposée pour chaque modification est prévue.

    ISO A.8.25, A.8.32SOC 2 CC8.1
  • Analyse des dépendances et des secrets

    Partielle

    Les instantanés du code source remis aux clients sont contrôlés avant publication pour détecter des chaînes ressemblant à des secrets et des chemins interdits. Les alertes sur les vulnérabilités des dépendances (Dependabot) sont activées sur les dépôts de la plateforme et du moteur. L’analyse du code et l’analyse des secrets du dépôt sont prévues.

    ISO A.8.8SOC 2 CC7.1
  • Livraison du code source pour l’auto-hébergement

    En place

    Les clients en auto-hébergement reçoivent un instantané de la plateforme limité à une liste d’autorisation, sous forme de dépôt privé, et construisent eux-mêmes les conteneurs. Les outils internes sont exclus, et une version est interrompue si des chemins interdits ou des chaînes ressemblant à des secrets sont trouvés.

    ISO A.8.4SOC 2 CC8.1
    Vérifier dans le code source
    • platform/scripts/bootstrap.mjs
    • platform/docker-compose.selfhost.yml

Organisation et fournisseurs

Les personnes, les politiques et les tiers sur lesquels nous nous appuyons.

  • Accès de production

    Partielle

    L’accès de production est limité à des administrateurs nommément désignés, selon le principe du strict nécessaire. Une séparation formelle des fonctions entre développement et exploitation est prévue.

    ISO A.5.2, A.5.3SOC 2 CC1.3
  • Liste des sous-traitants ultérieurs

    En place

    Chaque fournisseur qui traite des données pour le Cloud est listé sur cette page avec sa finalité, les données qu’il reçoit et son emplacement.

    FADP Art. 9GDPR Art. 28ISO A.5.19, A.5.21SOC 2 CC9.2
  • Contrat de traitement des données

    Prévue

    Un contrat de traitement des données standard au titre de la LPD et du RGPD est rédigé et sera publié après examen juridique. D’ici là, nous examinons et signons le vôtre.

    FADP Art. 9GDPR Art. 28ISO A.5.20
  • Politiques de sécurité écrites

    Prévue

    Des politiques écrites formelles pour la sécurité de l’information, le contrôle des accès, la réponse aux incidents et les fournisseurs sont rédigées et seront publiées après examen juridique. Cette page décrit la pratique actuelle.

    ISO A.5.1, A.5.37SOC 2 CC2.1, CC5.3
  • Test d’intrusion indépendant

    Prévue

    Un test d’intrusion externe est prévu. Les clients en auto-hébergement sont les bienvenus pour tester leur propre installation à tout moment ; pour le Cloud géré, nous convenons avec vous du périmètre et du calendrier.

    ISO A.8.8SOC 2 CC4.1