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 :
- 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). - 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 :
| Cadre | Contrôles mappés | Exemples de mapping |
|---|---|---|
| CIS Controls v8 | 153 contrôles | TLS 1.0 enabled → CIS 3.10 (cryptography) |
| ISO 27001:2022 | 93 contrôles Annex A | Default credentials → A.5.16 (identity management) |
| OWASP Top 10 2021 | 10 catégories | XSS reflected → A03:2021 (Injection) |
| PCI DSS 4.0 | Requirements 1-12 | Open management ports → Req 1.2.1 |
| SOC 2 Type 2 | Trust Services Criteria | Findings → 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 :
/compliance→ onglet Frameworks personnalisés.- Cliquez sur Nouveau cadre.
- Définissez les contrôles, leur description et les règles de mapping (ex. tous les findings de catégorie
tls_weak→ contrôleCTRL-001). - 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).
Legal Compliance — scan automatisé d'un site public
Sous-module /compliance/legal introduit en v0.122.x (migration 000170_legal_compliance_scan.up.sql).
Cadres évalués
| Cadre | Couverture |
|---|---|
| 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 / ePrivacy | Bandeau cookies, distinction strictement nécessaires / analytics / marketing, recueil du consentement (granularité), retrait facile |
| CGU / Termes | Clarté, 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 rapportSource : secuscan-api/internal/services/legal_compliance/service.go — ai: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 :
| Nom | Domaine | Secure | HttpOnly | SameSite | Max-Age |
|---|---|---|---|---|---|
_ga | .monsite.com | ✅ | ❌ | Lax | 730 jours |
_session | monsite.com | ✅ | ✅ | Strict | 86400 |
Cela permet de vérifier que :
- Aucun cookie analytics n'est déposé avant le consentement
- Tous les cookies de session sont
SecureetHttpOnly - Les
SameSitesont 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
| Plan | Compliance technique | Legal compliance | Custom frameworks |
|---|---|---|---|
| Essentiel | Non | Non | Non |
| Starter | Non | Non | Non |
| Pro | Oui | 5 scans/mois | Non |
| Business | Oui | 50 scans/mois | Oui |
| Enterprise | Oui | -1 | Oui |
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.