[
  {
    "code": "000",
    "compauth": "fail",
    "signification": "Échec d'authentification explicite : DMARC échoue avec une politique p=quarantine ou p=reject.",
    "cause_typique": "Le domaine publie un DMARC strict mais le message ne s'aligne pas (SPF/DKIM cassent l'alignement, souvent en transfert ou source non autorisée).",
    "resolution": "Aligner SPF et DKIM sur le From: ; autoriser la source d'envoi ; configurer un ARC sealer de confiance en cas de transfert."
  },
  {
    "code": "001",
    "compauth": "fail",
    "signification": "Échec d'authentification implicite : pas d'enregistrements d'authentification publiés, ou politique faible.",
    "cause_typique": "Le domaine n'a pas (ou peu) d'authentification : SPF en ~all/?all, ou DMARC en p=none. Microsoft manque de signal.",
    "resolution": "Publier SPF + DKIM + DMARC alignés ; durcir progressivement vers ~all puis -all."
  },
  {
    "code": "002",
    "compauth": "fail",
    "signification": "Une politique du tenant interdit explicitement ce couple expéditeur/domaine.",
    "cause_typique": "Entrée manuelle d'administrateur (Tenant Allow/Block List, blocage d'usurpation).",
    "resolution": "Vérifier et retirer l'entrée de blocage si l'expéditeur est légitime."
  },
  {
    "code": "010",
    "compauth": "fail",
    "signification": "DMARC échoue avec p=reject/p=quarantine, et le domaine expéditeur est un domaine accepté de votre organisation.",
    "cause_typique": "Usurpation intra-organisation : un service tiers envoie « en tant que » votre propre domaine sans y être autorisé.",
    "resolution": "Autoriser la source dans SPF/DKIM ou via la Tenant Allow/Block List."
  },
  {
    "code": "1xx",
    "compauth": "pass",
    "signification": "Le message a réussi l'authentification explicite ou implicite.",
    "cause_typique": "Succès.",
    "resolution": "Aucune action."
  },
  {
    "code": "100",
    "compauth": "pass",
    "signification": "SPF a réussi ou DKIM a réussi, et MAIL FROM et From sont alignés.",
    "cause_typique": "Succès nominal.",
    "resolution": "Aucune action."
  },
  {
    "code": "101",
    "compauth": "pass",
    "signification": "Le message est signé en DKIM par le domaine du From:.",
    "cause_typique": "Succès DKIM aligné.",
    "resolution": "Aucune action."
  },
  {
    "code": "102",
    "compauth": "pass",
    "signification": "MAIL FROM et From alignés, et SPF a réussi.",
    "cause_typique": "Succès SPF aligné.",
    "resolution": "Aucune action."
  },
  {
    "code": "103",
    "compauth": "pass",
    "signification": "Le From: est aligné avec le PTR (DNS inverse) de l'IP source.",
    "cause_typique": "Succès via PTR.",
    "resolution": "Aucune action."
  },
  {
    "code": "104",
    "compauth": "pass",
    "signification": "Le PTR de l'IP source est aligné avec le domaine du From:.",
    "cause_typique": "Succès via PTR.",
    "resolution": "Aucune action."
  },
  {
    "code": "108",
    "compauth": "pass",
    "signification": "DKIM a échoué à cause d'une modification du corps par un saut légitime précédent.",
    "cause_typique": "Toléré (environnement on-premises, par exemple).",
    "resolution": "Surveiller les modifications en transit ; envisager ARC."
  },
  {
    "code": "109",
    "compauth": "pass",
    "signification": "Pas de DMARC, mais le message passerait quand même l'évaluation.",
    "cause_typique": "Toléré.",
    "resolution": "Publier DMARC pour formaliser l'intention."
  },
  {
    "code": "111",
    "compauth": "pass",
    "signification": "Malgré un temperror ou permerror DMARC, SPF ou DKIM est aligné avec le From:.",
    "cause_typique": "Toléré malgré une erreur DNS.",
    "resolution": "Corriger l'enregistrement DMARC."
  },
  {
    "code": "112",
    "compauth": "pass",
    "signification": "Un timeout DNS a empêché la récupération du DMARC.",
    "cause_typique": "Erreur DNS transitoire.",
    "resolution": "Vérifier la résolution DNS du domaine."
  },
  {
    "code": "115",
    "compauth": "pass",
    "signification": "Le message vient d'une organisation Microsoft 365 où le From: est un domaine accepté.",
    "cause_typique": "Toléré (Microsoft 365 vers Microsoft 365).",
    "resolution": "Aucune action."
  },
  {
    "code": "116",
    "compauth": "pass",
    "signification": "Le MX du From: est aligné avec le PTR de l'IP de connexion.",
    "cause_typique": "Toléré.",
    "resolution": "Aucune action."
  },
  {
    "code": "130",
    "compauth": "pass",
    "signification": "Le résultat ARC d'un ARC sealer de confiance a remplacé un échec DMARC.",
    "cause_typique": "Transfert via un service de confiance ARC.",
    "resolution": "Configurer des ARC sealers de confiance."
  },
  {
    "code": "2xx",
    "compauth": "softpass",
    "signification": "Le message a partiellement réussi l'authentification implicite.",
    "cause_typique": "Signaux partiels.",
    "resolution": "Renforcer SPF/DKIM/DMARC."
  },
  {
    "code": "201",
    "compauth": "softpass",
    "signification": "Le PTR du From: est aligné avec le sous-réseau du PTR de l'IP de connexion.",
    "cause_typique": "Alignement faible (sous-réseau).",
    "resolution": "Renforcer l'authentification."
  },
  {
    "code": "202",
    "compauth": "softpass",
    "signification": "Le From: est aligné avec le domaine du PTR de l'IP de connexion.",
    "cause_typique": "Alignement faible (PTR).",
    "resolution": "Renforcer l'authentification."
  },
  {
    "code": "3xx",
    "compauth": "none",
    "signification": "Le message n'a pas été vérifié pour l'authentification composite.",
    "cause_typique": "Non évalué.",
    "resolution": "Aucune."
  },
  {
    "code": "4xx",
    "compauth": "none",
    "signification": "Le message a contourné l'authentification composite.",
    "cause_typique": "Contournement.",
    "resolution": "Aucune."
  },
  {
    "code": "501",
    "compauth": "s.o.",
    "signification": "DMARC non appliqué : NDR (rapport de non-remise) valide, contact préalablement établi.",
    "cause_typique": "Tolérance NDR.",
    "resolution": "Aucune action."
  },
  {
    "code": "502",
    "compauth": "s.o.",
    "signification": "DMARC non appliqué : NDR valide pour un message envoyé par cette organisation.",
    "cause_typique": "Tolérance NDR.",
    "resolution": "Aucune action."
  },
  {
    "code": "6xx",
    "compauth": "fail",
    "signification": "Échec d'authentification email implicite.",
    "cause_typique": "Échec implicite.",
    "resolution": "Publier et aligner SPF, DKIM, DMARC."
  },
  {
    "code": "601",
    "compauth": "fail",
    "signification": "Le domaine expéditeur est un domaine accepté de votre organisation (envoi à soi-même / usurpation intra-org).",
    "cause_typique": "Application ou service interne ou tiers envoyant « comme vous » sans authentification.",
    "resolution": "Autoriser la source (SPF/DKIM, relais authentifié, Tenant Allow/Block List)."
  },
  {
    "code": "7xx",
    "compauth": "pass",
    "signification": "Le message a réussi l'authentification implicite.",
    "cause_typique": "Succès implicite.",
    "resolution": "Aucune action."
  },
  {
    "code": "701-704",
    "compauth": "pass",
    "signification": "DMARC non appliqué grâce à un historique de messages légitimes depuis cette infrastructure.",
    "cause_typique": "Réputation et historique.",
    "resolution": "Aucune action."
  },
  {
    "code": "9xx",
    "compauth": "none",
    "signification": "Le message a contourné l'authentification composite.",
    "cause_typique": "Contournement.",
    "resolution": "Aucune."
  },
  {
    "code": "905",
    "compauth": "none",
    "signification": "DMARC non appliqué à cause d'un routage complexe (on-premises ou service tiers avant Microsoft 365).",
    "cause_typique": "Routage hybride.",
    "resolution": "Configurer ARC ou un relais authentifié."
  }
]
