{
 "name": "BNTIC TechNorm Africa",
 "version": "2026-10-16",
 "reviewed": "2026-10-16",
 "homepage": "https://bntic.com/normes/",
 "licence": {
  "name": "Creative Commons Attribution 4.0 International (CC BY 4.0)",
  "short": "CC BY 4.0",
  "url": "https://creativecommons.org/licenses/by/4.0/deed.fr",
  "attribution": "BNTIC TechNorm Africa (bntic.com/normes)",
  "scope": "Contrôles, explications et fiches pays rédigés par BNTIC. Les lois, normes et référentiels cités restent soumis à leurs propres conditions (ISO payant, OWASP sous CC BY-SA 4.0, etc.)."
 },
 "warning": "Pré-évaluation non certifiante : ni audit, ni conseil juridique, ni déclaration de conformité.",
 "severity_levels": {
  "critical": "Prioritaire",
  "important": "Important",
  "recommended": "Recommandé"
 },
 "natures": {
  "standard": "Référentiel technique",
  "good_practice": "Bonne pratique",
  "recommendation": "Recommandation",
  "legal_attention": "Validation juridique",
  "expert_required": "Expert nécessaire"
 },
 "tags": {
  "baseline": "Toujours applicable",
  "web": "Site ou application web",
  "mobile": "Application mobile",
  "api": "API ouverte à des tiers ou à une application",
  "public": "Service ouvert au grand public",
  "accounts": "Comptes utilisateurs et connexion",
  "personal": "Données personnelles (nom, téléphone, e-mail…)",
  "sensitive": "Données sensibles (santé, religion, opinions, infractions…)",
  "biometrics": "Biométrie ou vidéosurveillance",
  "hosting_abroad": "Hébergement ou outils situés hors du pays",
  "eu_users": "Utilisateurs situés dans l’Union européenne (diaspora, clients)",
  "marketing": "Prospection : newsletters, SMS ou WhatsApp commerciaux",
  "uploads": "Téléversement de fichiers par les utilisateurs",
  "ai": "Intelligence artificielle (score, tri, recommandation, assistant)",
  "genai": "IA générative (texte, image ou voix générés)",
  "payment": "Paiement par carte ou mobile money",
  "admin": "Espace d’administration ou de back-office",
  "public_sector": "Service opéré par ou pour l’administration",
  "data": "Base de données métier importante"
 },
 "profiles": [
  {
   "slug": "site-web-public",
   "title": "Site web public",
   "tags": [
    "web",
    "public",
    "personal",
    "marketing"
   ]
  },
  {
   "slug": "application-mobile",
   "title": "Application mobile",
   "tags": [
    "mobile",
    "api",
    "public",
    "accounts",
    "personal"
   ]
  },
  {
   "slug": "api",
   "title": "API web",
   "tags": [
    "api",
    "accounts",
    "data",
    "personal"
   ]
  },
  {
   "slug": "plateforme-ia",
   "title": "Plateforme d’IA générative",
   "tags": [
    "web",
    "api",
    "public",
    "accounts",
    "personal",
    "ai",
    "genai",
    "hosting_abroad"
   ]
  },
  {
   "slug": "paiement-mobile-money",
   "title": "Paiement et mobile money",
   "tags": [
    "web",
    "mobile",
    "api",
    "public",
    "accounts",
    "personal",
    "payment",
    "admin"
   ]
  },
  {
   "slug": "service-public-en-ligne",
   "title": "Service public en ligne",
   "tags": [
    "web",
    "public",
    "accounts",
    "personal",
    "public_sector",
    "uploads",
    "admin"
   ]
  },
  {
   "slug": "e-commerce",
   "title": "Boutique en ligne",
   "tags": [
    "web",
    "mobile",
    "public",
    "accounts",
    "personal",
    "payment",
    "marketing",
    "admin"
   ]
  },
  {
   "slug": "plateforme-e-learning",
   "title": "Plateforme de formation en ligne",
   "tags": [
    "web",
    "mobile",
    "public",
    "accounts",
    "personal",
    "uploads",
    "admin"
   ]
  },
  {
   "slug": "sante-numerique",
   "title": "Santé numérique",
   "tags": [
    "web",
    "mobile",
    "api",
    "accounts",
    "personal",
    "sensitive",
    "admin",
    "uploads"
   ]
  }
 ],
 "controls": [
  {
   "code": "GOV-01",
   "url": "https://bntic.com/normes/controles/gov-01/",
   "domain": "Gouvernance et risques",
   "title": "Nommer un responsable sécurité et fixer les rôles",
   "action": "Désigner une personne responsable de la sécurité et des données du service, avec un suppléant, et écrire qui décide, qui exécute et qui valide.",
   "evidence": "Une fiche de rôles datée et signée par la direction du projet.",
   "severity": "important",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CSF20",
     "id": "GV.RR",
     "label": "Rôles, responsabilités et autorités",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    },
    {
     "source": "ISO27001",
     "id": "Clause 5.3",
     "label": "Rôles, responsabilités et autorités",
     "condition": null,
     "url": "https://www.iso.org/standard/27001"
    }
   ]
  },
  {
   "code": "GOV-02",
   "url": "https://bntic.com/normes/controles/gov-02/",
   "domain": "Gouvernance et risques",
   "title": "Inventorier les actifs, logiciels et données",
   "action": "Tenir une liste à jour des serveurs, domaines, logiciels, bibliothèques, comptes d’administration et jeux de données du service.",
   "evidence": "Un inventaire daté qui couvre aussi les services en nuage et les comptes tiers.",
   "severity": "important",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CSF20",
     "id": "ID.AM",
     "label": "Gestion des actifs",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    },
    {
     "source": "CIS",
     "id": "Contrôles 1 et 2",
     "label": "Inventaire des actifs et des logiciels",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    }
   ]
  },
  {
   "code": "GOV-03",
   "url": "https://bntic.com/normes/controles/gov-03/",
   "domain": "Gouvernance et risques",
   "title": "Analyser les risques avant la mise en production",
   "action": "Identifier les menaces plausibles (fraude, fuite, indisponibilité, abus), leur impact et les mesures retenues, avant d’ouvrir le service.",
   "evidence": "Une analyse de risques datée, revue à chaque évolution majeure.",
   "severity": "critical",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CSF20",
     "id": "ID.RA",
     "label": "Évaluation des risques",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    },
    {
     "source": "ISO27001",
     "id": "Clause 6.1",
     "label": "Actions face aux risques et opportunités",
     "condition": null,
     "url": "https://www.iso.org/standard/27001"
    },
    {
     "source": "TOP10",
     "id": "A06:2025",
     "label": "Insecure Design",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    }
   ]
  },
  {
   "code": "GOV-04",
   "url": "https://bntic.com/normes/controles/gov-04/",
   "domain": "Gouvernance et risques",
   "title": "Encadrer prestataires et hébergeurs par contrat",
   "action": "Signer avec chaque prestataire qui touche aux données (hébergeur, développeur, SMS, e-mail, IA) une convention fixant opérations autorisées, sécurité, confidentialité et sort des données en fin de contrat.",
   "evidence": "Les contrats ou conventions signés et la liste des sous-traitants.",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 11",
     "label": "Sous-traitant : garanties suffisantes et convention",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "CSF20",
     "id": "GV.SC",
     "label": "Gestion des risques de la chaîne d’approvisionnement",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    },
    {
     "source": "CIS",
     "id": "Contrôle 15",
     "label": "Gestion des prestataires de services",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    }
   ]
  },
  {
   "code": "GOV-05",
   "url": "https://bntic.com/normes/controles/gov-05/",
   "domain": "Gouvernance et risques",
   "title": "Former l’équipe aux risques courants",
   "action": "Organiser au moins une sensibilisation par an : hameçonnage, mots de passe, manipulation des données, signalement des incidents.",
   "evidence": "Feuilles de présence ou attestations de formation.",
   "severity": "recommended",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CSF20",
     "id": "PR.AT",
     "label": "Sensibilisation et formation",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    },
    {
     "source": "CIS",
     "id": "Contrôle 14",
     "label": "Sensibilisation et formation à la sécurité",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    }
   ]
  },
  {
   "code": "GOV-06",
   "url": "https://bntic.com/normes/controles/gov-06/",
   "domain": "Gouvernance et risques",
   "title": "Préparer la réponse aux incidents",
   "action": "Écrire une procédure courte : qui alerter, comment isoler, comment conserver les preuves, comment informer les personnes et autorités concernées.",
   "evidence": "La procédure et la liste des contacts d’urgence, testées lors d’un exercice.",
   "severity": "critical",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CSF20",
     "id": "RS.MA",
     "label": "Gestion des incidents",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    },
    {
     "source": "CIS",
     "id": "Contrôle 17",
     "label": "Gestion de la réponse aux incidents",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    }
   ]
  },
  {
   "code": "GOV-07",
   "url": "https://bntic.com/normes/controles/gov-07/",
   "domain": "Gouvernance et risques",
   "title": "Faire réaliser un test d’intrusion avant l’ouverture",
   "action": "Commander un test d’intrusion par une équipe indépendante sur le périmètre exposé et corriger les failles avant l’ouverture au public.",
   "evidence": "Le rapport de test et le suivi daté des corrections.",
   "severity": "important",
   "nature": "expert_required",
   "applies_if_any": [
    "payment",
    "public",
    "public_sector",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CIS",
     "id": "Contrôle 18",
     "label": "Tests d’intrusion",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    },
    {
     "source": "BF_SSI",
     "id": "Accréditation des auditeurs par l’ANSSI",
     "label": "Modalités à confirmer auprès de l’ANSSI",
     "condition": "BF",
     "url": "https://www.an.bf/loip/7"
    }
   ]
  },
  {
   "code": "DP-01",
   "url": "https://bntic.com/normes/controles/dp-01/",
   "domain": "Données personnelles",
   "title": "Collecter uniquement les données nécessaires",
   "action": "Relier chaque donnée collectée à une finalité précise et supprimer les champs sans justification.",
   "evidence": "Un registre : donnée, finalité, base légale, destinataires, durée de conservation.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 8",
     "label": "Finalités déterminées ; données adéquates, pertinentes et non excessives",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 5, § 1, c",
     "label": "Minimisation des données",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-02",
   "url": "https://bntic.com/normes/controles/dp-02/",
   "domain": "Données personnelles",
   "title": "Établir la base légale ou recueillir le consentement",
   "action": "Pour chaque traitement, identifier la base légale ; si c’est le consentement, le recueillir avant la collecte, de façon libre et documentée.",
   "evidence": "La preuve du consentement (date, version du texte) ou la base légale écrite dans le registre.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 13",
     "label": "Consentement préalable, sauf exceptions énumérées",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 7",
     "label": "Collecte licite, loyale et non frauduleuse",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 6",
     "label": "Licéité du traitement",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-03",
   "url": "https://bntic.com/normes/controles/dp-03/",
   "domain": "Données personnelles",
   "title": "Traiter les données sensibles sous un régime renforcé",
   "action": "Identifier les données sensibles (santé, religion, opinions, biométrie, génétique, infractions…), obtenir le consentement exprès ou une autorisation, et restreindre fortement leur accès.",
   "evidence": "Avis juridique écrit, autorisation de l’autorité le cas échéant, liste nominative des accès.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "biometrics",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 12",
     "label": "Interdiction sauf consentement exprès ou exceptions",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 31",
     "label": "Traitements soumis à autorisation de la CIL",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 9",
     "label": "Catégories particulières de données",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-04",
   "url": "https://bntic.com/normes/controles/dp-04/",
   "domain": "Données personnelles",
   "title": "Accomplir la formalité préalable auprès de l’autorité",
   "action": "Déterminer le régime applicable (déclaration, déclaration simplifiée, autorisation ou avis) et le déposer avant la mise en œuvre du traitement.",
   "evidence": "Récépissé ou décision de l’autorité de protection des données.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 26 à 28",
     "label": "Avis, autorisation, déclaration normale ou simplifiée",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_CIL",
     "id": "Formulaire de formalités préalables",
     "label": "",
     "condition": "BF",
     "url": "https://cil.bf/?page_id=1062"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 31",
     "label": "Régime d’autorisation",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 33",
     "label": "Déclaration simplifiée",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    }
   ]
  },
  {
   "code": "DP-05",
   "url": "https://bntic.com/normes/controles/dp-05/",
   "domain": "Données personnelles",
   "title": "Informer clairement les personnes",
   "action": "Publier une information compréhensible : identité du responsable, finalités, catégories de données, destinataires, durée de conservation, droits et moyen de les exercer.",
   "evidence": "La politique de confidentialité, visible au moment de la collecte.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 16",
     "label": "Droit à l’information",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 13",
     "label": "Informations à fournir lors de la collecte",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-06",
   "url": "https://bntic.com/normes/controles/dp-06/",
   "domain": "Données personnelles",
   "title": "Organiser l’exercice des droits",
   "action": "Prévoir un canal (adresse, formulaire) et une procédure pour l’accès, la rectification, l’opposition et la suppression, avec un délai de réponse suivi.",
   "evidence": "La procédure écrite et le journal des demandes traitées avec leurs dates.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 17-18",
     "label": "Droit d’accès",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 20 à 22",
     "label": "Opposition, rectification, suppression (2 mois au plus), droit à l’oubli",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 15 à 21",
     "label": "Droits de la personne concernée",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-07",
   "url": "https://bntic.com/normes/controles/dp-07/",
   "domain": "Données personnelles",
   "title": "Fixer des durées de conservation et purger",
   "action": "Définir une durée par catégorie de données et automatiser la suppression ou l’anonymisation à l’échéance, sauvegardes comprises.",
   "evidence": "Tableau des durées et preuve d’exécution de la purge (tâche planifiée, journal).",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 8 et 25",
     "label": "Conservation limitée à la durée nécessaire",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 5, § 1, e",
     "label": "Limitation de la conservation",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-08",
   "url": "https://bntic.com/normes/controles/dp-08/",
   "domain": "Données personnelles",
   "title": "Encadrer l’hébergement et les transferts hors du pays",
   "action": "Lister les pays où les données sont hébergées ou consultées (nuage, support, outils SaaS, IA) et obtenir l’autorisation ou les garanties exigées avant tout transfert.",
   "evidence": "Carte des flux de données et autorisations ou garanties obtenues.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "hosting_abroad"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 42 à 44",
     "label": "Transfert vers un pays adéquat, autorisation préalable de la CIL",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 44 à 49",
     "label": "Transferts hors de l’UE",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-09",
   "url": "https://bntic.com/normes/controles/dp-09/",
   "domain": "Données personnelles",
   "title": "Permettre de contester une décision automatisée",
   "action": "Si un algorithme ou une IA prend ou prépare une décision sur une personne (score, sélection, refus), garantir une revue humaine et une voie de contestation.",
   "evidence": "Procédure de recours et exemple de décision revue par un humain.",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "ai"
   ],
   "requires_all": [
    "personal"
   ],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 19",
     "label": "Contestation des traitements automatisés",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 31",
     "label": "Autorisation préalable des décisions automatisées",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 22",
     "label": "Décision individuelle automatisée",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "DP-10",
   "url": "https://bntic.com/normes/controles/dp-10/",
   "domain": "Données personnelles",
   "title": "Désigner un délégué à la protection des données (DPO)",
   "action": "Nommer au moins un point de contact joignable pour les questions de données ; vérifier si un délégué (DPO) est obligatoire dans le pays et, si oui, le désigner et le déclarer.",
   "evidence": "Lettre de désignation et contact publié.",
   "severity": "recommended",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 29",
     "label": "Délégué à la protection des données (faculté)",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    }
   ]
  },
  {
   "code": "DP-11",
   "url": "https://bntic.com/normes/controles/dp-11/",
   "domain": "Données personnelles",
   "title": "Protéger les données dès la conception et par défaut",
   "action": "Choisir les réglages les plus protecteurs par défaut (profil privé, partage désactivé), pseudonymiser quand c’est possible, limiter les accès internes.",
   "evidence": "Revue de conception datée et captures des réglages par défaut.",
   "severity": "important",
   "nature": "good_practice",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "GDPR",
     "id": "Art. 25",
     "label": "Protection des données dès la conception et par défaut",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    },
    {
     "source": "ISO27701",
     "id": "Système de management de la vie privée",
     "label": "",
     "condition": null,
     "url": "https://www.iso.org/standard/27701"
    },
    {
     "source": "CNIL_SECU",
     "id": "Guide 2024",
     "label": "Mesures de sécurité de base pour les traitements de données",
     "condition": null,
     "url": "https://www.cnil.fr/fr/guide-de-la-securite-des-donnees-personnelles-nouvelle-edition-2024"
    },
    {
     "source": "MASVS",
     "id": "MASVS-PRIVACY",
     "label": "Vie privée des applications mobiles",
     "condition": "mobile",
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "DP-12",
   "url": "https://bntic.com/normes/controles/dp-12/",
   "domain": "Données personnelles",
   "title": "Savoir gérer une violation de données",
   "action": "Prévoir comment détecter, qualifier et documenter une fuite, et vérifier dans le droit du pays s’il faut notifier l’autorité et les personnes, et dans quel délai.",
   "evidence": "Registre des violations et modèle de notification prêt.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "personal",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 10",
     "label": "Sécurité des données (aucune obligation de notification trouvée dans la loi)",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "GDPR",
     "id": "Art. 33",
     "label": "Notification à l’autorité dans les 72 heures",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    },
    {
     "source": "CNIL_SECU",
     "id": "Guide 2024",
     "label": "Gérer les incidents et les violations",
     "condition": null,
     "url": "https://www.cnil.fr/fr/guide-de-la-securite-des-donnees-personnelles-nouvelle-edition-2024"
    }
   ]
  },
  {
   "code": "DP-13",
   "url": "https://bntic.com/normes/controles/dp-13/",
   "domain": "Données personnelles",
   "title": "Encadrer la prospection électronique",
   "action": "N’envoyer de messages commerciaux (e-mail, SMS, WhatsApp) qu’aux personnes qui l’ont accepté, avec un lien de désabonnement qui fonctionne.",
   "evidence": "Preuve des consentements et test de désinscription.",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "marketing"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_TE",
     "id": "Chapitre IV",
     "label": "Publicité et prospection directe par courrier électronique",
     "condition": "BF",
     "url": "https://www.arcep.bf/download-category/loi_n-045-2009_trans_electr/"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 20",
     "label": "Droit d’opposition",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_CIL",
     "id": "Délibération sur la prospection directe",
     "label": "",
     "condition": "BF",
     "url": "https://cil.bf/?page_id=1174"
    }
   ]
  },
  {
   "code": "DP-14",
   "url": "https://bntic.com/normes/controles/dp-14/",
   "domain": "Données personnelles",
   "title": "Soumettre biométrie et vidéosurveillance à autorisation",
   "action": "Avant d’utiliser empreintes, reconnaissance faciale ou caméras, vérifier le régime d’autorisation et les délibérations de l’autorité.",
   "evidence": "Autorisation de l’autorité et analyse de proportionnalité.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "biometrics"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": true,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 31",
     "label": "Autorisation pour les données biométriques dans le secteur privé",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 12",
     "label": "Données sensibles",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    },
    {
     "source": "BF_CIL",
     "id": "Délibération sur la biométrie",
     "label": "",
     "condition": "BF",
     "url": "https://cil.bf/?page_id=1049"
    },
    {
     "source": "BF_CIL",
     "id": "Délibération sur la vidéosurveillance",
     "label": "",
     "condition": "BF",
     "url": "https://cil.bf/?page_id=1051"
    }
   ]
  },
  {
   "code": "DP-15",
   "url": "https://bntic.com/normes/controles/dp-15/",
   "domain": "Données personnelles",
   "title": "Vérifier si le RGPD européen s’applique",
   "action": "Si le service cible des personnes situées dans l’Union européenne (diaspora, clients, étudiants) ou suit leur comportement, faire vérifier l’application du RGPD et la désignation d’un représentant dans l’UE.",
   "evidence": "Note juridique sur le champ d’application.",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "eu_users"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "GDPR",
     "id": "Art. 3, § 2",
     "label": "Champ d’application territorial",
     "condition": null,
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    },
    {
     "source": "GDPR",
     "id": "Art. 27",
     "label": "Représentant dans l’UE",
     "condition": null,
     "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj"
    }
   ]
  },
  {
   "code": "SEC-01",
   "url": "https://bntic.com/normes/controles/sec-01/",
   "domain": "Sécurité applicative",
   "title": "Valider toutes les entrées côté serveur",
   "action": "Refuser les données inattendues selon des formats, types, longueurs et listes de valeurs connus ; la validation dans le navigateur ne suffit pas.",
   "evidence": "Tests avec valeurs manquantes, trop longues, mal typées et caractères spéciaux.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V2",
     "label": "Validation and Business Logic",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "TOP10",
     "id": "A05:2025",
     "label": "Injection",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "MASVS",
     "id": "MASVS-CODE-4",
     "label": "Valider et assainir les entrées non fiables",
     "condition": "mobile",
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "SEC-02",
   "url": "https://bntic.com/normes/controles/sec-02/",
   "domain": "Sécurité applicative",
   "title": "Neutraliser les injections (SQL, commandes, XSS)",
   "action": "Utiliser des requêtes paramétrées ou un ORM, encoder les sorties selon le contexte (HTML, attribut, JavaScript, URL) et ne jamais construire de commande système avec une saisie.",
   "evidence": "Revue de code ciblée et scan dynamique sans injection détectée.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V1",
     "label": "Encoding and Sanitization",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "TOP10",
     "id": "A05:2025",
     "label": "Injection",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    }
   ]
  },
  {
   "code": "SEC-03",
   "url": "https://bntic.com/normes/controles/sec-03/",
   "domain": "Sécurité applicative",
   "title": "Contrôler les autorisations sur chaque objet et chaque action",
   "action": "Vérifier côté serveur, à chaque requête, que l’utilisateur a le droit de lire ou modifier l’objet demandé ; refuser par défaut.",
   "evidence": "Tenter d’accéder aux objets d’un autre compte en modifiant les identifiants.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "accounts",
    "admin",
    "personal"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V8",
     "label": "Authorization",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "TOP10",
     "id": "A01:2025",
     "label": "Broken Access Control",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    }
   ]
  },
  {
   "code": "SEC-04",
   "url": "https://bntic.com/normes/controles/sec-04/",
   "domain": "Sécurité applicative",
   "title": "Maîtriser les dépendances et la chaîne d’approvisionnement",
   "action": "Fixer les versions, n’utiliser que des paquets maintenus et de sources officielles, surveiller les avis de sécurité et signer ou vérifier ce qui est déployé.",
   "evidence": "Fichier de verrouillage des versions et rapport d’audit des dépendances.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "TOP10",
     "id": "A03:2025",
     "label": "Software Supply Chain Failures",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "TOP10",
     "id": "A08:2025",
     "label": "Software or Data Integrity Failures",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "CIS",
     "id": "Contrôle 2",
     "label": "Inventaire et contrôle des logiciels",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    },
    {
     "source": "ASVS",
     "id": "V15",
     "label": "Secure Coding and Architecture",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "SEC-05",
   "url": "https://bntic.com/normes/controles/sec-05/",
   "domain": "Sécurité applicative",
   "title": "Appliquer les correctifs de sécurité dans un délai fixé",
   "action": "Définir un délai de correction selon la gravité et suivre chaque vulnérabilité jusqu’à sa clôture (système, framework, bibliothèques).",
   "evidence": "Tableau de suivi des vulnérabilités avec dates de détection et de correction.",
   "severity": "important",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CIS",
     "id": "Contrôle 7",
     "label": "Gestion continue des vulnérabilités",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    },
    {
     "source": "CSF20",
     "id": "ID.RA",
     "label": "Évaluation des risques",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    }
   ]
  },
  {
   "code": "SEC-06",
   "url": "https://bntic.com/normes/controles/sec-06/",
   "domain": "Sécurité applicative",
   "title": "Durcir la configuration de production",
   "action": "Désactiver le mode débogage, les comptes et pages par défaut, les listings de répertoires et les services inutiles.",
   "evidence": "Revue de configuration et page d’erreur de production vérifiée.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "TOP10",
     "id": "A02:2025",
     "label": "Security Misconfiguration",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "ASVS",
     "id": "V13",
     "label": "Configuration",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "CIS",
     "id": "Contrôle 4",
     "label": "Configuration sécurisée des actifs et logiciels",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    }
   ]
  },
  {
   "code": "SEC-07",
   "url": "https://bntic.com/normes/controles/sec-07/",
   "domain": "Sécurité applicative",
   "title": "Envoyer les en-têtes HTTP de sécurité",
   "action": "Configurer au minimum Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options: nosniff, protection contre l’intégration en cadre et Referrer-Policy ; retirer les en-têtes qui révèlent les versions.",
   "evidence": "Capture des en-têtes de réponse de la page d’accueil et d’une page connectée.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "OSHP",
     "id": "En-têtes recommandés et en-têtes à supprimer",
     "label": "",
     "condition": null,
     "url": "https://owasp.org/www-project-secure-headers/"
    },
    {
     "source": "ASVS",
     "id": "V3",
     "label": "Web Frontend Security",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "SEC-08",
   "url": "https://bntic.com/normes/controles/sec-08/",
   "domain": "Sécurité applicative",
   "title": "Sécuriser le téléversement de fichiers",
   "action": "Limiter types et tailles, vérifier le contenu réel, renommer, stocker hors de la racine web et servir les fichiers sans exécution.",
   "evidence": "Essais avec un fichier trop gros, un type interdit et une extension trompeuse.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "uploads"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V5",
     "label": "File Handling",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "SEC-09",
   "url": "https://bntic.com/normes/controles/sec-09/",
   "domain": "Sécurité applicative",
   "title": "Gérer les erreurs sans rien divulguer",
   "action": "Afficher un message neutre à l’utilisateur, journaliser le détail côté serveur et prévoir un comportement sûr quand une dépendance échoue.",
   "evidence": "Provoquer une erreur et vérifier qu’aucune trace technique n’est affichée.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "TOP10",
     "id": "A10:2025",
     "label": "Mishandling of Exceptional Conditions",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "ASVS",
     "id": "V16",
     "label": "Security Logging and Error Handling",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "SEC-10",
   "url": "https://bntic.com/normes/controles/sec-10/",
   "domain": "Sécurité applicative",
   "title": "Protéger les secrets et utiliser une cryptographie actuelle",
   "action": "Sortir clés, mots de passe et jetons du code source ; les stocker dans un coffre ou des variables protégées ; n’utiliser que des algorithmes et bibliothèques reconnus.",
   "evidence": "Recherche de secrets dans le dépôt et liste des algorithmes employés.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V11",
     "label": "Cryptography",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "TOP10",
     "id": "A04:2025",
     "label": "Cryptographic Failures",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "ASVS",
     "id": "V13",
     "label": "Configuration",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "SEC-11",
   "url": "https://bntic.com/normes/controles/sec-11/",
   "domain": "Sécurité applicative",
   "title": "Limiter les abus automatisés",
   "action": "Limiter le débit sur connexion, inscription, formulaires et recherche ; ajouter une vérification anti-robot accessible si nécessaire.",
   "evidence": "Test d’envoi répété et constat du blocage.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "accounts",
    "public"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V2",
     "label": "Anti-automatisation et limitation de débit",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "SEC-12",
   "url": "https://bntic.com/normes/controles/sec-12/",
   "domain": "Sécurité applicative",
   "title": "Chiffrer les données sensibles stockées",
   "action": "Chiffrer les données sensibles en base et dans les sauvegardes, avec des clés séparées des données.",
   "evidence": "Configuration du chiffrement et procédure de gestion des clés.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "payment",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V14",
     "label": "Data Protection",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 10, 23 et 24",
     "label": "Sécurité et confidentialité",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    }
   ]
  },
  {
   "code": "AUTH-01",
   "url": "https://bntic.com/normes/controles/auth-01/",
   "domain": "Authentification et sessions",
   "title": "Appliquer une politique de mots de passe moderne",
   "action": "Exiger 15 caractères si le mot de passe est le seul facteur (8 avec multifacteur), accepter au moins 64 caractères, refuser les mots de passe courants ou compromis, sans règles de composition ni changement périodique forcé.",
   "evidence": "Essais : mot de passe court, courant (« 123456789… ») et très long.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "accounts"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "SP80063B",
     "id": "§ 3.1.1.2",
     "label": "Password Verifiers",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/sp/800/63/b/4/final"
    },
    {
     "source": "ASVS",
     "id": "V6",
     "label": "Authentication (longueur, liste de mots de passe interdits)",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "AUTH-02",
   "url": "https://bntic.com/normes/controles/auth-02/",
   "domain": "Authentification et sessions",
   "title": "Imposer le multifacteur aux comptes à privilèges",
   "action": "Activer l’authentification à plusieurs facteurs pour l’administration, les comptes de paiement et l’accès aux données sensibles.",
   "evidence": "Liste des comptes à privilèges et preuve d’activation.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "admin",
    "payment",
    "sensitive"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V6",
     "label": "Authentication",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "TOP10",
     "id": "A07:2025",
     "label": "Authentication Failures",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "CSF20",
     "id": "PR.AA",
     "label": "Gestion des identités, authentification et contrôle d’accès",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    }
   ]
  },
  {
   "code": "AUTH-03",
   "url": "https://bntic.com/normes/controles/auth-03/",
   "domain": "Authentification et sessions",
   "title": "Sécuriser les sessions",
   "action": "Cookies Secure, HttpOnly et SameSite, protection CSRF, expiration d’inactivité, renouvellement de l’identifiant à la connexion et invalidation à la déconnexion.",
   "evidence": "Inspection des cookies et test de réutilisation d’une session après déconnexion.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "accounts"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V7",
     "label": "Session Management",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "MASVS",
     "id": "MASVS-AUTH",
     "label": "Authentification et autorisation côté serveur",
     "condition": "mobile",
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "AUTH-04",
   "url": "https://bntic.com/normes/controles/auth-04/",
   "domain": "Authentification et sessions",
   "title": "Freiner les attaques par essais et sécuriser la récupération de compte",
   "action": "Limiter les tentatives, ne pas révéler si un compte existe, et rendre la réinitialisation de mot de passe aussi sûre que la connexion.",
   "evidence": "Essais répétés et test du parcours « mot de passe oublié ».",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "accounts"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "TOP10",
     "id": "A07:2025",
     "label": "Authentication Failures",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "ASVS",
     "id": "V6",
     "label": "Authentication",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "AUTH-05",
   "url": "https://bntic.com/normes/controles/auth-05/",
   "domain": "Authentification et sessions",
   "title": "Rendre la connexion accessible",
   "action": "Ne pas imposer de test cognitif (recopier, mémoriser, résoudre une énigme) sans alternative ; autoriser le copier-coller et les gestionnaires de mots de passe.",
   "evidence": "Test de connexion avec un gestionnaire de mots de passe et au clavier.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "accounts"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "3.3.8 Accessible Authentication (Minimum)",
     "label": "niveau AA, nouveau en 2.2",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "AUTH-06",
   "url": "https://bntic.com/normes/controles/auth-06/",
   "domain": "Authentification et sessions",
   "title": "Valider correctement les jetons et les flux OAuth",
   "action": "Vérifier signature, algorithme, émetteur, audience et expiration des jetons ; utiliser les flux OAuth/OIDC recommandés.",
   "evidence": "Tests avec jeton expiré, mal signé et destiné à un autre service.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "api"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V9",
     "label": "Self-contained Tokens",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "ASVS",
     "id": "V10",
     "label": "OAuth and OIDC",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "API_TOP10",
     "id": "API2:2023",
     "label": "Broken Authentication",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    }
   ]
  },
  {
   "code": "OPS-01",
   "url": "https://bntic.com/normes/controles/ops-01/",
   "domain": "Infrastructure et exploitation",
   "title": "Servir tout le site en HTTPS avec TLS à jour",
   "action": "Rediriger tout le trafic vers HTTPS, désactiver TLS 1.0 et 1.1, privilégier TLS 1.3 et activer HSTS une fois le certificat stabilisé.",
   "evidence": "Rapport d’un outil de test TLS et en-tête Strict-Transport-Security visible.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "RFC9846",
     "id": "Protocole TLS 1.3",
     "label": "Version actuelle, qui remplace la RFC 8446",
     "condition": null,
     "url": "https://www.rfc-editor.org/info/rfc9846"
    },
    {
     "source": "RFC6797",
     "id": "En-tête Strict-Transport-Security",
     "label": "",
     "condition": null,
     "url": "https://www.rfc-editor.org/info/rfc6797"
    },
    {
     "source": "ASVS",
     "id": "V12",
     "label": "Secure Communication",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "OPS-02",
   "url": "https://bntic.com/normes/controles/ops-02/",
   "domain": "Infrastructure et exploitation",
   "title": "Sauvegarder et tester la restauration",
   "action": "Sauvegarder régulièrement, chiffrer, garder une copie hors ligne ou hors site, et restaurer réellement au moins une fois par trimestre.",
   "evidence": "Procès-verbal daté d’un test de restauration réussi.",
   "severity": "critical",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CIS",
     "id": "Contrôle 11",
     "label": "Récupération des données",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    },
    {
     "source": "CSF20",
     "id": "RC.RP",
     "label": "Exécution du plan de rétablissement",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    }
   ]
  },
  {
   "code": "OPS-03",
   "url": "https://bntic.com/normes/controles/ops-03/",
   "domain": "Infrastructure et exploitation",
   "title": "Journaliser les événements de sécurité sans exposer de secrets",
   "action": "Tracer connexions, échecs, changements de droits et actions d’administration (qui, quoi, quand, où), sans mots de passe ni jetons, avec une durée de conservation fixée.",
   "evidence": "Échantillon de journaux et politique de conservation.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ASVS",
     "id": "V16",
     "label": "Security Logging and Error Handling",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    },
    {
     "source": "TOP10",
     "id": "A09:2025",
     "label": "Security Logging and Alerting Failures",
     "condition": null,
     "url": "https://top10.owasp.org/2025/"
    },
    {
     "source": "CIS",
     "id": "Contrôle 8",
     "label": "Gestion des journaux d’audit",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    }
   ]
  },
  {
   "code": "OPS-04",
   "url": "https://bntic.com/normes/controles/ops-04/",
   "domain": "Infrastructure et exploitation",
   "title": "Surveiller et alerter",
   "action": "Mettre en place une surveillance de disponibilité et des alertes sur les événements anormaux (pics d’erreurs, connexions suspectes).",
   "evidence": "Capture du tableau de bord et exemple d’alerte reçue.",
   "severity": "important",
   "nature": "good_practice",
   "applies_if_any": [
    "admin",
    "payment",
    "public",
    "public_sector"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CSF20",
     "id": "DE.CM",
     "label": "Surveillance continue",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    },
    {
     "source": "CIS",
     "id": "Contrôle 13",
     "label": "Surveillance et défense du réseau",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    }
   ]
  },
  {
   "code": "OPS-05",
   "url": "https://bntic.com/normes/controles/ops-05/",
   "domain": "Infrastructure et exploitation",
   "title": "Séparer les environnements et appliquer le moindre privilège",
   "action": "Séparer développement, test et production ; ne pas copier de données réelles en test sans anonymisation ; donner à chaque compte le minimum de droits.",
   "evidence": "Schéma des environnements et revue des comptes d’accès.",
   "severity": "important",
   "nature": "good_practice",
   "applies_if_any": [
    "baseline"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "CIS",
     "id": "Contrôles 5 et 6",
     "label": "Gestion des comptes et des accès",
     "condition": null,
     "url": "https://www.cisecurity.org/controls/v8-1"
    },
    {
     "source": "CSF20",
     "id": "PR.AA",
     "label": "Gestion des identités et des accès",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    }
   ]
  },
  {
   "code": "OPS-06",
   "url": "https://bntic.com/normes/controles/ops-06/",
   "domain": "Infrastructure et exploitation",
   "title": "Définir un plan de continuité",
   "action": "Fixer la durée d’interruption acceptable et la perte de données tolérable, et prévoir comment fonctionner en mode dégradé.",
   "evidence": "Plan de continuité validé et exercice daté.",
   "severity": "important",
   "nature": "good_practice",
   "applies_if_any": [
    "payment",
    "public_sector"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "ISO22301",
     "id": "Management de la continuité d’activité",
     "label": "",
     "condition": null,
     "url": "https://www.iso.org/standard/75106.html"
    },
    {
     "source": "CSF20",
     "id": "RC",
     "label": "Rétablir",
     "condition": null,
     "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final"
    }
   ]
  },
  {
   "code": "ACC-01",
   "url": "https://bntic.com/normes/controles/acc-01/",
   "domain": "Accessibilité numérique",
   "title": "Donner une alternative textuelle aux contenus non textuels",
   "action": "Décrire images informatives, graphiques et icônes porteuses de sens ; masquer aux aides techniques les images décoratives.",
   "evidence": "Inspection des attributs alt et test au lecteur d’écran.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "mobile",
    "public",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "1.1.1 Non-text Content",
     "label": "niveau A",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "ACC-02",
   "url": "https://bntic.com/normes/controles/acc-02/",
   "domain": "Accessibilité numérique",
   "title": "Structurer les pages avec une sémantique correcte",
   "action": "Utiliser de vrais titres hiérarchisés, listes, tableaux avec en-têtes et zones de page, plutôt que des mises en forme visuelles.",
   "evidence": "Plan des titres et vérification avec un outil d’inspection d’accessibilité.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "public",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "1.3.1 Info and Relationships",
     "label": "niveau A",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "ACC-03",
   "url": "https://bntic.com/normes/controles/acc-03/",
   "domain": "Accessibilité numérique",
   "title": "Assurer des contrastes suffisants",
   "action": "Respecter un contraste d’au moins 4,5:1 pour le texte courant et 3:1 pour les composants d’interface et graphiques utiles.",
   "evidence": "Mesure des couleurs principales avec un contrasteur.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "mobile",
    "public",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "1.4.3 Contrast (Minimum)",
     "label": "niveau AA",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "1.4.11 Non-text Contrast",
     "label": "niveau AA",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "ACC-04",
   "url": "https://bntic.com/normes/controles/acc-04/",
   "domain": "Accessibilité numérique",
   "title": "Permettre l’usage complet au clavier avec un focus visible",
   "action": "Rendre toutes les fonctions accessibles au clavier, sans piège, avec un indicateur de focus visible et jamais masqué par un bandeau ou une fenêtre.",
   "evidence": "Parcours complet avec Tab, Maj+Tab, Entrée, Espace et Échap.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "public",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "2.1.1 Keyboard",
     "label": "niveau A",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "2.4.7 Focus Visible",
     "label": "niveau AA",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "2.4.11 Focus Not Obscured (Minimum)",
     "label": "niveau AA, nouveau en 2.2",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "ACC-05",
   "url": "https://bntic.com/normes/controles/acc-05/",
   "domain": "Accessibilité numérique",
   "title": "Adapter l’affichage aux petits écrans et au toucher",
   "action": "Afficher le contenu sur 320 pixels de large sans défilement horizontal et prévoir des cibles tactiles d’au moins 24 × 24 pixels CSS ou bien espacées.",
   "evidence": "Test à 320 px et à 400 % de zoom ; mesure des boutons.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "mobile",
    "public",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "1.4.10 Reflow",
     "label": "niveau AA",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "2.5.8 Target Size (Minimum)",
     "label": "niveau AA, nouveau en 2.2",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "ACC-06",
   "url": "https://bntic.com/normes/controles/acc-06/",
   "domain": "Accessibilité numérique",
   "title": "Rendre les formulaires compréhensibles",
   "action": "Associer chaque champ à un libellé, donner les consignes avant la saisie, décrire les erreurs en texte et exposer nom, rôle et état de chaque composant.",
   "evidence": "Soumission d’un formulaire vide et vérification au lecteur d’écran.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "mobile",
    "public",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "3.3.2 Labels or Instructions",
     "label": "niveau A",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "3.3.1 Error Identification",
     "label": "niveau A",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "4.1.2 Name, Role, Value",
     "label": "niveau A",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "ACC-07",
   "url": "https://bntic.com/normes/controles/acc-07/",
   "domain": "Accessibilité numérique",
   "title": "Publier une déclaration d’accessibilité et tester avec des utilisateurs",
   "action": "Publier le niveau atteint, les limites connues et un contact, et faire tester le service par des personnes handicapées.",
   "evidence": "Page de déclaration et compte rendu des tests utilisateurs.",
   "severity": "recommended",
   "nature": "recommendation",
   "applies_if_any": [
    "public",
    "public_sector"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "BF_HANDICAP",
     "id": "Art. 39",
     "label": "Droit aux services de communication publique en ligne",
     "condition": "BF",
     "url": "https://www.un.org/development/desa/disabilities/wp-content/uploads/sites/15/2019/11/Burkina-Faso_Law-on-the-protection-and-promotion-of-disabled-persons.pdf"
    },
    {
     "source": "CRPD",
     "id": "Art. 9",
     "label": "Accessibilité, y compris des technologies de l’information et de la communication",
     "condition": null,
     "url": "https://social.desa.un.org/issues/disability/crpd/article-9-accessibility"
    },
    {
     "source": "EN301549",
     "id": "V4.1.1 alignée sur WCAG 2.2 (référence légale UE : V3.2.1)",
     "label": "",
     "condition": "eu_users",
     "url": "https://www.etsi.org/deliver/etsi_en/301500_301599/301549/04.01.01_60/"
    }
   ]
  },
  {
   "code": "ACC-08",
   "url": "https://bntic.com/normes/controles/acc-08/",
   "domain": "Accessibilité numérique",
   "title": "Simplifier les parcours : gestes, aide et saisies",
   "action": "Offrir une alternative par simple clic à tout glisser-déposer, placer l’aide (contact, FAQ, chat) au même endroit sur toutes les pages et ne pas redemander une information déjà fournie dans le même parcours.",
   "evidence": "Parcours complet d’un formulaire en plusieurs étapes et revue des composants à glisser.",
   "severity": "recommended",
   "nature": "standard",
   "applies_if_any": [
    "mobile",
    "public",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "WCAG22",
     "id": "2.5.7 Dragging Movements",
     "label": "niveau AA, nouveau en 2.2",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "3.2.6 Consistent Help",
     "label": "niveau A, nouveau en 2.2",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    },
    {
     "source": "WCAG22",
     "id": "3.3.7 Redundant Entry",
     "label": "niveau A, nouveau en 2.2",
     "condition": null,
     "url": "https://www.w3.org/TR/WCAG22/"
    }
   ]
  },
  {
   "code": "API-01",
   "url": "https://bntic.com/normes/controles/api-01/",
   "domain": "API",
   "title": "Décrire et inventorier l’API avec OpenAPI",
   "action": "Documenter routes, paramètres, schémas, réponses, erreurs et mécanismes de sécurité ; tenir l’inventaire des versions et des hôtes exposés.",
   "evidence": "Document OpenAPI validé et liste des points d’accès en production.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "api"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "OPENAPI",
     "id": "Operation Object et Security Scheme Object",
     "label": "",
     "condition": null,
     "url": "https://spec.openapis.org/oas/latest.html"
    },
    {
     "source": "API_TOP10",
     "id": "API9:2023",
     "label": "Improper Inventory Management",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    },
    {
     "source": "ASVS",
     "id": "V4",
     "label": "API and Web Service",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "API-02",
   "url": "https://bntic.com/normes/controles/api-02/",
   "domain": "API",
   "title": "Autoriser au niveau de l’objet, de la propriété et de la fonction",
   "action": "Vérifier pour chaque appel que l’appelant peut accéder à cet objet, à ces champs et à cette fonction ; ne jamais renvoyer plus de champs que nécessaire.",
   "evidence": "Tests avec les identifiants d’un autre client et avec des champs non autorisés.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "api"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "API_TOP10",
     "id": "API1:2023",
     "label": "Broken Object Level Authorization",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    },
    {
     "source": "API_TOP10",
     "id": "API3:2023",
     "label": "Broken Object Property Level Authorization",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    },
    {
     "source": "API_TOP10",
     "id": "API5:2023",
     "label": "Broken Function Level Authorization",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    }
   ]
  },
  {
   "code": "API-03",
   "url": "https://bntic.com/normes/controles/api-03/",
   "domain": "API",
   "title": "Limiter la consommation et protéger les flux sensibles",
   "action": "Fixer quotas, débit, taille maximale, pagination et délais ; protéger les flux métier sensibles (achat, inscription, envoi de SMS) contre l’automatisation.",
   "evidence": "Test de dépassement de quota et d’envoi massif.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "api"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "API_TOP10",
     "id": "API4:2023",
     "label": "Unrestricted Resource Consumption",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    },
    {
     "source": "API_TOP10",
     "id": "API6:2023",
     "label": "Unrestricted Access to Sensitive Business Flows",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    }
   ]
  },
  {
   "code": "API-04",
   "url": "https://bntic.com/normes/controles/api-04/",
   "domain": "API",
   "title": "Consommer les API tierces avec méfiance",
   "action": "Valider les réponses des API externes, limiter les adresses que le serveur peut appeler et ne jamais suivre une URL fournie par l’utilisateur sans contrôle.",
   "evidence": "Test d’appel vers une adresse interne et vers une réponse tierce malformée.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "api"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "API_TOP10",
     "id": "API7:2023",
     "label": "Server Side Request Forgery",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    },
    {
     "source": "API_TOP10",
     "id": "API10:2023",
     "label": "Unsafe Consumption of APIs",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    }
   ]
  },
  {
   "code": "API-05",
   "url": "https://bntic.com/normes/controles/api-05/",
   "domain": "API",
   "title": "Versionner et retirer les anciennes versions",
   "action": "Publier un calendrier de dépréciation et fermer les versions obsolètes ou de test encore exposées.",
   "evidence": "Liste des versions actives et date de fin de chacune.",
   "severity": "recommended",
   "nature": "standard",
   "applies_if_any": [
    "api"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "API_TOP10",
     "id": "API9:2023",
     "label": "Improper Inventory Management",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    },
    {
     "source": "API_TOP10",
     "id": "API8:2023",
     "label": "Security Misconfiguration",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    }
   ]
  },
  {
   "code": "MOB-01",
   "url": "https://bntic.com/normes/controles/mob-01/",
   "domain": "Applications mobiles",
   "title": "Stocker les données sensibles de façon sécurisée",
   "action": "Utiliser le stockage sécurisé de la plateforme (Keystore, Keychain) pour jetons et secrets ; ne rien laisser en clair dans les fichiers, journaux ou captures.",
   "evidence": "Inspection du stockage de l’application sur un appareil de test.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "mobile"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "MASVS",
     "id": "MASVS-STORAGE-1",
     "label": "",
     "condition": null,
     "url": "https://mas.owasp.org/MASVS/"
    },
    {
     "source": "MASVS",
     "id": "MASVS-CRYPTO",
     "label": "Cryptographie et gestion des clés",
     "condition": null,
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "MOB-02",
   "url": "https://bntic.com/normes/controles/mob-02/",
   "domain": "Applications mobiles",
   "title": "Sécuriser tout le trafic réseau",
   "action": "N’autoriser que HTTPS, refuser les certificats invalides et ne jamais désactiver la vérification TLS, même en recette.",
   "evidence": "Interception de trafic sur appareil de test.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "mobile"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "MASVS",
     "id": "MASVS-NETWORK-1",
     "label": "",
     "condition": null,
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "MOB-03",
   "url": "https://bntic.com/normes/controles/mob-03/",
   "domain": "Applications mobiles",
   "title": "Demander le minimum de permissions",
   "action": "Ne demander caméra, contacts, localisation ou SMS que si la fonction l’exige, au moment où elle sert, et expliquer pourquoi.",
   "evidence": "Liste des permissions déclarées et justification de chacune.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "mobile"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "MASVS",
     "id": "MASVS-PRIVACY-1",
     "label": "",
     "condition": null,
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "MOB-04",
   "url": "https://bntic.com/normes/controles/mob-04/",
   "domain": "Applications mobiles",
   "title": "Sécuriser WebViews, liens profonds et échanges entre applications",
   "action": "Désactiver JavaScript dans les WebViews quand il n’est pas nécessaire, valider les liens profonds et ne rien exposer aux autres applications sans contrôle.",
   "evidence": "Revue du manifeste et test des liens profonds.",
   "severity": "important",
   "nature": "standard",
   "applies_if_any": [
    "mobile"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "MASVS",
     "id": "MASVS-PLATFORM",
     "label": "Interaction avec la plateforme",
     "condition": null,
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "MOB-05",
   "url": "https://bntic.com/normes/controles/mob-05/",
   "domain": "Applications mobiles",
   "title": "Renforcer la résistance à la rétro-ingénierie",
   "action": "Pour une application de paiement ou de données sensibles, ajouter détection d’altération et d’environnement compromis, après avis d’un expert.",
   "evidence": "Rapport d’un test de résilience mobile.",
   "severity": "recommended",
   "nature": "expert_required",
   "applies_if_any": [
    "payment",
    "sensitive"
   ],
   "requires_all": [
    "mobile"
   ],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "MASVS",
     "id": "MASVS-RESILIENCE",
     "label": "",
     "condition": null,
     "url": "https://mas.owasp.org/MASVS/"
    }
   ]
  },
  {
   "code": "IA-01",
   "url": "https://bntic.com/normes/controles/ia-01/",
   "domain": "Intelligence artificielle",
   "title": "Maintenir une responsabilité humaine",
   "action": "Écrire ce que l’IA peut assister, ce qu’elle ne décide jamais seule, qui valide ses résultats et comment l’utilisateur obtient un recours.",
   "evidence": "Fiche de responsabilité et procédure d’escalade.",
   "severity": "critical",
   "nature": "recommendation",
   "applies_if_any": [
    "ai"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "UNESCO_AI",
     "id": "Principe : contrôle et décision humains",
     "label": "",
     "condition": null,
     "url": "https://www.unesco.org/en/artificial-intelligence/recommendation-ethics"
    },
    {
     "source": "AIRMF",
     "id": "Fonction GOVERN",
     "label": "",
     "condition": null,
     "url": "https://www.nist.gov/itl/ai-risk-management-framework"
    },
    {
     "source": "OECD_AI",
     "id": "Principes de l’OCDE (révision 2024)",
     "label": "",
     "condition": null,
     "url": "https://www.oecd.org/en/about/news/press-releases/2024/05/oecd-updates-ai-principles-to-stay-abreast-of-rapid-technological-developments.html"
    }
   ]
  },
  {
   "code": "IA-02",
   "url": "https://bntic.com/normes/controles/ia-02/",
   "domain": "Intelligence artificielle",
   "title": "Cartographier usages et risques du système d’IA",
   "action": "Décrire finalité, utilisateurs, données d’entraînement ou de contexte, erreurs possibles et leur impact ; mesurer la performance sur des cas réels du pays.",
   "evidence": "Fiche système et résultats de tests datés.",
   "severity": "important",
   "nature": "recommendation",
   "applies_if_any": [
    "ai"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "AIRMF",
     "id": "Fonctions MAP et MEASURE",
     "label": "",
     "condition": null,
     "url": "https://www.nist.gov/itl/ai-risk-management-framework"
    },
    {
     "source": "ISO42001",
     "id": "Système de management de l’IA",
     "label": "",
     "condition": null,
     "url": "https://www.iso.org/standard/42001"
    }
   ]
  },
  {
   "code": "IA-03",
   "url": "https://bntic.com/normes/controles/ia-03/",
   "domain": "Intelligence artificielle",
   "title": "Protéger les données confiées aux modèles",
   "action": "Empêcher l’envoi de secrets et de données personnelles inutiles aux fournisseurs d’IA, vérifier leurs conditions de conservation et d’entraînement, et le pays d’hébergement.",
   "evidence": "Configuration des filtres, contrat du fournisseur et analyse du transfert.",
   "severity": "critical",
   "nature": "recommendation",
   "applies_if_any": [
    "ai"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "UNESCO_AI",
     "id": "Principe : vie privée et protection des données",
     "label": "",
     "condition": null,
     "url": "https://www.unesco.org/en/artificial-intelligence/recommendation-ethics"
    },
    {
     "source": "BF_DATA",
     "id": "Art. 42 à 44",
     "label": "Transferts hors du Burkina Faso",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    }
   ]
  },
  {
   "code": "IA-04",
   "url": "https://bntic.com/normes/controles/ia-04/",
   "domain": "Intelligence artificielle",
   "title": "Informer qu’un contenu ou un échange provient d’une IA",
   "action": "Signaler clairement à l’utilisateur qu’il échange avec une IA et marquer les contenus générés (texte, image, voix), si possible de façon lisible par machine.",
   "evidence": "Captures des mentions et des marquages.",
   "severity": "important",
   "nature": "recommendation",
   "applies_if_any": [
    "genai"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "UNESCO_AI",
     "id": "Principe : transparence et explicabilité",
     "label": "",
     "condition": null,
     "url": "https://www.unesco.org/en/artificial-intelligence/recommendation-ethics"
    },
    {
     "source": "EU_AI_ACT",
     "id": "Art. 50",
     "label": "Obligations de transparence, applicables depuis le 2 août 2026",
     "condition": "eu_users",
     "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"
    }
   ]
  },
  {
   "code": "IA-05",
   "url": "https://bntic.com/normes/controles/ia-05/",
   "domain": "Intelligence artificielle",
   "title": "Tester l’équité et les biais",
   "action": "Vérifier que les résultats ne défavorisent pas un groupe (langue, genre, région, handicap) et corriger avant déploiement.",
   "evidence": "Rapport de test par sous-groupes.",
   "severity": "important",
   "nature": "recommendation",
   "applies_if_any": [
    "ai"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "UNESCO_AI",
     "id": "Principe : équité et non-discrimination",
     "label": "",
     "condition": null,
     "url": "https://www.unesco.org/en/artificial-intelligence/recommendation-ethics"
    },
    {
     "source": "AIRMF",
     "id": "Fonction MEASURE",
     "label": "",
     "condition": null,
     "url": "https://www.nist.gov/itl/ai-risk-management-framework"
    }
   ]
  },
  {
   "code": "IA-06",
   "url": "https://bntic.com/normes/controles/ia-06/",
   "domain": "Intelligence artificielle",
   "title": "Qualifier le système au regard de l’AI Act européen",
   "action": "Si le système est proposé ou utilisé dans l’UE, vérifier qu’il ne relève pas des pratiques interdites (dont, à partir du 2 décembre 2026, la création d’images ou de voix intimes réalistes sans consentement) et s’il est « à haut risque » (obligations reportées au 2 décembre 2027 pour l’annexe III et au 2 août 2028 pour l’annexe I).",
   "evidence": "Note de qualification juridique.",
   "severity": "critical",
   "nature": "legal_attention",
   "applies_if_any": [
    "ai"
   ],
   "requires_all": [
    "eu_users"
   ],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "EU_AI_ACT",
     "id": "Art. 5",
     "label": "Pratiques interdites",
     "condition": null,
     "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"
    },
    {
     "source": "EU_AI_ACT",
     "id": "Art. 6, annexes I et III",
     "label": "Systèmes à haut risque",
     "condition": null,
     "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"
    }
   ]
  },
  {
   "code": "IA-07",
   "url": "https://bntic.com/normes/controles/ia-07/",
   "domain": "Intelligence artificielle",
   "title": "Maîtriser les risques propres à l’IA générative",
   "action": "Prévoir les réponses inventées, l’injection d’instructions, la fuite du contexte et les contenus dangereux : filtrage, citations vérifiables, tests adverses.",
   "evidence": "Jeu de tests adverses et résultats.",
   "severity": "important",
   "nature": "recommendation",
   "applies_if_any": [
    "genai"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "AIRMF",
     "id": "Profil IA générative NIST AI 600-1",
     "label": "",
     "condition": null,
     "url": "https://www.nist.gov/itl/ai-risk-management-framework"
    },
    {
     "source": "UNESCO_AI",
     "id": "Principe : proportionnalité et innocuité",
     "label": "",
     "condition": null,
     "url": "https://www.unesco.org/en/artificial-intelligence/recommendation-ethics"
    }
   ]
  },
  {
   "code": "PAY-01",
   "url": "https://bntic.com/normes/controles/pay-01/",
   "domain": "Paiement et transactions électroniques",
   "title": "Réduire le périmètre des données de paiement",
   "action": "Passer par un prestataire de paiement agréé (page hébergée, redirection) et ne jamais stocker numéro de carte complet, cryptogramme ou code secret.",
   "evidence": "Schéma du flux de paiement montrant ce qui atteint vos serveurs.",
   "severity": "critical",
   "nature": "expert_required",
   "applies_if_any": [
    "payment"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "PCIDSS",
     "id": "Périmètre des données de titulaires de cartes",
     "label": "",
     "condition": null,
     "url": "https://www.pcisecuritystandards.org/document_library/"
    }
   ]
  },
  {
   "code": "PAY-02",
   "url": "https://bntic.com/normes/controles/pay-02/",
   "domain": "Paiement et transactions électroniques",
   "title": "Conserver la preuve électronique des transactions",
   "action": "Conserver de façon intègre et datée les ordres, accusés et reçus électroniques, avec une durée de conservation définie.",
   "evidence": "Procédure d’archivage et exemple de preuve restituée.",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "payment"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "UEMOA_PAY",
     "id": "Art. 17 à 20",
     "label": "Écrit électronique en preuve et conservation",
     "condition": "UEMOA",
     "url": "https://www.bceao.int/sites/default/files/inline-files/chapitre_5_-_reglementation_relative_aux_systemes_et_moyens_de_paiement.pdf"
    },
    {
     "source": "UEMOA_PAY",
     "id": "Art. 21 à 30",
     "label": "Signature électronique sécurisée et certificats",
     "condition": "UEMOA",
     "url": "https://www.bceao.int/sites/default/files/inline-files/chapitre_5_-_reglementation_relative_aux_systemes_et_moyens_de_paiement.pdf"
    },
    {
     "source": "BF_TE",
     "id": "Chapitres II et III",
     "label": "Signature électronique, formalisme et preuve",
     "condition": "BF",
     "url": "https://www.arcep.bf/download-category/loi_n-045-2009_trans_electr/"
    }
   ]
  },
  {
   "code": "PAY-03",
   "url": "https://bntic.com/normes/controles/pay-03/",
   "domain": "Paiement et transactions électroniques",
   "title": "Informer le client avant l’achat en ligne",
   "action": "Afficher identité du vendeur, prix total, frais, conditions, étapes de conclusion du contrat et droit de rétractation applicable.",
   "evidence": "Captures du parcours d’achat et conditions générales.",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "payment"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "BF_TE",
     "id": "Chapitre IV",
     "label": "Commerce électronique : information, contrats en ligne, rétractation",
     "condition": "BF",
     "url": "https://www.arcep.bf/download-category/loi_n-045-2009_trans_electr/"
    },
    {
     "source": "CEDEAO_TE",
     "id": "Acte additionnel sur les transactions électroniques",
     "label": "",
     "condition": "CEDEAO",
     "url": "https://www.osiris.sn/Acte-Additionnel-A-SA-SA-2-01-10,8792.html"
    }
   ]
  },
  {
   "code": "PAY-04",
   "url": "https://bntic.com/normes/controles/pay-04/",
   "domain": "Paiement et transactions électroniques",
   "title": "Prévenir la fraude et sécuriser les notifications de paiement",
   "action": "Vérifier côté serveur montant, devise et statut auprès du prestataire, authentifier ses notifications et rendre chaque traitement non rejouable.",
   "evidence": "Test de notification falsifiée et de double notification.",
   "severity": "critical",
   "nature": "standard",
   "applies_if_any": [
    "payment"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "API_TOP10",
     "id": "API6:2023",
     "label": "Unrestricted Access to Sensitive Business Flows",
     "condition": null,
     "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/"
    },
    {
     "source": "ASVS",
     "id": "V2",
     "label": "Validation and Business Logic",
     "condition": null,
     "url": "https://github.com/OWASP/ASVS"
    }
   ]
  },
  {
   "code": "PUB-01",
   "url": "https://bntic.com/normes/controles/pub-01/",
   "domain": "Services publics numériques",
   "title": "Aligner le service sur les référentiels de l’administration",
   "action": "Consulter l’ANPTIC sur l’architecture, l’interopérabilité et les normes communes de l’administration avant le développement.",
   "evidence": "Compte rendu d’échange ou avis de l’ANPTIC.",
   "severity": "important",
   "nature": "expert_required",
   "applies_if_any": [
    "public_sector"
   ],
   "requires_all": [],
   "countries": [
    "BF"
   ],
   "national_law": false,
   "references": [
    {
     "source": "BF_ANPTIC",
     "id": "Missions de l’ANPTIC",
     "label": "Architecture, interopérabilité, normes et référentiels communs de l’administration",
     "condition": "BF",
     "url": "https://www.anptic.gov.bf"
    }
   ]
  },
  {
   "code": "PUB-02",
   "url": "https://bntic.com/normes/controles/pub-02/",
   "domain": "Services publics numériques",
   "title": "Vérifier les exigences de sécurité de l’ANSSI",
   "action": "Demander à l’ANSSI les exigences applicables (homologation, audit par un prestataire accrédité) issues de la loi sur la sécurité des systèmes d’information.",
   "evidence": "Courrier ou avis de l’ANSSI et rapport d’audit le cas échéant.",
   "severity": "critical",
   "nature": "expert_required",
   "applies_if_any": [
    "public_sector"
   ],
   "requires_all": [],
   "countries": [
    "BF"
   ],
   "national_law": false,
   "references": [
    {
     "source": "BF_SSI",
     "id": "Loi n°014-2024/ALT",
     "label": "Exigences à confirmer auprès de l’ANSSI",
     "condition": "BF",
     "url": "https://www.an.bf/loip/7"
    }
   ]
  },
  {
   "code": "PUB-03",
   "url": "https://bntic.com/normes/controles/pub-03/",
   "domain": "Services publics numériques",
   "title": "Créer par acte réglementaire les traitements de sûreté et de sécurité",
   "action": "Si le service traite des données pour la sûreté de l’État, la défense ou la sécurité publique, prévoir l’acte législatif ou réglementaire qui le crée.",
   "evidence": "Référence de l’acte publié.",
   "severity": "important",
   "nature": "legal_attention",
   "applies_if_any": [
    "public_sector"
   ],
   "requires_all": [
    "personal"
   ],
   "countries": [
    "BF"
   ],
   "national_law": false,
   "references": [
    {
     "source": "BF_DATA",
     "id": "Art. 30",
     "label": "Traitements créés par acte législatif ou réglementaire",
     "condition": "BF",
     "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf"
    }
   ]
  },
  {
   "code": "ECO-01",
   "url": "https://bntic.com/normes/controles/eco-01/",
   "domain": "Écoconception et sobriété",
   "title": "Alléger les pages et les échanges",
   "action": "Fixer un budget de poids et de requêtes par page, compresser et dimensionner les images, charger à la demande ce qui n’est pas visible.",
   "evidence": "Mesure du poids et du nombre de requêtes des pages principales.",
   "severity": "recommended",
   "nature": "recommendation",
   "applies_if_any": [
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "RGESN",
     "id": "Référentiel 2024",
     "label": "Objectif : réduire les ressources consommées",
     "condition": null,
     "url": "https://www.arcep.fr/actualites/actualites-et-communiques/detail/n/environnement-rgesn-170524.html"
    }
   ]
  },
  {
   "code": "ECO-02",
   "url": "https://bntic.com/normes/controles/eco-02/",
   "domain": "Écoconception et sobriété",
   "title": "Servir les terminaux anciens et les connexions lentes",
   "action": "Tester sur un téléphone d’entrée de gamme et une connexion 3G ; garder les fonctions essentielles utilisables sans les dernières versions.",
   "evidence": "Résultats de tests sur appareil ancien et réseau bridé.",
   "severity": "recommended",
   "nature": "recommendation",
   "applies_if_any": [
    "mobile",
    "web"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "RGESN",
     "id": "Référentiel 2024",
     "label": "Objectif : allonger la durée de vie des terminaux",
     "condition": null,
     "url": "https://www.arcep.fr/actualites/actualites-et-communiques/detail/n/environnement-rgesn-170524.html"
    }
   ]
  },
  {
   "code": "ECO-03",
   "url": "https://bntic.com/normes/controles/eco-03/",
   "domain": "Écoconception et sobriété",
   "title": "Éviter la captation d’attention",
   "action": "Pas de lecture automatique de vidéos, de défilement infini ni de notifications non sollicitées.",
   "evidence": "Revue des composants d’interface.",
   "severity": "recommended",
   "nature": "recommendation",
   "applies_if_any": [
    "public"
   ],
   "requires_all": [],
   "countries": [],
   "national_law": false,
   "references": [
    {
     "source": "RGESN",
     "id": "Référentiel 2024",
     "label": "Objectif : sobriété face à la captation de l’attention",
     "condition": null,
     "url": "https://www.arcep.fr/actualites/actualites-et-communiques/detail/n/environnement-rgesn-170524.html"
    }
   ]
  }
 ],
 "sources": {
  "BF_DATA": {
   "name": "Loi n°001-2021/AN du 30 mars 2021 portant protection des personnes à l’égard du traitement des données à caractère personnel",
   "short": "Loi n°001-2021/AN (Burkina Faso)",
   "publisher": "Assemblée nationale du Burkina Faso",
   "version": "30 mars 2021",
   "date": "2021-03-30",
   "url": "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf",
   "kind": "Loi",
   "category": "droit",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Obligatoire au Burkina Faso. Contrôlée par la Commission de l’informatique et des libertés (CIL).",
   "status": "En vigueur",
   "identifier": "001-2021/AN",
   "notes": "Texte lu sur la copie publiée par le ministère de la Fonction publique ; copie de l’OIT (NATLEX) en secours. L’article 82 abroge la loi n°010-2004/AN. Aucune obligation de notifier les violations de données n’a été trouvée dans le texte lu. La référence au Journal officiel n’a pas été relue."
  },
  "BF_SSI": {
   "name": "Loi n°014-2024/ALT du 9 juillet 2024 portant sécurité des systèmes d’information au Burkina Faso",
   "short": "Loi n°014-2024/ALT (Burkina Faso)",
   "publisher": "Assemblée législative de transition",
   "version": "9 juillet 2024",
   "date": "2024-07-09",
   "url": "https://www.an.bf/loip/7",
   "kind": "Loi",
   "category": "droit",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Obligatoire au Burkina Faso. Le texte intégral n’a pas été relu : TechNorm ne cite aucun article de cette loi.",
   "status": "Adoptée, contenu à confirmer",
   "identifier": "014-2024/ALT",
   "notes": "Adoption le 9 juillet 2024. Le Conseil des ministres du 9 avril 2025 a modifié le décret de l’ANSSI pour l’appliquer (compte rendu repris par la presse). Date de promulgation et articles non vérifiés : à confirmer auprès de l’ANSSI."
  },
  "BF_TE": {
   "name": "Loi n°045-2009/AN du 10 novembre 2009 portant réglementation des services et des transactions électroniques au Burkina Faso",
   "short": "Loi n°045-2009/AN (Burkina Faso)",
   "publisher": "Assemblée nationale du Burkina Faso",
   "version": "10 novembre 2009",
   "date": "2009-11-10",
   "url": "https://www.arcep.bf/download-category/loi_n-045-2009_trans_electr/",
   "kind": "Loi",
   "category": "droit",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Obligatoire au Burkina Faso.",
   "status": "En vigueur",
   "identifier": "045-2009/AN",
   "notes": "Structure par chapitres vérifiée ; les numéros des articles opérationnels n’ont pas été relus : TechNorm cite les chapitres."
  },
  "BF_CE": {
   "name": "Loi n°061-2008/AN du 27 novembre 2008 portant réglementation générale des réseaux et services de communications électroniques",
   "short": "Loi n°061-2008/AN (Burkina Faso)",
   "publisher": "Assemblée nationale du Burkina Faso",
   "version": "27 novembre 2008",
   "date": "2008-11-27",
   "url": "https://www.arcep.bf/download-category/loi_n061-2008/",
   "kind": "Loi",
   "category": "droit",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Obligatoire au Burkina Faso.",
   "status": "En vigueur",
   "identifier": "061-2008/AN",
   "notes": "Modifiée par la loi n°09-2019/AN du 23 avril 2019. Texte non relu article par article."
  },
  "BF_HANDICAP": {
   "name": "Loi n°012-2010/AN du 1er avril 2010 portant protection et promotion des droits des personnes handicapées",
   "short": "Loi n°012-2010/AN (Burkina Faso)",
   "publisher": "Assemblée nationale du Burkina Faso",
   "version": "1er avril 2010",
   "date": "2010-04-01",
   "url": "https://www.un.org/development/desa/disabilities/wp-content/uploads/sites/15/2019/11/Burkina-Faso_Law-on-the-protection-and-promotion-of-disabled-persons.pdf",
   "kind": "Loi",
   "category": "droit",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Obligatoire au Burkina Faso. Elle ne fixe pas de règle technique pour les sites web : WCAG sert de référence technique.",
   "status": "En vigueur",
   "identifier": "012-2010/AN",
   "notes": "Copie hébergée par l’ONU (DESA), pas le Journal officiel."
  },
  "BF_CP": {
   "name": "Loi n°025-2018/AN du 31 mai 2018 portant Code pénal (dispositions sur la cybercriminalité)",
   "short": "Code pénal 2018 (Burkina Faso)",
   "publisher": "Assemblée nationale du Burkina Faso",
   "version": "31 mai 2018",
   "date": "2018-05-31",
   "url": "https://rm.coe.int/0900001680989f00",
   "kind": "Loi",
   "category": "droit",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Obligatoire au Burkina Faso.",
   "status": "En vigueur",
   "identifier": "025-2018/AN",
   "notes": "Lien vers l’analyse du Conseil de l’Europe ; texte du Livre VII et numéros d’articles non relus."
  },
  "BF_ANPTIC": {
   "name": "Agence nationale de promotion des TIC (ANPTIC) : gouvernance des systèmes d’information de l’État",
   "short": "ANPTIC (Burkina Faso)",
   "publisher": "Gouvernement du Burkina Faso",
   "version": "Missions consultées en octobre 2026",
   "date": "2026-10",
   "url": "https://www.anptic.gov.bf",
   "kind": "Institution publique",
   "category": "institution",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Agence publique de référence pour les projets numériques de l’État ; ses référentiels s’imposent selon les textes qui les adoptent.",
   "status": "En activité",
   "identifier": "",
   "notes": "Liste et statut juridique des référentiels publiés non relus : à demander à l’ANPTIC."
  },
  "BF_CIL": {
   "name": "Commission de l’informatique et des libertés (CIL) du Burkina Faso",
   "short": "CIL (Burkina Faso)",
   "publisher": "Commission de l’informatique et des libertés",
   "version": "Délibérations consultées en octobre 2026",
   "date": "2026-10",
   "url": "https://cil.bf",
   "kind": "Autorité administrative",
   "category": "institution",
   "jurisdiction": "Burkina Faso",
   "access": "Gratuit",
   "legal_value": "Ses décisions et délibérations s’imposent aux responsables de traitement au Burkina Faso.",
   "status": "En activité",
   "identifier": "",
   "notes": "La CIL propose un formulaire de formalités à télécharger ; une déclaration en ligne n’a pas été trouvée."
  },
  "UEMOA_PAY": {
   "name": "Règlement n°15/2002/CM/UEMOA du 19 septembre 2002 relatif aux systèmes de paiement dans les États membres de l’UEMOA",
   "short": "Règlement n°15/2002/CM/UEMOA",
   "publisher": "Conseil des ministres de l’UEMOA",
   "version": "19 septembre 2002",
   "date": "2002-09-19",
   "url": "https://www.bceao.int/sites/default/files/inline-files/chapitre_5_-_reglementation_relative_aux_systemes_et_moyens_de_paiement.pdf",
   "kind": "Règlement communautaire",
   "category": "droit",
   "jurisdiction": "UEMOA",
   "access": "Gratuit",
   "legal_value": "Directement applicable dans les États membres de l’UEMOA.",
   "status": "En vigueur",
   "identifier": "15/2002/CM/UEMOA",
   "notes": "Articles 17 à 30 lus dans le recueil de la BCEAO."
  },
  "CEDEAO_DP": {
   "name": "Acte additionnel A/SA.1/01/10 du 16 février 2010 relatif à la protection des données à caractère personnel dans l’espace de la CEDEAO",
   "short": "Acte additionnel CEDEAO A/SA.1/01/10",
   "publisher": "Conférence des chefs d’État et de gouvernement de la CEDEAO",
   "version": "16 février 2010",
   "date": "2010-02-16",
   "url": "https://www.arcep.bf/download/cedeao-16-02-10-acte_2010-01/",
   "kind": "Acte additionnel",
   "category": "droit",
   "jurisdiction": "CEDEAO",
   "access": "Gratuit",
   "legal_value": "Engage les États membres de la CEDEAO. Le retrait du Burkina Faso, du Mali et du Niger a pris effet le 29 janvier 2025.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Articles non relus (PDF intégral inaccessible lors de la vérification)."
  },
  "CEDEAO_TE": {
   "name": "Acte additionnel A/SA.2/01/10 du 16 février 2010 portant transactions électroniques dans l’espace de la CEDEAO",
   "short": "Acte additionnel CEDEAO A/SA.2/01/10",
   "publisher": "Conférence des chefs d’État et de gouvernement de la CEDEAO",
   "version": "16 février 2010",
   "date": "2010-02-16",
   "url": "https://www.osiris.sn/Acte-Additionnel-A-SA-SA-2-01-10,8792.html",
   "kind": "Acte additionnel",
   "category": "droit",
   "jurisdiction": "CEDEAO",
   "access": "Gratuit",
   "legal_value": "Engage les États membres de la CEDEAO.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Fiche secondaire (OSIRIS) ; contenu article par article non relu."
  },
  "CEDEAO_CYBER": {
   "name": "Directive C/DIR/1/08/11 du 19 août 2011 portant lutte contre la cybercriminalité dans l’espace de la CEDEAO",
   "short": "Directive CEDEAO C/DIR/1/08/11",
   "publisher": "Conseil des ministres de la CEDEAO",
   "version": "19 août 2011",
   "date": "2011-08-19",
   "url": "https://www.arcep.bf/textes-internationaux/",
   "kind": "Directive",
   "category": "droit",
   "jurisdiction": "CEDEAO",
   "access": "Gratuit",
   "legal_value": "Doit être transposée par les États membres.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Texte intégral et délai de transposition non relus."
  },
  "UA_MALABO": {
   "name": "Convention de l’Union africaine sur la cybersécurité et la protection des données à caractère personnel (Malabo, 27 juin 2014)",
   "short": "Convention de Malabo (UA)",
   "publisher": "Union africaine",
   "version": "27 juin 2014, en vigueur depuis le 8 juin 2023",
   "date": "2014-06-27",
   "url": "https://au.int/en/treaties/african-union-convention-cyber-security-and-personal-data-protection",
   "kind": "Convention",
   "category": "droit",
   "jurisdiction": "Union africaine",
   "access": "Gratuit",
   "legal_value": "Engage les seuls États parties. Selon la liste officielle de l’UA du 2 février 2026 (21 signatures, 20 ratifications), le Burkina Faso ne l’a ni signée ni ratifiée.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Statut par pays : consulter la liste de l’UA."
  },
  "UA_DATA": {
   "name": "Cadre politique de l’Union africaine sur les données (AU Data Policy Framework)",
   "short": "Cadre de l’UA sur les données",
   "publisher": "Union africaine",
   "version": "Publié le 28 juillet 2022",
   "date": "2022-07-28",
   "url": "https://au.int/en/documents/20220728/au-data-policy-framework",
   "kind": "Cadre politique",
   "category": "recommandation",
   "jurisdiction": "Union africaine",
   "access": "Gratuit",
   "legal_value": "Non contraignant.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "UA_IA": {
   "name": "Stratégie continentale de l’Union africaine sur l’intelligence artificielle",
   "short": "Stratégie IA de l’UA",
   "publisher": "Union africaine",
   "version": "Approuvée les 18-19 juillet 2024",
   "date": "2024-07-19",
   "url": "https://au.int/en/documents/20240809/continental-artificial-intelligence-strategy",
   "kind": "Stratégie",
   "category": "recommandation",
   "jurisdiction": "Union africaine",
   "access": "Gratuit",
   "legal_value": "Non contraignante.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "WCAG22": {
   "name": "Web Content Accessibility Guidelines (WCAG) 2.2",
   "short": "WCAG 2.2",
   "publisher": "W3C",
   "version": "2.2 (Recommandation du 5 oct. 2023, mise à jour le 12 déc. 2024)",
   "date": "2024-12-12",
   "url": "https://www.w3.org/TR/WCAG22/",
   "kind": "Recommandation W3C",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Standard technique. Rendu obligatoire par certains droits nationaux (par exemple via EN 301 549 en Europe).",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Le critère 4.1.1 (Parsing) a été retiré en 2.2. WCAG 3.0 n’est qu’un brouillon de travail : ne pas l’utiliser comme référence."
  },
  "EN301549": {
   "name": "EN 301 549 : exigences d’accessibilité des produits et services TIC",
   "short": "EN 301 549",
   "publisher": "ETSI / CEN / CENELEC",
   "version": "V4.1.1 (2 sept. 2026) ; référence légale UE : V3.2.1",
   "date": "2026-09-02",
   "url": "https://www.etsi.org/deliver/etsi_en/301500_301599/301549/04.01.01_60/",
   "kind": "Norme européenne",
   "category": "norme",
   "jurisdiction": "Union européenne",
   "access": "Gratuit",
   "legal_value": "Norme harmonisée en Europe. La V3.2.1 reste la référence légale tant que la V4.1.1 n’est pas citée au Journal officiel de l’UE.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Numéros et intitulés des clauses de la V4.1.1 non relus."
  },
  "CRPD": {
   "name": "Convention des Nations unies relative aux droits des personnes handicapées",
   "short": "Convention ONU (CDPH)",
   "publisher": "Nations unies (HCDH)",
   "version": "Adoptée le 13 décembre 2006, ratifiée par le Burkina Faso le 23 juillet 2009",
   "date": "2006-12-13",
   "url": "https://www.ohchr.org/en/instruments-mechanisms/instruments/convention-rights-persons-disabilities",
   "kind": "Traité international",
   "category": "droit",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Engage les États parties, dont le Burkina Faso (ratification du 23 juillet 2009).",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "ASVS": {
   "name": "OWASP Application Security Verification Standard (ASVS)",
   "short": "OWASP ASVS 5.0",
   "publisher": "OWASP Foundation",
   "version": "5.0.0 (mai 2025)",
   "date": "2025-05",
   "url": "https://github.com/OWASP/ASVS",
   "kind": "Standard ouvert",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Standard volontaire, souvent exigé dans les cahiers des charges et audits.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Chapitres lus dans le CSV officiel 5.0.0. La page owasp.org du projet affichait encore l’ancienne version : le dépôt officiel fait foi."
  },
  "TOP10": {
   "name": "OWASP Top 10:2025",
   "short": "OWASP Top 10:2025",
   "publisher": "OWASP Foundation",
   "version": "2025 (remplace 2021)",
   "date": "2025-11",
   "url": "https://top10.owasp.org/2025/",
   "kind": "Standard de sensibilisation",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Document de sensibilisation, pas une norme de vérification : utiliser l’ASVS pour vérifier.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Jour exact de publication non vérifié (novembre 2025). L’ancienne adresse owasp.org/Top10/2025/ redirige vers top10.owasp.org."
  },
  "API_TOP10": {
   "name": "OWASP API Security Top 10 (édition 2023)",
   "short": "OWASP API Top 10 2023",
   "publisher": "OWASP Foundation",
   "version": "2023",
   "date": "2023",
   "url": "https://owasp.org/API-Security/editions/2023/en/0x11-t10/",
   "kind": "Standard de sensibilisation",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Document de sensibilisation volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "MASVS": {
   "name": "OWASP Mobile Application Security Verification Standard (MASVS)",
   "short": "OWASP MASVS 2.1",
   "publisher": "OWASP Foundation",
   "version": "v2.1.0",
   "date": "2024-01-18",
   "url": "https://mas.owasp.org/MASVS/",
   "kind": "Standard ouvert",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Standard volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Date de la v2.1.0 tirée de l’annonce officielle ; à reconfirmer."
  },
  "OSHP": {
   "name": "OWASP Secure Headers Project",
   "short": "OWASP Secure Headers",
   "publisher": "OWASP Foundation",
   "version": "Valeurs relues le 4 oct. 2026",
   "date": "2026-10-04",
   "url": "https://owasp.org/www-project-secure-headers/",
   "kind": "Bonnes pratiques",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Bonne pratique volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "CSF20": {
   "name": "NIST Cybersecurity Framework (CSF) 2.0, publication NIST CSWP 29",
   "short": "NIST CSF 2.0",
   "publisher": "NIST (États-Unis)",
   "version": "2.0 (26 févr. 2024)",
   "date": "2024-02-26",
   "url": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final",
   "kind": "Cadre volontaire",
   "category": "cadre",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Cadre volontaire utilisable par toute organisation.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "CIS": {
   "name": "CIS Critical Security Controls v8.1",
   "short": "CIS Controls v8.1",
   "publisher": "Center for Internet Security",
   "version": "8.1 (25 juin 2024)",
   "date": "2024-06-25",
   "url": "https://www.cisecurity.org/controls/v8-1",
   "kind": "Cadre volontaire",
   "category": "cadre",
   "jurisdiction": "International",
   "access": "Gratuit (sur inscription)",
   "legal_value": "Cadre volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "SP80063B": {
   "name": "NIST SP 800-63B-4 : Authentication and Authenticator Management",
   "short": "NIST SP 800-63B-4",
   "publisher": "NIST (États-Unis)",
   "version": "Révision 4 (31 juil. 2025)",
   "date": "2025-07-31",
   "url": "https://csrc.nist.gov/pubs/sp/800/63/b/4/final",
   "kind": "Recommandation",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Obligatoire pour les agences fédérales américaines ; référence de bonnes pratiques ailleurs.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "ISO27001": {
   "name": "ISO/IEC 27001:2022, systèmes de management de la sécurité de l’information",
   "short": "ISO/IEC 27001:2022",
   "publisher": "ISO / IEC",
   "version": "2022 + amendement 1:2024",
   "date": "2022-10-25",
   "url": "https://www.iso.org/standard/27001",
   "kind": "Norme ISO certifiable",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Payant",
   "legal_value": "Volontaire ; certifiable par un organisme accrédité.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Norme payante : TechNorm ne cite que des notions générales, jamais le contenu de l’annexe A."
  },
  "ISO27701": {
   "name": "ISO/IEC 27701:2025, systèmes de management de la protection de la vie privée",
   "short": "ISO/IEC 27701:2025",
   "publisher": "ISO / IEC",
   "version": "2025 (publiée en octobre 2025 ; l’édition 2019 est retirée)",
   "date": "2025-10",
   "url": "https://www.iso.org/standard/27701",
   "kind": "Norme ISO",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Payant",
   "legal_value": "Volontaire ; certifiable.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "ISO42001": {
   "name": "ISO/IEC 42001:2023, système de management de l’intelligence artificielle",
   "short": "ISO/IEC 42001:2023",
   "publisher": "ISO / IEC",
   "version": "2023 (18 déc. 2023)",
   "date": "2023-12-18",
   "url": "https://www.iso.org/standard/42001",
   "kind": "Norme ISO",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Payant",
   "legal_value": "Volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "ISO22301": {
   "name": "ISO 22301:2019, systèmes de management de la continuité d’activité",
   "short": "ISO 22301:2019",
   "publisher": "ISO",
   "version": "2019 + amendement 1:2024",
   "date": "2019",
   "url": "https://www.iso.org/standard/75106.html",
   "kind": "Norme ISO",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Payant",
   "legal_value": "Volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "PCIDSS": {
   "name": "Payment Card Industry Data Security Standard (PCI DSS) v4.0.1",
   "short": "PCI DSS v4.0.1",
   "publisher": "PCI Security Standards Council",
   "version": "4.0.1 (11 juin 2024)",
   "date": "2024-06-11",
   "url": "https://www.pcisecuritystandards.org/document_library/",
   "kind": "Standard sectoriel",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit (licence)",
   "legal_value": "Obligation contractuelle imposée par les réseaux de cartes. Exigences « futures » applicables depuis le 31 mars 2025.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "RFC9846": {
   "name": "RFC 9846 : The Transport Layer Security (TLS) Protocol Version 1.3",
   "short": "TLS 1.3 (RFC 9846)",
   "publisher": "IETF",
   "version": "RFC 9846 (juillet 2026, remplace la RFC 8446)",
   "date": "2026-07",
   "url": "https://www.rfc-editor.org/info/rfc9846",
   "kind": "Standard Internet",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Standard technique.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "RFC6797": {
   "name": "RFC 6797 : HTTP Strict Transport Security (HSTS)",
   "short": "HSTS (RFC 6797)",
   "publisher": "IETF",
   "version": "RFC 6797 (nov. 2012)",
   "date": "2012-11",
   "url": "https://www.rfc-editor.org/info/rfc6797",
   "kind": "Standard Internet",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Standard technique.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "RFC9110": {
   "name": "RFC 9110 : HTTP Semantics",
   "short": "HTTP (RFC 9110)",
   "publisher": "IETF",
   "version": "RFC 9110 / STD 97 (juin 2022)",
   "date": "2022-06",
   "url": "https://www.rfc-editor.org/rfc/rfc9110.html",
   "kind": "Standard Internet",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Standard technique.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "OPENAPI": {
   "name": "OpenAPI Specification",
   "short": "OpenAPI 3.2",
   "publisher": "OpenAPI Initiative (Linux Foundation)",
   "version": "3.2.1 (10 sept. 2026), correctif de la 3.2.0 du 19 sept. 2025",
   "date": "2026-09-10",
   "url": "https://spec.openapis.org/oas/latest.html",
   "kind": "Standard ouvert",
   "category": "norme",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Standard volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "UNESCO_AI": {
   "name": "UNESCO, Recommandation sur l’éthique de l’intelligence artificielle",
   "short": "Recommandation UNESCO sur l’IA",
   "publisher": "UNESCO",
   "version": "Adoptée le 23 nov. 2021",
   "date": "2021-11-23",
   "url": "https://www.unesco.org/en/artificial-intelligence/recommendation-ethics",
   "kind": "Recommandation internationale",
   "category": "recommandation",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Non contraignante ; adoptée par les États membres de l’UNESCO.",
   "status": "En vigueur",
   "identifier": "",
   "notes": ""
  },
  "OECD_AI": {
   "name": "Recommandation du Conseil de l’OCDE sur l’intelligence artificielle",
   "short": "Principes de l’OCDE sur l’IA",
   "publisher": "OCDE",
   "version": "2019, révisée en mai 2024",
   "date": "2024-05",
   "url": "https://www.oecd.org/en/about/news/press-releases/2024/05/oecd-updates-ai-principles-to-stay-abreast-of-rapid-technological-developments.html",
   "kind": "Recommandation intergouvernementale",
   "category": "recommandation",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Non contraignante.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Liste numérotée des principes non relue ; lien vers le communiqué officiel de révision."
  },
  "AIRMF": {
   "name": "NIST AI Risk Management Framework (AI RMF 1.0) et profil IA générative NIST AI 600-1",
   "short": "NIST AI RMF",
   "publisher": "NIST (États-Unis)",
   "version": "1.0 (26 janv. 2023) ; profil IA générative du 26 juil. 2024",
   "date": "2023-01-26",
   "url": "https://www.nist.gov/itl/ai-risk-management-framework",
   "kind": "Cadre volontaire",
   "category": "cadre",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Cadre volontaire.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Le NIST annonce une révision du cadre."
  },
  "EU_AI_ACT": {
   "name": "Règlement (UE) 2024/1689 sur l’intelligence artificielle (AI Act)",
   "short": "AI Act (UE) 2024/1689",
   "publisher": "Parlement européen et Conseil de l’UE",
   "version": "2024/1689, modifié par le règlement (UE) 2026/1744",
   "date": "2024-06-13",
   "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj",
   "kind": "Règlement",
   "category": "droit",
   "jurisdiction": "Union européenne",
   "access": "Gratuit",
   "legal_value": "Obligatoire pour les systèmes d’IA mis sur le marché ou utilisés dans l’UE, y compris par des fournisseurs africains.",
   "status": "En vigueur",
   "identifier": "2024/1689",
   "notes": "Le règlement (UE) 2026/1744 (« Omnibus numérique » sur l’IA), publié au JOUE le 24 juillet 2026 et en vigueur le 27 juillet 2026, reporte les obligations « haut risque » au 2 décembre 2027 (annexe III) et au 2 août 2028 (annexe I). L’article 50 (transparence) s’applique depuis le 2 août 2026 ; les systèmes génératifs déjà sur le marché ont jusqu’au 2 décembre 2026 pour le marquage lisible par machine (art. 50, § 2). Deux pratiques interdites s’ajoutent le 2 décembre 2026 : images, vidéos ou voix intimes réalistes d’une personne identifiable sans son consentement explicite, et contenus pédocriminels."
  },
  "GDPR": {
   "name": "Règlement (UE) 2016/679, règlement général sur la protection des données (RGPD)",
   "short": "RGPD (UE) 2016/679",
   "publisher": "Parlement européen et Conseil de l’UE",
   "version": "2016/679",
   "date": "2016-04-27",
   "url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj",
   "kind": "Règlement",
   "category": "droit",
   "jurisdiction": "Union européenne",
   "access": "Gratuit",
   "legal_value": "Obligatoire dans l’UE et, sous conditions, pour des organismes africains ciblant le public européen.",
   "status": "En vigueur",
   "identifier": "2016/679",
   "notes": "Texte des articles non rechargé lors de la revue ; références d’articles usuelles."
  },
  "CNIL_SECU": {
   "name": "CNIL, Guide de la sécurité des données personnelles (édition 2024)",
   "short": "Guide sécurité CNIL 2024",
   "publisher": "Commission nationale de l’informatique et des libertés (France)",
   "version": "Édition du 26 mars 2024",
   "date": "2024-03-26",
   "url": "https://www.cnil.fr/fr/guide-de-la-securite-des-donnees-personnelles-nouvelle-edition-2024",
   "kind": "Guide pratique",
   "category": "recommandation",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Non contraignant hors de France ; référence méthodologique francophone largement reprise par les autorités africaines.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Numéros de fiches non cités : TechNorm renvoie au guide dans son ensemble."
  },
  "RGESN": {
   "name": "Référentiel général d’écoconception de services numériques (RGESN)",
   "short": "RGESN 2024",
   "publisher": "Arcep et Arcom (France)",
   "version": "2024 (17 mai 2024)",
   "date": "2024-05-17",
   "url": "https://www.arcep.fr/actualites/actualites-et-communiques/detail/n/environnement-rgesn-170524.html",
   "kind": "Référentiel public",
   "category": "cadre",
   "jurisdiction": "International",
   "access": "Gratuit",
   "legal_value": "Volontaire hors de France ; utile comme grille de bonnes pratiques.",
   "status": "En vigueur",
   "identifier": "",
   "notes": "Identifiants des critères non relus : TechNorm cite le référentiel sans numéro de critère."
  }
 },
 "countries": {
  "BF": {
   "name": "Burkina Faso",
   "law": "Loi portant protection des personnes à l’égard du traitement des données à caractère personnel",
   "number": "Loi n°001-2021/AN",
   "date": "30 mars 2021",
   "status": "En vigueur",
   "authority": "Commission de l’informatique et des libertés",
   "acronym": "CIL",
   "authority_url": "https://cil.bf",
   "formalities": "Quatre régimes auprès de la CIL : demande d’avis, autorisation, déclaration normale ou déclaration simplifiée (art. 26 à 28, 31, 33). L’autorisation vise notamment la biométrie et la génétique dans le secteur privé, les infractions, les interconnexions, les identifiants, les décisions automatisées et les transferts. La CIL propose un formulaire à télécharger.",
   "dpo": "Facultatif : le responsable « peut » désigner un délégué (art. 29).",
   "breach": "Aucune obligation de notification des violations n’a été trouvée dans le texte ; l’obligation de sécurité (art. 10, 23, 24) s’applique.",
   "transfers": "Autorisés seulement vers un pays ou une organisation au niveau de protection adéquat, après autorisation de la CIL, avec des dérogations (consentement, contrat, intérêt vital…) (art. 42 à 44).",
   "remarks": "Sanctions de la CIL : avertissement, mise en demeure, injonction, verrouillage, amende forfaitaire de 1 % du chiffre d’affaires HT (5 % en récidive), retrait d’autorisation (art. 63, 65). Amendes par manquement aux art. 67 à 75, par exemple 5 à 20 millions FCFA pour défaut de formalités (art. 68). La loi abroge la loi n°010-2004/AN (art. 82).",
   "sources": [
    "https://www.fonction-publique.gov.bf/fileadmin/user_upload/storage/22-08-2021-C2-LOI-N__001-2021_AN_portant_protection_des_personnes.pdf",
    "https://cil.bf/?page_id=1062"
   ],
   "groups": [
    "UEMOA"
   ],
   "in_force": true
  },
  "CI": {
   "name": "Côte d’Ivoire",
   "law": "Loi relative à la protection des données à caractère personnel",
   "number": "Loi n°2013-450",
   "date": "19 juin 2013",
   "status": "En vigueur",
   "authority": "Autorité de Régulation des Télécommunications/TIC de Côte d’Ivoire (autorité de protection)",
   "acronym": "ARTCI",
   "authority_url": "https://www.autoritedeprotection.ci",
   "formalities": "Déclaration préalable pour la plupart des traitements ; autorisation préalable pour les données génétiques et biométriques et pour les transferts vers des pays tiers.",
   "dpo": "Facultatif (« correspondant à la protection ») ; sa désignation dispense de déclaration, sauf transferts.",
   "breach": "Aucune obligation légale de notifier l’autorité selon DLA Piper.",
   "transfers": "Autorisation préalable de l’ARTCI ; pays au niveau de protection supérieur ou équivalent.",
   "remarks": "Cybersécurité : l’ordonnance n°2024-950 du 30 octobre 2024 sur la sécurisation de l’espace numérique, ratifiée en avril 2025, confie à l’ANSSI ivoirienne l’audit, la certification et la réponse aux incidents, jusque-là attribués à l’ARTCI.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=CI",
    "https://www.autoritedeprotection.ci"
   ],
   "groups": [
    "CEDEAO",
    "UEMOA"
   ],
   "in_force": true
  },
  "SN": {
   "name": "Sénégal",
   "law": "Loi sur la protection des données à caractère personnel",
   "number": "Loi n°2008-12",
   "date": "25 janvier 2008",
   "status": "En vigueur",
   "authority": "Commission de Protection des Données Personnelles",
   "acronym": "CDP",
   "authority_url": "https://www.cdp.sn",
   "formalities": "Déclaration préalable pour la plupart des traitements ; autorisation pour les données génétiques, les casiers judiciaires, les interconnexions, le numéro d’identification national, la biométrie et les traitements d’intérêt public (décret d’application 2008-721).",
   "dpo": "Facultatif pour les entreprises privées (DLA Piper).",
   "breach": "Pas d’obligation de notification des violations (DLA Piper).",
   "transfers": "Interdits sauf vers un pays au niveau de protection suffisant ; notification préalable à la CDP.",
   "remarks": "Une réforme de la loi de 2008 est annoncée depuis plusieurs années ; aucune nouvelle loi promulguée n’a été confirmée. En août 2026, l’Assemblée nationale a adopté une loi sur les infrastructures d’information critiques et la sécurité numérique (autorité nationale de cybersécurité, signalement des incidents en 24 heures pour les opérateurs critiques) ; promulgation non vérifiée.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=SN"
   ],
   "groups": [
    "CEDEAO",
    "UEMOA"
   ],
   "in_force": true
  },
  "ML": {
   "name": "Mali",
   "law": "Loi portant protection des données à caractère personnel",
   "number": "Loi n°2013-015",
   "date": "21 mai 2013",
   "status": "En vigueur",
   "authority": "Autorité de Protection des Données à Caractère Personnel",
   "acronym": "APDP",
   "authority_url": "https://www.apdp.ml",
   "formalities": "Déclarations obligatoires à l’APDP ; autorisations pour les interconnexions et les transferts. L’APDP tient un registre public.",
   "dpo": "Aucun délégué ou correspondant n’est prévu dans la traduction du texte consultée.",
   "breach": "Aucune obligation de notifier les violations trouvée dans la traduction du texte consultée ; obligation de sécurité (art. 8).",
   "transfers": "Vers un État assurant un niveau de protection suffisant ou sur décision de l’APDP (art. 11) ; information des personnes sur les transferts envisagés (art. 15).",
   "remarks": "Texte lu dans une traduction automatique (NIH ClinRegs), pas au Journal officiel : numéros d’articles à confirmer. Modifications de 2017 signalées, non relues. Site de l’APDP non ouvert lors de la vérification.",
   "sources": [
    "https://primature.ml/apdp-autorite-de-protection-des-donnees-a-caractere-personnel/",
    "https://clinregs.niaid.nih.gov/sites/default/files/documents/mali/Mali-DPL_GoogleTranslation.pdf"
   ],
   "groups": [
    "UEMOA"
   ],
   "in_force": true
  },
  "NE": {
   "name": "Niger",
   "law": "Loi relative à la protection des données à caractère personnel (modifiée en 2023 et 2024)",
   "number": "Loi n°2022-59",
   "date": "16 décembre 2022",
   "status": "En vigueur",
   "authority": "Haute Autorité de Protection des Données à Caractère Personnel",
   "acronym": "HAPDP",
   "authority_url": "https://www.hapdp.ne",
   "formalities": "Notification préalable à la HAPDP et rapport annuel.",
   "dpo": "Facultatif (« correspondant à la protection des données »).",
   "breach": "« Sans délai » à la HAPDP (art. 83) ; information des personnes si le risque est élevé.",
   "transfers": "Uniquement vers des pays au niveau de protection supérieur ou équivalent.",
   "remarks": "",
   "sources": [
    "https://www.hapdp.ne/legislation-nationale",
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=NE"
   ],
   "groups": [
    "UEMOA"
   ],
   "in_force": true
  },
  "BJ": {
   "name": "Bénin",
   "law": "Code du numérique, livre V (données à caractère personnel)",
   "number": "Loi n°2017-20",
   "date": "20 avril 2018",
   "status": "En vigueur",
   "authority": "Autorité de Protection des Données à caractère Personnel",
   "acronym": "APDP",
   "authority_url": "",
   "formalities": "Notification préalable de la plupart des traitements, dispense si un délégué est désigné ; registre des activités obligatoire.",
   "dpo": "Obligatoire pour les responsables publics et en cas de surveillance ou de données sensibles à grande échelle.",
   "breach": "« Sans délai » à l’APDP.",
   "transfers": "Vers des pays offrant un niveau de protection adéquat.",
   "remarks": "Modifié par la loi 2020-35. Site de l’APDP non joignable lors de la vérification.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=BJ"
   ],
   "groups": [
    "CEDEAO",
    "UEMOA"
   ],
   "in_force": true
  },
  "TG": {
   "name": "Togo",
   "law": "Loi relative à la protection des données à caractère personnel",
   "number": "Loi n°2019-014",
   "date": "29 octobre 2019",
   "status": "En vigueur",
   "authority": "Instance de Protection des Données à Caractère Personnel",
   "acronym": "IPDCP",
   "authority_url": "https://ipdcp.tg",
   "formalities": "Déclaration préalable (récépissé sous 1 mois) ; autorisation pour les données génétiques, de santé, pénales et biométriques ; régime de la vidéosurveillance lancé en 2025. La désignation d’un correspondant dispense des formalités, sauf transfert vers un pays tiers (art. 5).",
   "dpo": "Facultatif : un « correspondant à la protection des données » peut être désigné et notifié à l’IPDCP (art. 5, 75 à 77).",
   "breach": "Aucune obligation de notifier les violations n’a été trouvée dans le texte publié au Journal officiel ; l’obligation de sécurité (art. 52) s’applique.",
   "transfers": "Vers un pays assurant une protection suffisante, avec information préalable de l’IPDCP (art. 28) ; dérogations ponctuelles (art. 29) ; autorisation motivée de l’IPDCP sinon (art. 30).",
   "remarks": "Texte lu dans le Journal officiel du 29 octobre 2019 (copie de l’AFAPDP).",
   "sources": [
    "https://ipdcp.tg/ipdcp/cadre-juridique/",
    "https://www.afapdp.org/wp-content/uploads/2020/02/TOGO-JOS_29_10_2019-64E-ANNEE-N°26-TER.pdf"
   ],
   "groups": [
    "CEDEAO",
    "UEMOA"
   ],
   "in_force": true
  },
  "GN": {
   "name": "Guinée",
   "law": "Loi relative à la cybersécurité et à la protection des données à caractère personnel",
   "number": "Loi L/2016/037/AN",
   "date": "28 juillet 2016",
   "status": "Partiellement appliquée",
   "authority": "Autorité de protection prévue par la loi",
   "acronym": "",
   "authority_url": "",
   "formalities": "Déclaration ou autorisation prévues ; décret d’application non pris selon DLA Piper.",
   "dpo": "Facultatif.",
   "breach": "",
   "transfers": "Autorisation préalable ; pays au niveau de protection supérieur ou équivalent.",
   "remarks": "Un décret d’avril 2025 fixe des conditions de sécurité des données (numéro non vérifié). Existence d’une autorité opérationnelle non confirmée.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=GN"
   ],
   "groups": [
    "CEDEAO"
   ],
   "in_force": false
  },
  "CM": {
   "name": "Cameroun",
   "law": "Loi relative à la protection des données à caractère personnel",
   "number": "Loi n°2024/017",
   "date": "23 décembre 2024",
   "status": "Partiellement appliquée",
   "authority": "Autorité de Protection des Données à Caractère Personnel",
   "acronym": "APDP",
   "authority_url": "",
   "formalities": "Avis préalable, déclaration préalable et autorisation préalable (art. 19) ; registre des traitements obligatoire (art. 39).",
   "dpo": "Sources divergentes sur son caractère obligatoire.",
   "breach": "« Immédiatement » à l’autorité et aux personnes concernées (DLA Piper).",
   "transfers": "Autorisation préalable de l’autorité et niveau de protection adéquat.",
   "remarks": "Période de mise en conformité terminée le 23 juin 2026 ; en juillet 2026, l’autorité n’était pas opérationnelle et les décrets d’application non publiés.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=CM"
   ],
   "groups": [],
   "in_force": false
  },
  "GA": {
   "name": "Gabon",
   "law": "Loi relative à la protection des données à caractère personnel, modifiée par la loi n°025/2023",
   "number": "Loi n°001/2011",
   "date": "25 septembre 2011",
   "status": "En vigueur",
   "authority": "Autorité pour la Protection des Données Personnelles et de la Vie Privée",
   "acronym": "APDPVP",
   "authority_url": "https://www.apdpvp.ga",
   "formalities": "Déclaration ou autorisation selon le risque ; autorisation pour les données pénales et la biométrie à grande échelle.",
   "dpo": "Obligatoire pour les autorités publiques et en cas de surveillance ou de données sensibles à grande échelle (art. 130).",
   "breach": "« Sans délai » à l’APDPVP (art. 142) ; information des personnes si le risque est élevé.",
   "transfers": "Interdits sauf pays adéquat ou exception (consentement exprès…).",
   "remarks": "",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=GA",
    "https://www.apdpvp.ga/"
   ],
   "groups": [],
   "in_force": true
  },
  "CD": {
   "name": "République démocratique du Congo",
   "law": "Code du numérique (ordonnance-loi)",
   "number": "Ordonnance-loi n°23/010",
   "date": "13 mars 2023",
   "status": "Partiellement appliqué",
   "authority": "Autorité de protection des données (fonctions confiées au régulateur des télécommunications)",
   "acronym": "",
   "authority_url": "",
   "formalities": "Déclaration pour tous les traitements ; autorisation pour les données sensibles et les transferts. Procédures précisées par le régulateur en mai 2026.",
   "dpo": "Facultatif.",
   "breach": "« Sans délai » à l’autorité ; modalités floues.",
   "transfers": "Vers des pays offrant une protection égale ou meilleure.",
   "remarks": "L’autorité prévue n’est pas créée ; la délégation au régulateur des télécommunications est contestée.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=CD"
   ],
   "groups": [],
   "in_force": false
  },
  "MA": {
   "name": "Maroc",
   "law": "Loi relative à la protection des personnes physiques à l’égard du traitement des données à caractère personnel",
   "number": "Loi n°09-08",
   "date": "18 février 2009",
   "status": "En vigueur",
   "authority": "Commission Nationale de Contrôle de la Protection des Données à Caractère Personnel",
   "acronym": "CNDP",
   "authority_url": "https://www.cndp.ma",
   "formalities": "Déclaration ; autorisation préalable pour les données sensibles et génétiques, pénales, le numéro de CIN et les interconnexions ; autorisation de transfert.",
   "dpo": "Aucune obligation (DLA Piper).",
   "breach": "Aucune obligation (DLA Piper).",
   "transfers": "Autorisation préalable de la CNDP ; pays adéquat sauf exception (consentement exprès…).",
   "remarks": "",
   "sources": [
    "https://www.cndp.ma/formalites/",
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=MA"
   ],
   "groups": [],
   "in_force": true
  },
  "TN": {
   "name": "Tunisie",
   "law": "Loi organique relative à la protection des données à caractère personnel",
   "number": "Loi organique n°2004-63",
   "date": "27 juillet 2004",
   "status": "En vigueur",
   "authority": "Instance Nationale de Protection des Données Personnelles",
   "acronym": "INPDP",
   "authority_url": "",
   "formalities": "Déclaration préalable pour tout traitement ; autorisation pour les données sensibles et les transferts internationaux.",
   "dpo": "Non obligatoire en général ; obligatoire dans les établissements de santé.",
   "breach": "Pas de délai prévu.",
   "transfers": "Interdits sauf protection adéquate, avec autorisation préalable de l’INPDP.",
   "remarks": "Site de l’INPDP injoignable lors de la vérification.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=TN"
   ],
   "groups": [],
   "in_force": true
  },
  "DZ": {
   "name": "Algérie",
   "law": "Loi relative à la protection des personnes physiques dans le traitement des données à caractère personnel, modifiée par la loi n°25-11",
   "number": "Loi n°18-07",
   "date": "10 juin 2018",
   "status": "En vigueur",
   "authority": "Autorité Nationale de Protection des Données à caractère Personnel",
   "acronym": "ANPDP",
   "authority_url": "",
   "formalities": "Déclaration préalable via le portail numérique ; autorisation pour les transferts internationaux, la communication à des tiers et les interconnexions.",
   "dpo": "Obligatoire pour les organismes publics et privés depuis la loi n°25-11 du 24 juillet 2025.",
   "breach": "Dans les 5 jours à l’autorité et aux personnes concernées pour les prestataires de services (DLA Piper).",
   "transfers": "Autorisation de l’ANPDP sauf protection adéquate ou exception.",
   "remarks": "Site de l’ANPDP non ouvert directement lors de la vérification.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=DZ"
   ],
   "groups": [],
   "in_force": true
  },
  "GH": {
   "name": "Ghana",
   "law": "Data Protection Act, 2012",
   "number": "Act 843",
   "date": "2012",
   "status": "En vigueur",
   "authority": "Data Protection Commission",
   "acronym": "DPC",
   "authority_url": "https://dpc.gov.gh",
   "formalities": "Enregistrement obligatoire de tous les responsables de traitement ; certificat de 2 ans renouvelable.",
   "dpo": "Non obligatoire ; un « data supervisor » certifié peut être nommé.",
   "breach": "« Dès que raisonnablement possible » à la Commission et à la personne concernée.",
   "transfers": "Pas de régime spécifique dans la loi (DLA Piper).",
   "remarks": "Un projet de loi sur la protection des données (Data Protection Bill, 2025) doit remplacer l’Act 843 ; son adoption n’a pas été confirmée.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=GH",
    "https://dpc.gov.gh/"
   ],
   "groups": [
    "CEDEAO"
   ],
   "in_force": true
  },
  "NG": {
   "name": "Nigeria",
   "law": "Nigeria Data Protection Act 2023",
   "number": "NDPA 2023",
   "date": "13 juin 2023",
   "status": "En vigueur",
   "authority": "Nigeria Data Protection Commission",
   "acronym": "NDPC",
   "authority_url": "https://ndpc.gov.ng",
   "formalities": "Enregistrement des responsables et sous-traitants « d’importance majeure » selon trois niveaux, avec frais.",
   "dpo": "Obligatoire pour les responsables « d’importance majeure ».",
   "breach": "72 heures à la NDPC ; information immédiate des personnes si le risque est élevé.",
   "transfers": "Pays au niveau adéquat, ou bases alternatives (consentement, contrat…).",
   "remarks": "La directive générale d’application de la NDPC (GAID 2025, NDPC/NDP ACT-GAID/01/2025) précise la loi depuis le 19 septembre 2025.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=NG",
    "https://ndpc.gov.ng/"
   ],
   "groups": [
    "CEDEAO"
   ],
   "in_force": true
  },
  "KE": {
   "name": "Kenya",
   "law": "The Data Protection Act, 2019",
   "number": "Data Protection Act 2019",
   "date": "25 novembre 2019",
   "status": "En vigueur",
   "authority": "Office of the Data Protection Commissioner",
   "acronym": "ODPC",
   "authority_url": "https://www.odpc.go.ke",
   "formalities": "Enregistrement obligatoire, sauf petites structures (moins de 5 millions KES de chiffre d’affaires et moins de 10 salariés) hors secteurs assujettis ; certificat de 24 mois.",
   "dpo": "Facultatif.",
   "breach": "72 heures à l’ODPC ; 48 heures du sous-traitant au responsable.",
   "transfers": "Garanties appropriées documentées ; consentement explicite pour les données sensibles.",
   "remarks": "",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=KE"
   ],
   "groups": [],
   "in_force": true
  },
  "RW": {
   "name": "Rwanda",
   "law": "Law relating to the protection of personal data and privacy",
   "number": "Loi n°058/2021",
   "date": "13 octobre 2021",
   "status": "En vigueur",
   "authority": "National Cyber Security Authority (Data Protection and Privacy Office)",
   "acronym": "NCSA",
   "authority_url": "https://dpo.gov.rw",
   "formalities": "Enregistrement obligatoire auprès de la NCSA ; certificat délivré sous 30 jours.",
   "dpo": "Obligatoire pour les personnes morales publiques ou privées et en cas de surveillance ou de données sensibles à grande échelle.",
   "breach": "48 heures à la NCSA ; 48 heures du sous-traitant au responsable.",
   "transfers": "Stockage au Rwanda en principe ; transfert sur autorisation de la NCSA avec garanties ou consentement explicite.",
   "remarks": "",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=RW",
    "https://dpo.gov.rw/"
   ],
   "groups": [],
   "in_force": true
  },
  "ZA": {
   "name": "Afrique du Sud",
   "law": "Protection of Personal Information Act (POPIA)",
   "number": "Act 4 of 2013",
   "date": "2013",
   "status": "En vigueur",
   "authority": "Information Regulator",
   "acronym": "IR",
   "authority_url": "https://inforegulator.org.za",
   "formalities": "Pas d’enregistrement général ; enregistrement des Information Officers ; autorisation préalable pour certains traitements.",
   "dpo": "Information Officer obligatoire et enregistré.",
   "breach": "« Dès que raisonnablement possible » au Regulator et aux personnes concernées.",
   "transfers": "Destinataire soumis à une protection substantiellement similaire, consentement, nécessité contractuelle…",
   "remarks": "Application effective depuis le 1er juillet 2021.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=ZA",
    "https://inforegulator.org.za/"
   ],
   "groups": [],
   "in_force": true
  },
  "EG": {
   "name": "Égypte",
   "law": "Personal Data Protection Law",
   "number": "Loi n°151 de 2020",
   "date": "2020",
   "status": "En vigueur",
   "authority": "Personal Data Protection Center",
   "acronym": "PDPC",
   "authority_url": "https://portal.pdpc.gov.eg/home",
   "formalities": "Licences ou permis du Centre pour les responsables et sous-traitants, les données sensibles et le marketing direct.",
   "dpo": "Obligatoire et enregistré auprès du PDPC.",
   "breach": "72 heures au PDPC ; information des personnes sous 3 jours.",
   "transfers": "Approbation du PDPC et protection équivalente, ou consentement explicite ou autre exception.",
   "remarks": "Règlement exécutif (décret n°816 de 2025) en vigueur depuis le 2 novembre 2025 ; période transitoire jusqu’au 31 octobre 2026.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=EG"
   ],
   "groups": [],
   "in_force": true
  },
  "UG": {
   "name": "Ouganda",
   "law": "Data Protection and Privacy Act (Cap. 97)",
   "number": "Data Protection and Privacy Act 2019",
   "date": "3 mai 2019",
   "status": "En vigueur",
   "authority": "Personal Data Protection Office (NITA-U)",
   "acronym": "PDPO",
   "authority_url": "https://www.pdpo.go.ug",
   "formalities": "Enregistrement obligatoire, y compris des entités étrangères qui collectent des données d’Ougandais.",
   "dpo": "Obligatoire en cas de surveillance systématique à grande échelle ou de données spéciales.",
   "breach": "« Immédiatement » au PDPO (section 23).",
   "transfers": "Pays à protection équivalente, ou consentement (section 19).",
   "remarks": "",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=UG",
    "https://www.pdpo.go.ug/about-us"
   ],
   "groups": [],
   "in_force": true
  },
  "TZ": {
   "name": "Tanzanie",
   "law": "Personal Data Protection Act, 2022",
   "number": "Act No. 11 of 2022",
   "date": "2022",
   "status": "En vigueur",
   "authority": "Personal Data Protection Commission",
   "acronym": "PDPC",
   "authority_url": "https://www.pdpc.go.tz",
   "formalities": "Enregistrement obligatoire de tous les responsables et sous-traitants (valable 5 ans).",
   "dpo": "Obligatoire, avec rapports trimestriels (DLA Piper).",
   "breach": "« Promptement » au PDPC, sans délai chiffré.",
   "transfers": "Permis du PDPC et protection adéquate, garanties ou consentement.",
   "remarks": "Entrée en vigueur le 1er mai 2023.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=TZ"
   ],
   "groups": [],
   "in_force": true
  },
  "ET": {
   "name": "Éthiopie",
   "law": "Personal Data Protection Proclamation",
   "number": "Proclamation n°1321/2024",
   "date": "24 juillet 2024",
   "status": "En vigueur",
   "authority": "Ethiopian Communications Authority",
   "acronym": "ECA",
   "authority_url": "https://www.eca.et",
   "formalities": "Enregistrement et licence auprès de l’ECA pour les responsables et sous-traitants.",
   "dpo": "Obligatoire pour les organismes publics et en cas de surveillance ou de données sensibles à grande échelle.",
   "breach": "72 heures à l’ECA.",
   "transfers": "Juridiction adéquate ; sinon autorisation de l’ECA et consentement.",
   "remarks": "",
   "sources": [
    "https://justice.gov.et/en/law/personal-data-protection-proclamation/",
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=ET"
   ],
   "groups": [],
   "in_force": true
  },
  "ZM": {
   "name": "Zambie",
   "law": "Data Protection Act, 2021",
   "number": "Act No. 3 of 2021",
   "date": "2021",
   "status": "En vigueur",
   "authority": "Office of the Data Protection Commissioner",
   "acronym": "ODPC",
   "authority_url": "",
   "formalities": "Certificat d’enregistrement obligatoire, valable 1 an et renouvelable.",
   "dpo": "Obligatoire.",
   "breach": "24 heures au Commissaire ; information des personnes « dès que possible ».",
   "transfers": "Traitement et stockage en Zambie ; transfert avec consentement et contrat approuvé ou autorisation.",
   "remarks": "Site de l’autorité non ouvert (erreur de certificat) lors de la vérification.",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=ZM"
   ],
   "groups": [],
   "in_force": true
  },
  "MU": {
   "name": "Maurice",
   "law": "Data Protection Act 2017",
   "number": "Data Protection Act 2017",
   "date": "15 janvier 2018",
   "status": "En vigueur",
   "authority": "Data Protection Office",
   "acronym": "DPO",
   "authority_url": "https://dataprotection.govmu.org",
   "formalities": "Enregistrement obligatoire des responsables et sous-traitants, valable 3 ans.",
   "dpo": "Obligatoire.",
   "breach": "Sans délai indu et au plus tard 72 heures.",
   "transfers": "Approbation du Commissaire avec garanties appropriées, ou exceptions.",
   "remarks": "",
   "sources": [
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=MU"
   ],
   "groups": [],
   "in_force": true
  },
  "MG": {
   "name": "Madagascar",
   "law": "Loi sur la protection des données à caractère personnel",
   "number": "Loi n°2014-038",
   "date": "9 janvier 2015",
   "status": "En vigueur",
   "authority": "Commission Malagasy de l’Informatique et des Libertés",
   "acronym": "CMIL",
   "authority_url": "",
   "formalities": "Déclaration et autorisation auprès de la CMIL ; le portail de télédéclaration était annoncé pour 2026.",
   "dpo": "Non prévu de façon générale.",
   "breach": "Aucune obligation générale de notification ; obligations de sécurité préventives.",
   "transfers": "Vers un pays au niveau de protection adéquat, sinon dans des cas limités (consentement éclairé, contrat…).",
   "remarks": "CMIL créée par le décret n°2023-1541 ; ses membres ont prêté serment en août 2025 et elle s’est déclarée opérationnelle. La date de la loi varie selon les sources (2014 pour l’adoption, publication au Journal officiel en 2015).",
   "sources": [
    "https://research.lawlab.africa/madagascar/",
    "https://dataprotection.africa/madagascar/",
    "https://newsmada.com/2026/01/30/protection-des-donnees-digitalisees-la-commission-malagasy-de-linformatique-rassure/"
   ],
   "groups": [],
   "in_force": true
  },
  "TD": {
   "name": "Tchad",
   "law": "Loi portant protection des données à caractère personnel",
   "number": "Loi n°007/PR/2015",
   "date": "2015",
   "status": "En vigueur",
   "authority": "Agence Nationale de Sécurité Informatique et de Certification Électronique",
   "acronym": "ANSICE",
   "authority_url": "",
   "formalities": "Pas de régime général de déclaration décrit ; notification à l’ANSICE avant tout transfert à l’étranger.",
   "dpo": "",
   "breach": "Notification à l’ANSICE et aux personnes concernées, sans délai chiffré.",
   "transfers": "Vers un pays au niveau de protection suffisant, après notification à l’ANSICE (art. 29).",
   "remarks": "ANSICE créée par la loi n°006/PR/2015, pleinement opérationnelle depuis 2020. Fiche de référence mise à jour en 2022 : à reconfirmer auprès de l’ANSICE.",
   "sources": [
    "https://dataprotection.africa/chad/"
   ],
   "groups": [],
   "in_force": true
  },
  "ZW": {
   "name": "Zimbabwe",
   "law": "Cyber and Data Protection Act [Chapter 12:07]",
   "number": "Act 5 of 2021",
   "date": "3 décembre 2021",
   "status": "En vigueur",
   "authority": "Data Protection Authority (fonctions exercées par la Postal and Telecommunications Regulatory Authority)",
   "acronym": "POTRAZ",
   "authority_url": "https://www.potraz.gov.zw",
   "formalities": "Licence de responsable de traitement obligatoire dès 50 personnes concernées, en quatre niveaux selon le volume (SI 155 de 2024).",
   "dpo": "Obligatoire : désignation notifiée à POTRAZ (SI 155 de 2024).",
   "breach": "24 heures à POTRAZ ; information des personnes sous 72 heures si le risque est élevé.",
   "transfers": "Seulement vers un pays ou un destinataire assurant une protection adéquate ; l’autorité peut fixer des exceptions.",
   "remarks": "POTRAZ a annoncé des inspections de conformité à partir du 1er septembre 2026 (Regulatory Notice 2 of 2026).",
   "sources": [
    "https://www.potraz.gov.zw/wp-content/uploads/2025/02/sI-155-of-2024-Cyber-and-Data-Protection-Normal_240913_1250178.pdf",
    "https://www.dlapiperafrica.com/en/zimbabwe/insights/2024/A-Quick-Start-Guide-to-Zimbabwes-Data-Protection-Regulations",
    "https://dataprotection.africa/zimbabwe/"
   ],
   "groups": [],
   "in_force": true
  },
  "BW": {
   "name": "Botswana",
   "law": "Data Protection Act, 2024",
   "number": "Act No. 18 of 2024",
   "date": "14 janvier 2025",
   "status": "En vigueur",
   "authority": "Information and Data Protection Commission",
   "acronym": "IDPC",
   "authority_url": "",
   "formalities": "Enregistrement des coordonnées du délégué auprès de la Commission ; modalités d’enregistrement non publiées lors de la vérification.",
   "dpo": "Obligatoire en cas de surveillance à grande échelle ou de données sensibles.",
   "breach": "72 heures à la Commission ; information des personnes sans retard injustifié si leurs droits sont en jeu.",
   "transfers": "Interdits sauf conditions (pays adéquat, contrat, intérêt public…) (section 74) ; liste officielle de pays agréés.",
   "remarks": "La loi de 2024 remplace celle de 2018 ; la date indiquée est son entrée en vigueur.",
   "sources": [
    "https://www.michalsons.com/blog/botswanas-data-protection-act-grace-period-extended/60775",
    "https://www.dlapiperdataprotection.com/index.html?t=law&c=BW"
   ],
   "groups": [],
   "in_force": true
  },
  "MW": {
   "name": "Malawi",
   "law": "Data Protection Act, 2024",
   "number": "Act No. 3 of 2024",
   "date": "février 2024",
   "status": "En vigueur",
   "authority": "Malawi Communications Regulatory Authority (autorité de protection désignée)",
   "acronym": "MACRA",
   "authority_url": "https://www.macra.mw",
   "formalities": "Enregistrement des responsables et sous-traitants de données d’importance significative (partie VIII).",
   "dpo": "",
   "breach": "72 heures à l’autorité et aux personnes concernées (analyse du CIPIT ; section non relue).",
   "transfers": "Vers un pays au cadre adéquat ou avec garanties (règles d’entreprise, clauses contractuelles, codes, certification) (sections 38 et 39).",
   "remarks": "Date exacte d’entrée en vigueur non vérifiée.",
   "sources": [
    "https://www.mwcert.mw/storage/2025/03/Data-Protection-Act-of-Malawi.pdf",
    "https://cipit.strathmore.edu/review-of-the-malawi-data-protection-act-2024/"
   ],
   "groups": [],
   "in_force": true
  }
 },
 "changelog": [
  {
   "date": "2026-10-16",
   "changes": [
    "Règle nationale vérifiée recopiée dans les contrôles DP-04, DP-08, DP-10 et DP-12 pour chacun des pays couverts.",
    "Cinq pays ajoutés : Madagascar, Tchad, Zimbabwe, Botswana, Malawi ; fiches Togo et Mali complétées à partir des textes.",
    "AI Act : intégration du règlement (UE) 2026/1744 (reports « haut risque », marquage au 2 décembre 2026, nouvelles pratiques interdites).",
    "Nouveau contrôle ACC-08 couvrant les critères WCAG 2.2 de niveau A et AA (2.5.7, 3.2.6, 3.3.7).",
    "Couverture complétée : OWASP API2:2023, ASVS V4 et V15, MASVS-AUTH et MASVS-CRYPTO.",
    "OpenAPI 3.2.1 (10 septembre 2026), adresse officielle de l’OWASP Top 10:2025, guide sécurité de la CNIL (2024).",
    "Ordre de travail selon l’étape du projet ; IA facultative et désactivée par défaut.",
    "Catalogue publié en données ouvertes (catalogue.json) sous licence CC BY 4.0."
   ]
  }
 ]
}