SecuAAS Docs
SecuScan / ScanyzeModules

Module Compliance

Évaluation automatisée de votre conformité — 5 cadres techniques (CIS, ISO 27001, OWASP, PCI DSS, SOC2) + scan légal Loi 25 / PIPEDA / RGPD / Cookies / CGU

Module Compliance

Le module Compliance se compose de deux sous-modules complémentaires :

  1. Compliance technique (/compliance) — mappe vos findings techniques vers 5 cadres de référence (CIS Controls v8, ISO 27001:2022, OWASP Top 10, PCI DSS 4.0, SOC2 Trust Services Criteria).
  2. Legal Compliance (/compliance/legal) — scan automatisé d'un site public pour évaluer la conformité aux exigences légales : Loi 25 (Québec), PIPEDA (Canada), RGPD (UE), conformité cookies (ePrivacy), CGU (consentement).

Disponible à partir du plan Pro.

Compliance technique — 5 cadres

À chaque scan EASM ou Code Scanning, Scanyze mappe automatiquement les findings vers les contrôles des cadres suivants :

CadreContrôles mappésExemples de mapping
CIS Controls v8153 contrôlesTLS 1.0 enabled → CIS 3.10 (cryptography)
ISO 27001:202293 contrôles Annex ADefault credentials → A.5.16 (identity management)
OWASP Top 10 202110 catégoriesXSS reflected → A03:2021 (Injection)
PCI DSS 4.0Requirements 1-12Open management ports → Req 1.2.1
SOC 2 Type 2Trust Services CriteriaFindings → CC6 (Logical Access)

Voir secuscan-api/internal/services/compliance/frameworks.go pour les mappings exacts.

Tableau de bord Compliance

Sur /compliance, le tableau de bord affiche :

  • Score global par cadre (0-100), basé sur le ratio (contrôles satisfaits / total contrôles)
  • Carte des contrôles : grille colorée verte/orange/rouge selon l'état
  • Top 10 des contrôles non-conformes avec leur impact
  • Tendance 30 jours : évolution du score par cadre
  • Bouton Export : PDF ou CSV pour audit externe

Exporter une preuve d'audit

Cliquez sur un contrôle non-conforme. Scanyze affiche :

  • La description officielle du contrôle (extrait du standard)
  • La liste des findings qui causent la non-conformité
  • L'evidence complète (commande exécutée, payload, réponse)
  • La recommandation de remédiation
  • Le bouton Export Evidence : génère un PDF horodaté contenant la preuve, utilisable directement dans un audit externe ou pour soumission à un QSA PCI / auditeur ISO.

Custom controls

Pour les organisations qui ont des cadres internes (ex. politique sécurité maison), il est possible d'ajouter des contrôles personnalisés :

  1. /compliance → onglet Frameworks personnalisés.
  2. Cliquez sur Nouveau cadre.
  3. Définissez les contrôles, leur description et les règles de mapping (ex. tous les findings de catégorie tls_weak → contrôle CTRL-001).
  4. Le tableau de bord intégrera votre cadre custom au même titre que les cadres standards.

Cette feature requiert le plan Business ou supérieur (clé customCompliance dans le PlanFeatures).

Sous-module /compliance/legal introduit en v0.122.x (migration 000170_legal_compliance_scan.up.sql).

Cadres évalués

CadreCouverture
Loi 25 (Québec)Politique de confidentialité, registre des incidents, responsable d'accès, droits des personnes concernées, consentement préalable, transparence
PIPEDA (Canada)10 principes équitables : responsabilité, consentement, limitation de la collecte, etc.
RGPD (UE)Bases légales, droits du sujet, DPO, consentement, transferts internationaux, mesures techniques et organisationnelles
Cookies / ePrivacyBandeau cookies, distinction strictement nécessaires / analytics / marketing, recueil du consentement (granularité), retrait facile
CGU / TermesClarté, accessibilité, obligations utilisateur, limitation de responsabilité, juridiction, modification

Workflow

[1] L'utilisateur entre une URL (ex. https://monsite.com)

[2] Scrape de la homepage (HTTP GET, max 1 MB, 30s timeout, max 3 redirects)

[3] Détection des cookies déposés (Set-Cookie headers + JavaScript injection)

[4] Recherche automatique de liens vers :
    - Politique de confidentialité (mots-clés FR/EN)
    - Conditions générales d'utilisation

[5] Fetch des pages politique + CGU

[6] 5 prompts envoyés en séquentiel à SecuTools (ai:analyze) :
    - Loi 25 → JSON {score: 0-100, findings: [...]}
    - PIPEDA → JSON
    - RGPD → JSON
    - Cookies → JSON
    - CGU → JSON

[7] Persistance dans legal_compliance_scans (RLS multi-tenant)

[8] Affichage du rapport

Source : secuscan-api/internal/services/legal_compliance/service.goai:analyze calls sont séquentiels, ~30-60s end-to-end sur la chaîne GPU/Claude.

Lecture du rapport légal

Pour chaque cadre, le rapport affiche :

  • Score : 0-100
  • Liste des findings avec :
    • Sévérité : critical / high / medium / low / info
    • Description : explication du problème
    • Recommandation : action concrète à mener
    • Citation : extrait du texte légal pertinent

Exemple de finding Loi 25 :

Sévérité : High Description : Aucune mention du nom et coordonnées de la personne responsable de la protection des renseignements personnels (chief privacy officer). Recommandation : Désignez explicitement une personne responsable et publiez ses coordonnées dans la politique de confidentialité, conformément à l'article 3.1 de la Loi 25. Citation : Loi 25, art. 3.1 — « Toute personne qui exploite une entreprise est responsable de la protection des renseignements personnels qu'elle détient. Au sein de l'entreprise, cette responsabilité incombe à la personne ayant la plus haute autorité, sauf délégation expresse. »

Cookies détectés

Le rapport liste tous les cookies détectés au chargement de la page :

NomDomaineSecureHttpOnlySameSiteMax-Age
_ga.monsite.comLax730 jours
_sessionmonsite.comStrict86400

Cela permet de vérifier que :

  • Aucun cookie analytics n'est déposé avant le consentement
  • Tous les cookies de session sont Secure et HttpOnly
  • Les SameSite sont configurés pour limiter les CSRF

Limitations

  • Le scan est limité à la homepage et aux pages politique/CGU directement liées. Les pages secondaires (FAQ, contact, etc.) ne sont pas analysées.
  • L'IA peut produire de faux positifs sur les cas de jurisprudence ambigus. Le rapport est un outil d'aide à la décision, pas un avis juridique.
  • Pour une évaluation Loi 25 / RGPD complète, faites appel à un avocat spécialisé en droit du numérique.

Quotas par plan

PlanCompliance techniqueLegal complianceCustom frameworks
EssentielNonNonNon
StarterNonNonNon
ProOui5 scans/moisNon
BusinessOui50 scans/moisOui
EnterpriseOui-1Oui

Chaque scan légal consomme ~5-10 crédits IA (5 prompts).

Sources de cette page

  • Backend technique : secuscan-api/internal/services/compliance/
  • Backend légal : secuscan-api/internal/services/legal_compliance/service.go
  • Migration : secuscan-api/internal/migrations/000170_legal_compliance_scan.up.sql
  • Mapping cadres : secuscan-api/internal/services/compliance/frameworks.go

À jour pour Scanyze v0.130.x.

On this page