{
  "department": "45",
  "rulesetVersion": 10,
  "crawlerVersion": 2,
  "crawledOn": "2026-10-18",
  "communes": {
    "total": 325,
    "withWebsite": 227,
    "reachable": 226,
    "pagesCrawled": 6021,
    "delegatedExcluded": 0
  },
  "checks": [
    {
      "code": "A11Y_DECLARATION",
      "kind": "LEGAL",
      "impact": "HIGH",
      "obligationCode": "A11Y_DECL",
      "pass": 67,
      "fail": 159,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 69
    },
    {
      "code": "A11Y_HOMEPAGE_MENTION",
      "kind": "LEGAL",
      "impact": "HIGH",
      "obligationCode": "A11Y_DECL",
      "pass": 20,
      "fail": 205,
      "unknown": 100,
      "notApplicable": 0,
      "failHighConfidence": 205
    },
    {
      "code": "A11Y_SCHEMA",
      "kind": "LEGAL",
      "impact": "HIGH",
      "obligationCode": "A11Y_DECL",
      "pass": 39,
      "fail": 184,
      "unknown": 102,
      "notApplicable": 0,
      "failHighConfidence": 167
    },
    {
      "code": "DPO_CONTACT",
      "kind": "LEGAL",
      "impact": "HIGH",
      "obligationCode": "DPO",
      "pass": 63,
      "fail": 163,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 146
    },
    {
      "code": "RGPD_POLICY",
      "kind": "LEGAL",
      "impact": "MEDIUM",
      "obligationCode": "RGPD_INFO",
      "pass": 203,
      "fail": 23,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 17
    },
    {
      "code": "MENTIONS_LEGALES",
      "kind": "LEGAL",
      "impact": "MEDIUM",
      "obligationCode": "LCEN",
      "pass": 208,
      "fail": 18,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 13
    },
    {
      "code": "ACTES_PUBLICATION",
      "kind": "LEGAL",
      "impact": "MEDIUM",
      "obligationCode": "ACTES",
      "pass": 28,
      "fail": 6,
      "unknown": 2,
      "notApplicable": 289,
      "failHighConfidence": 3
    },
    {
      "code": "CNIL_COOKIES",
      "kind": "LEGAL",
      "impact": "MEDIUM",
      "obligationCode": "RGPD_INFO",
      "pass": 164,
      "fail": 62,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 60
    },
    {
      "code": "NO_SITE",
      "kind": "TECHNICAL",
      "impact": "HIGH",
      "obligationCode": null,
      "pass": 226,
      "fail": 99,
      "unknown": 0,
      "notApplicable": 0,
      "failHighConfidence": 1
    },
    {
      "code": "HTTPS",
      "kind": "TECHNICAL",
      "impact": "HIGH",
      "obligationCode": null,
      "pass": 215,
      "fail": 11,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 11
    },
    {
      "code": "MOBILE_VIEWPORT",
      "kind": "TECHNICAL",
      "impact": "HIGH",
      "obligationCode": null,
      "pass": 215,
      "fail": 11,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 11
    },
    {
      "code": "HTML_WEIGHT",
      "kind": "TECHNICAL",
      "impact": "LOW",
      "obligationCode": null,
      "pass": 215,
      "fail": 11,
      "unknown": 99,
      "notApplicable": 0,
      "failHighConfidence": 11
    },
    {
      "code": "LAST_UPDATED",
      "kind": "TECHNICAL",
      "impact": "MEDIUM",
      "obligationCode": null,
      "pass": 212,
      "fail": 9,
      "unknown": 104,
      "notApplicable": 0,
      "failHighConfidence": 7
    },
    {
      "code": "CMS_FINGERPRINT",
      "kind": "TECHNICAL",
      "impact": "LOW",
      "obligationCode": null,
      "pass": 172,
      "fail": 0,
      "unknown": 153,
      "notApplicable": 0,
      "failHighConfidence": 0
    },
    {
      "code": "CMS_OUTDATED",
      "kind": "TECHNICAL",
      "impact": "HIGH",
      "obligationCode": null,
      "pass": 0,
      "fail": 9,
      "unknown": 316,
      "notApplicable": 0,
      "failHighConfidence": 9
    },
    {
      "code": "EMAIL_DOMAIN",
      "kind": "TECHNICAL",
      "impact": "MEDIUM",
      "obligationCode": null,
      "pass": 186,
      "fail": 139,
      "unknown": 0,
      "notApplicable": 0,
      "failHighConfidence": 139
    }
  ],
  "populationBands": [
    {
      "band": "moins de 500",
      "communes": 127,
      "declarationMissing": 38
    },
    {
      "band": "500 à 1 999",
      "communes": 131,
      "declarationMissing": 84
    },
    {
      "band": "2 000 à 4 999",
      "communes": 43,
      "declarationMissing": 27
    },
    {
      "band": "5 000 à 9 999",
      "communes": 12,
      "declarationMissing": 6
    },
    {
      "band": "10 000 et plus",
      "communes": 12,
      "declarationMissing": 4
    }
  ],
  "cms": [
    {
      "label": "wordpress",
      "count": 142
    },
    {
      "label": "inconnu",
      "count": 54
    },
    {
      "label": "drupal",
      "count": 16
    },
    {
      "label": "joomla",
      "count": 4
    },
    {
      "label": "e-monsite",
      "count": 3
    },
    {
      "label": "intramuros",
      "count": 3
    },
    {
      "label": "wix",
      "count": 2
    },
    {
      "label": "sitew",
      "count": 1
    },
    {
      "label": "typo3",
      "count": 1
    }
  ],
  "freshness": [
    {
      "label": "moins de 6 mois",
      "count": 205
    },
    {
      "label": "6 à 12 mois",
      "count": 7
    },
    {
      "label": "1 à 2 ans",
      "count": 5
    },
    {
      "label": "2 à 5 ans",
      "count": 3
    },
    {
      "label": "plus de 5 ans",
      "count": 1
    },
    {
      "label": "inconnu",
      "count": 5
    }
  ],
  "obligationsMet": [
    {
      "label": "aucune",
      "count": 12
    },
    {
      "label": "1 sur 6",
      "count": 15
    },
    {
      "label": "2 sur 6",
      "count": 107
    },
    {
      "label": "3 sur 6",
      "count": 34
    },
    {
      "label": "4 sur 6",
      "count": 24
    },
    {
      "label": "5 sur 6",
      "count": 31
    },
    {
      "label": "6 sur 6",
      "count": 3
    }
  ],
  "obligationsMeasured": 226,
  "unreachable": [
    {
      "label": "aucun site connu",
      "count": 98
    },
    {
      "label": "site en ligne, accès refusé au robot",
      "count": 0
    },
    {
      "label": "adresse publiée en erreur",
      "count": 0
    },
    {
      "label": "erreur du serveur au moment du relevé",
      "count": 0
    },
    {
      "label": "domaine ou certificat hors service",
      "count": 1
    },
    {
      "label": "autre",
      "count": 0
    }
  ],
  "map": [
    {
      "insee": "45001",
      "name": "Adon",
      "lat": 47.7587,
      "lon": 2.7925,
      "population": 188,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 2,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://adon.fr/"
        }
      ]
    },
    {
      "insee": "45002",
      "name": "Aillant-sur-Milleron",
      "lat": 47.7958,
      "lon": 2.9346,
      "population": 373,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://aillantsurmilleron.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://aillantsurmilleron.fr/"
        }
      ]
    },
    {
      "insee": "45004",
      "name": "Amilly",
      "lat": 47.9911,
      "lon": 2.7813,
      "population": 13582,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 31,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://amilly.com/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://amilly.com/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://amilly.com/traitement-de-donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://amilly.com/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://amilly.com/"
        }
      ]
    },
    {
      "insee": "45005",
      "name": "Andonville",
      "lat": 48.274,
      "lon": 2.0233,
      "population": 247,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45006",
      "name": "Ardon",
      "lat": 47.7825,
      "lon": 1.8745,
      "population": 1203,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ardon45.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ardon45.fr/"
        }
      ]
    },
    {
      "insee": "45008",
      "name": "Artenay",
      "lat": 48.0773,
      "lon": 1.8792,
      "population": 1997,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 30,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://ville-artenay.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-artenay.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-artenay.fr/"
        }
      ]
    },
    {
      "insee": "45009",
      "name": "Aschères-le-Marché",
      "lat": 48.1103,
      "lon": 2.0043,
      "population": 1157,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 2,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ascheres.fr/"
        }
      ]
    },
    {
      "insee": "45010",
      "name": "Ascoux",
      "lat": 48.1294,
      "lon": 2.2514,
      "population": 1062,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45011",
      "name": "Attray",
      "lat": 48.1158,
      "lon": 2.1234,
      "population": 208,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://attray45.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://attray45.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://attray45.fr/"
        }
      ]
    },
    {
      "insee": "45012",
      "name": "Audeville",
      "lat": 48.2808,
      "lon": 2.2427,
      "population": 179,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45013",
      "name": "Augerville-la-Rivière",
      "lat": 48.2542,
      "lon": 2.4193,
      "population": 211,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://augerville-la-riviere.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://augerville-la-riviere.fr/mentions-legales"
        }
      ]
    },
    {
      "insee": "45014",
      "name": "Aulnay-la-Rivière",
      "lat": 48.2078,
      "lon": 2.3753,
      "population": 511,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://aulnay-la-riviere.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://aulnay-la-riviere.fr/"
        }
      ]
    },
    {
      "insee": "45015",
      "name": "Autruy-sur-Juine",
      "lat": 48.2786,
      "lon": 2.0961,
      "population": 745,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://autruy-sur-juine.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://autruy-sur-juine.fr/"
        }
      ]
    },
    {
      "insee": "45016",
      "name": "Autry-le-Châtel",
      "lat": 47.5951,
      "lon": 2.6042,
      "population": 845,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45017",
      "name": "Auvilliers-en-Gâtinais",
      "lat": 47.9687,
      "lon": 2.4726,
      "population": 342,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45018",
      "name": "Auxy",
      "lat": 48.1065,
      "lon": 2.4943,
      "population": 948,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45019",
      "name": "Baccon",
      "lat": 47.8822,
      "lon": 1.624,
      "population": 654,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://mairiebaccon.fr/pages/informations-legales.html"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://mairiebaccon.fr/"
        }
      ]
    },
    {
      "insee": "45020",
      "name": "Le Bardon",
      "lat": 47.8437,
      "lon": 1.6488,
      "population": 984,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lebardon.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lebardon.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lebardon.fr/"
        }
      ]
    },
    {
      "insee": "45021",
      "name": "Barville-en-Gâtinais",
      "lat": 48.1116,
      "lon": 2.401,
      "population": 304,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45022",
      "name": "Batilly-en-Gâtinais",
      "lat": 48.0841,
      "lon": 2.3706,
      "population": 447,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45023",
      "name": "Batilly-en-Puisaye",
      "lat": 47.6127,
      "lon": 2.8871,
      "population": 108,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45024",
      "name": "Baule",
      "lat": 47.8089,
      "lon": 1.669,
      "population": 1985,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://commune-baule.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://commune-baule.fr/"
        }
      ]
    },
    {
      "insee": "45025",
      "name": "Bazoches-les-Gallerandes",
      "lat": 48.1653,
      "lon": 2.0663,
      "population": 1465,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://bazoches-les-gallerandes-izy.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bazoches-les-gallerandes-izy.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bazoches-les-gallerandes-izy.fr/"
        }
      ]
    },
    {
      "insee": "45026",
      "name": "Bazoches-sur-le-Betz",
      "lat": 48.1329,
      "lon": 2.9918,
      "population": 960,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bazoches-sur-le-betz.com/accessibilite-partiellement-conforme"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bazoches-sur-le-betz.com/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bazoches-sur-le-betz.com/accessibilite-partiellement-conforme"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bazoches-sur-le-betz.com/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bazoches-sur-le-betz.com/"
        }
      ]
    },
    {
      "insee": "45027",
      "name": "Beauchamps-sur-Huillard",
      "lat": 47.9445,
      "lon": 2.4656,
      "population": 419,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45028",
      "name": "Beaugency",
      "lat": 47.777,
      "lon": 1.6376,
      "population": 8024,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://beaugency.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://beaugency.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://beaugency.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://beaugency.fr/"
        }
      ]
    },
    {
      "insee": "45029",
      "name": "Beaulieu-sur-Loire",
      "lat": 47.5376,
      "lon": 2.8031,
      "population": 1734,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://beaulieu-sur-loire.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://beaulieu-sur-loire.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://beaulieu-sur-loire.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://beaulieu-sur-loire.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://beaulieu-sur-loire.fr/fr"
        }
      ]
    },
    {
      "insee": "45030",
      "name": "Beaune-la-Rolande",
      "lat": 48.0762,
      "lon": 2.4347,
      "population": 1992,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 25,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45031",
      "name": "Bellegarde",
      "lat": 47.9806,
      "lon": 2.4137,
      "population": 1440,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 25,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bellegarde-45.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bellegarde-45.fr/"
        }
      ]
    },
    {
      "insee": "45032",
      "name": "Le Bignon-Mirabeau",
      "lat": 48.1473,
      "lon": 2.9319,
      "population": 303,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45033",
      "name": "Boësses",
      "lat": 48.1503,
      "lon": 2.4331,
      "population": 384,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45034",
      "name": "Boigny-sur-Bionne",
      "lat": 47.9336,
      "lon": 2.0189,
      "population": 2194,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boignysurbionne.fr/donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boignysurbionne.fr/donnees-personnelles"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boignysurbionne.fr/"
        }
      ]
    },
    {
      "insee": "45035",
      "name": "Boiscommun",
      "lat": 48.039,
      "lon": 2.3576,
      "population": 1151,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boiscommun.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boiscommun.fr/"
        }
      ]
    },
    {
      "insee": "45036",
      "name": "Boismorand",
      "lat": 47.7828,
      "lon": 2.7196,
      "population": 860,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://boismorand.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boismorand.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boismorand.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://boismorand.fr/"
        }
      ]
    },
    {
      "insee": "45037",
      "name": "Boisseaux",
      "lat": 48.2521,
      "lon": 1.9861,
      "population": 492,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairieboisseaux.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairieboisseaux.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairieboisseaux.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairieboisseaux.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairieboisseaux.fr/fr"
        }
      ]
    },
    {
      "insee": "45038",
      "name": "Bondaroy",
      "lat": 48.1853,
      "lon": 2.28,
      "population": 411,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45039",
      "name": "Bonnée",
      "lat": 47.7937,
      "lon": 2.3897,
      "population": 696,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairie-bonnee.fr/contact"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-bonnee.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-bonnee.fr/"
        }
      ]
    },
    {
      "insee": "45040",
      "name": "Bonny-sur-Loire",
      "lat": 47.581,
      "lon": 2.8407,
      "population": 1870,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bonny-sur-loire.fr/"
        }
      ]
    },
    {
      "insee": "45041",
      "name": "Bordeaux-en-Gâtinais",
      "lat": 48.1006,
      "lon": 2.5427,
      "population": 108,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45042",
      "name": "Les Bordes",
      "lat": 47.8162,
      "lon": 2.4358,
      "population": 1853,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-lesbordes.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-lesbordes.fr/"
        }
      ]
    },
    {
      "insee": "45043",
      "name": "Bou",
      "lat": 47.8695,
      "lon": 2.0528,
      "population": 1036,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedebou.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedebou.fr/"
        }
      ]
    },
    {
      "insee": "45044",
      "name": "Bougy-lez-Neuville",
      "lat": 48.0455,
      "lon": 2.0233,
      "population": 154,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bougylezneuville.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bougylezneuville.fr/"
        }
      ]
    },
    {
      "insee": "45045",
      "name": "Bouilly-en-Gâtinais",
      "lat": 48.0952,
      "lon": 2.2895,
      "population": 304,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bouilly-en-gatinais.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bouilly-en-gatinais.fr/"
        }
      ]
    },
    {
      "insee": "45046",
      "name": "Boulay-les-Barres",
      "lat": 47.9749,
      "lon": 1.7738,
      "population": 1147,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45047",
      "name": "Bouzonville-aux-Bois",
      "lat": 48.1037,
      "lon": 2.2451,
      "population": 428,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45049",
      "name": "Bouzy-la-Forêt",
      "lat": 47.8706,
      "lon": 2.3672,
      "population": 1218,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bouzylaforet.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bouzylaforet.fr/"
        }
      ]
    },
    {
      "insee": "45050",
      "name": "Boynes",
      "lat": 48.1169,
      "lon": 2.3603,
      "population": 1289,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 25,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://boynes.fr/1/contact_803052.html"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45051",
      "name": "Bray-Saint-Aignan",
      "lat": 47.83,
      "lon": 2.3771,
      "population": 1803,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiebraysaintaignan.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiebraysaintaignan.fr/"
        }
      ]
    },
    {
      "insee": "45052",
      "name": "Breteau",
      "lat": 47.6774,
      "lon": 2.8902,
      "population": 90,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45053",
      "name": "Briare",
      "lat": 47.6418,
      "lon": 2.7417,
      "population": 4911,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villedebriare.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villedebriare.fr/"
        }
      ]
    },
    {
      "insee": "45054",
      "name": "Briarres-sur-Essonne",
      "lat": 48.2241,
      "lon": 2.4167,
      "population": 527,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://briarres-sur-essonne.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://briarres-sur-essonne.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://briarres-sur-essonne.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://briarres-sur-essonne.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://briarres-sur-essonne.fr/"
        }
      ]
    },
    {
      "insee": "45055",
      "name": "Bricy",
      "lat": 48.0077,
      "lon": 1.7751,
      "population": 528,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://bricy.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://bricy.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bricy.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bricy.fr/"
        }
      ]
    },
    {
      "insee": "45056",
      "name": "Bromeilles",
      "lat": 48.1855,
      "lon": 2.4906,
      "population": 319,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bromeilles.fr/informations-legales/mentions-legales-7780"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://bromeilles.fr/"
        }
      ]
    },
    {
      "insee": "45058",
      "name": "Bucy-le-Roi",
      "lat": 48.062,
      "lon": 1.921,
      "population": 177,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45059",
      "name": "Bucy-Saint-Liphard",
      "lat": 47.942,
      "lon": 1.7503,
      "population": 215,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45060",
      "name": "La Bussière",
      "lat": 47.7371,
      "lon": 2.7481,
      "population": 761,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45061",
      "name": "Cepoy",
      "lat": 48.0515,
      "lon": 2.7394,
      "population": 2332,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-cepoy.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-cepoy.fr/"
        }
      ]
    },
    {
      "insee": "45062",
      "name": "Cercottes",
      "lat": 47.9892,
      "lon": 1.9021,
      "population": 1448,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://ville-cercottes.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://ville-cercottes.fr/"
        }
      ]
    },
    {
      "insee": "45063",
      "name": "Cerdon",
      "lat": 47.6284,
      "lon": 2.3714,
      "population": 880,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://cerdonduloiret.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://cerdonduloiret.fr/"
        }
      ]
    },
    {
      "insee": "45064",
      "name": "Cernoy-en-Berry",
      "lat": 47.5449,
      "lon": 2.6531,
      "population": 420,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://cernoy-en-berry.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://cernoy-en-berry.fr/"
        }
      ]
    },
    {
      "insee": "45065",
      "name": "Césarville-Dossainville",
      "lat": 48.2633,
      "lon": 2.2866,
      "population": 217,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45066",
      "name": "Chailly-en-Gâtinais",
      "lat": 47.9394,
      "lon": 2.527,
      "population": 694,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chailly-en-gatinais.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chailly-en-gatinais.fr/"
        }
      ]
    },
    {
      "insee": "45067",
      "name": "Chaingy",
      "lat": 47.8926,
      "lon": 1.7763,
      "population": 4116,
      "declaration": "PASS",
      "obligationsMet": 6,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://chaingy.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chaingy.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chaingy.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://chaingy.fr/traitement-de-donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chaingy.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chaingy.fr/"
        }
      ]
    },
    {
      "insee": "45068",
      "name": "Châlette-sur-Loing",
      "lat": 48.0214,
      "lon": 2.7375,
      "population": 12677,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 30,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://ville-chalette.com/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-chalette.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-chalette.com/mentions-legales"
        }
      ]
    },
    {
      "insee": "45069",
      "name": "Chambon-la-Forêt",
      "lat": 48.0535,
      "lon": 2.2827,
      "population": 965,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chambonlaforet.fr/actualites/application-panneaupocket-3226"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45070",
      "name": "Champoulet",
      "lat": 47.6544,
      "lon": 2.9266,
      "population": 45,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45072",
      "name": "Chanteau",
      "lat": 47.9798,
      "lon": 1.9628,
      "population": 1590,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-chanteau.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-chanteau.fr/"
        }
      ]
    },
    {
      "insee": "45073",
      "name": "Chantecoq",
      "lat": 48.0472,
      "lon": 2.9666,
      "population": 518,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chantecoq-mairie.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chantecoq-mairie.fr/"
        }
      ]
    },
    {
      "insee": "45074",
      "name": "La Chapelle-Onzerain",
      "lat": 48.0335,
      "lon": 1.611,
      "population": 110,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45075",
      "name": "La Chapelle-Saint-Mesmin",
      "lat": 47.8861,
      "lon": 1.8324,
      "population": 11017,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 32,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://ville-lachapellesaintmesmin.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-lachapellesaintmesmin.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-lachapellesaintmesmin.fr/vie-citoyenne/formalites-administratives/etat-civil/informations-sur-vos-donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-lachapellesaintmesmin.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-lachapellesaintmesmin.fr/"
        }
      ]
    },
    {
      "insee": "45076",
      "name": "La Chapelle-Saint-Sépulcre",
      "lat": 48.017,
      "lon": 2.8392,
      "population": 219,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45077",
      "name": "La Chapelle-sur-Aveyron",
      "lat": 47.8691,
      "lon": 2.8741,
      "population": 623,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45078",
      "name": "Chapelon",
      "lat": 48.0355,
      "lon": 2.5786,
      "population": 249,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45079",
      "name": "Le Charme",
      "lat": 47.8032,
      "lon": 2.9914,
      "population": 139,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 12,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lecharme.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lecharme.fr/"
        }
      ]
    },
    {
      "insee": "45080",
      "name": "Charmont-en-Beauce",
      "lat": 48.2382,
      "lon": 2.1167,
      "population": 336,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://charmont-en-beauce.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://charmont-en-beauce.fr/"
        }
      ]
    },
    {
      "insee": "45081",
      "name": "Charsonville",
      "lat": 47.9244,
      "lon": 1.5776,
      "population": 609,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45082",
      "name": "Châteauneuf-sur-Loire",
      "lat": 47.8829,
      "lon": 2.2415,
      "population": 8546,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 31,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://chateauneuf-sur-loire.com/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chateauneuf-sur-loire.com/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chateauneuf-sur-loire.com/traitement-de-donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chateauneuf-sur-loire.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chateauneuf-sur-loire.com/"
        }
      ]
    },
    {
      "insee": "45083",
      "name": "Château-Renard",
      "lat": 47.9299,
      "lon": 2.9166,
      "population": 2112,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chateau-renard.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chateau-renard.fr/"
        }
      ]
    },
    {
      "insee": "45084",
      "name": "Châtenoy",
      "lat": 47.9162,
      "lon": 2.4148,
      "population": 458,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45085",
      "name": "Châtillon-Coligny",
      "lat": 47.8229,
      "lon": 2.8747,
      "population": 1894,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chatillon-coligny.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chatillon-coligny.fr/"
        }
      ]
    },
    {
      "insee": "45086",
      "name": "Châtillon-le-Roi",
      "lat": 48.1635,
      "lon": 2.1006,
      "population": 278,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://chatillon-le-roi.fr/"
        }
      ]
    },
    {
      "insee": "45087",
      "name": "Châtillon-sur-Loire",
      "lat": 47.5754,
      "lon": 2.7435,
      "population": 3065,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chatillon-sur-loire.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chatillon-sur-loire.com/"
        }
      ]
    },
    {
      "insee": "45088",
      "name": "Chaussy",
      "lat": 48.1632,
      "lon": 1.9917,
      "population": 278,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45089",
      "name": "Chécy",
      "lat": 47.9019,
      "lon": 2.0223,
      "population": 9083,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://checy.fr/systeme/declaration-daccessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://checy.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://checy.fr/systeme/politique-de-confidentialite"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://checy.fr/"
        }
      ]
    },
    {
      "insee": "45091",
      "name": "Chevannes",
      "lat": 48.1345,
      "lon": 2.8532,
      "population": 306,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-chevannes45.fr/mentions-legales-mairie-45-loiret"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-chevannes45.fr/"
        }
      ]
    },
    {
      "insee": "45092",
      "name": "Chevillon-sur-Huillard",
      "lat": 47.9679,
      "lon": 2.6232,
      "population": 1506,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-chevillonsurhuillard.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-chevillonsurhuillard.fr/"
        }
      ]
    },
    {
      "insee": "45093",
      "name": "Chevilly",
      "lat": 48.0318,
      "lon": 1.8918,
      "population": 2663,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://chevilly.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chevilly.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chevilly.fr/"
        }
      ]
    },
    {
      "insee": "45094",
      "name": "Chevry-sous-le-Bignon",
      "lat": 48.1444,
      "lon": 2.8929,
      "population": 226,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chevry45.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chevry45.fr/"
        }
      ]
    },
    {
      "insee": "45095",
      "name": "Chilleurs-aux-Bois",
      "lat": 48.0621,
      "lon": 2.1412,
      "population": 2084,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chilleurs-aux-bois.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chilleurs-aux-bois.fr/"
        }
      ]
    },
    {
      "insee": "45096",
      "name": "Les Choux",
      "lat": 47.7886,
      "lon": 2.6549,
      "population": 530,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://leschoux45.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://leschoux45.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://leschoux45.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://leschoux45.fr/"
        }
      ]
    },
    {
      "insee": "45097",
      "name": "Chuelles",
      "lat": 47.9962,
      "lon": 2.9674,
      "population": 1237,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chuelles.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://chuelles.fr/"
        }
      ]
    },
    {
      "insee": "45098",
      "name": "Cléry-Saint-André",
      "lat": 47.8151,
      "lon": 1.7613,
      "population": 3596,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://clery-saint-andre.com/cookies"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://clery-saint-andre.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45099",
      "name": "Coinces",
      "lat": 48.014,
      "lon": 1.7282,
      "population": 501,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 11,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://coinces.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://coinces.fr/"
        }
      ]
    },
    {
      "insee": "45100",
      "name": "Combleux",
      "lat": 47.8991,
      "lon": 1.9847,
      "population": 547,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-combleux.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-combleux.fr/"
        }
      ]
    },
    {
      "insee": "45101",
      "name": "Combreux",
      "lat": 47.9585,
      "lon": 2.3046,
      "population": 266,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45102",
      "name": "Conflans-sur-Loing",
      "lat": 47.945,
      "lon": 2.7787,
      "population": 364,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://conflans-sur-loing.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://conflans-sur-loing.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://conflans-sur-loing.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://conflans-sur-loing.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://conflans-sur-loing.fr/fr"
        }
      ]
    },
    {
      "insee": "45103",
      "name": "Corbeilles",
      "lat": 48.0716,
      "lon": 2.5523,
      "population": 1548,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://corbeillesengatinais.fr/"
        }
      ]
    },
    {
      "insee": "45104",
      "name": "Corquilleroy",
      "lat": 48.0416,
      "lon": 2.6943,
      "population": 2891,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://corquilleroy.fr/bienvenue-dans-la-commune-de-corquilleroy/nous-contacter"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://corquilleroy.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://corquilleroy.fr/mentions-legales"
        }
      ]
    },
    {
      "insee": "45105",
      "name": "Cortrat",
      "lat": 47.9094,
      "lon": 2.771,
      "population": 80,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45107",
      "name": "Coudroy",
      "lat": 47.9002,
      "lon": 2.4648,
      "population": 291,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedecoudroy.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedecoudroy.fr/"
        }
      ]
    },
    {
      "insee": "45108",
      "name": "Coullons",
      "lat": 47.6188,
      "lon": 2.5064,
      "population": 2231,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://coullons.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://coullons.fr/"
        }
      ]
    },
    {
      "insee": "45109",
      "name": "Coulmiers",
      "lat": 47.934,
      "lon": 1.6605,
      "population": 576,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiecoulmiers.fr/"
        }
      ]
    },
    {
      "insee": "45110",
      "name": "Courcelles-le-Roi",
      "lat": 48.0984,
      "lon": 2.3301,
      "population": 316,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 5,
      "pagesCrawled": 6,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45111",
      "name": "Courcy-aux-Loges",
      "lat": 48.0548,
      "lon": 2.2188,
      "population": 454,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45112",
      "name": "La Cour-Marigny",
      "lat": 47.8923,
      "lon": 2.5851,
      "population": 379,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45113",
      "name": "Courtemaux",
      "lat": 48.0478,
      "lon": 2.9342,
      "population": 261,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://courtemaux.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://courtemaux.fr/"
        }
      ]
    },
    {
      "insee": "45114",
      "name": "Courtempierre",
      "lat": 48.093,
      "lon": 2.6396,
      "population": 210,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45115",
      "name": "Courtenay",
      "lat": 48.0285,
      "lon": 3.0646,
      "population": 3772,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://courtenay45.fr/"
        }
      ]
    },
    {
      "insee": "45116",
      "name": "Cravant",
      "lat": 47.8333,
      "lon": 1.5782,
      "population": 946,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://cravant-loiret.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://cravant-loiret.fr/"
        }
      ]
    },
    {
      "insee": "45118",
      "name": "Crottes-en-Pithiverais",
      "lat": 48.1125,
      "lon": 2.0634,
      "population": 321,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://crottes-teillay.fr/actualit%C3%A9s/archives-09-21-%C3%A0-12-21"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://crottes-teillay.fr/"
        }
      ]
    },
    {
      "insee": "45119",
      "name": "Dadonville",
      "lat": 48.1483,
      "lon": 2.2663,
      "population": 2354,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dadonville.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dadonville.fr/"
        }
      ]
    },
    {
      "insee": "45120",
      "name": "Dammarie-en-Puisaye",
      "lat": 47.632,
      "lon": 2.8619,
      "population": 171,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45121",
      "name": "Dammarie-sur-Loing",
      "lat": 47.7831,
      "lon": 2.8736,
      "population": 455,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://dammariesurloing.eu/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dammariesurloing.eu/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://dammariesurloing.eu/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dammariesurloing.eu/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dammariesurloing.eu/fr"
        }
      ]
    },
    {
      "insee": "45122",
      "name": "Dampierre-en-Burly",
      "lat": 47.7626,
      "lon": 2.5429,
      "population": 1466,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dampierre-en-burly.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dampierre-en-burly.fr/"
        }
      ]
    },
    {
      "insee": "45123",
      "name": "Darvoy",
      "lat": 47.8529,
      "lon": 2.0881,
      "population": 1930,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://darvoy.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://darvoy.fr/"
        }
      ]
    },
    {
      "insee": "45124",
      "name": "Desmonts",
      "lat": 48.2249,
      "lon": 2.4986,
      "population": 169,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45125",
      "name": "Dimancheville",
      "lat": 48.2393,
      "lon": 2.4248,
      "population": 105,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45126",
      "name": "Donnery",
      "lat": 47.9144,
      "lon": 2.11,
      "population": 2873,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://donnery.fr/systeme/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://donnery.fr/"
        }
      ]
    },
    {
      "insee": "45127",
      "name": "Dordives",
      "lat": 48.1435,
      "lon": 2.7741,
      "population": 3277,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://dordives.com/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dordives.com/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://dordives.com/"
        }
      ]
    },
    {
      "insee": "45129",
      "name": "Douchy-Montcorbon",
      "lat": 47.9518,
      "lon": 3.0713,
      "population": 1370,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://douchy-montcorbon.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://douchy-montcorbon.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://douchy-montcorbon.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://douchy-montcorbon.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://douchy-montcorbon.fr/fr"
        }
      ]
    },
    {
      "insee": "45130",
      "name": "Dry",
      "lat": 47.7922,
      "lon": 1.7266,
      "population": 1408,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairie-dry.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-dry.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairie-dry.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-dry.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-dry.fr/fr"
        }
      ]
    },
    {
      "insee": "45131",
      "name": "Échilleuses",
      "lat": 48.1702,
      "lon": 2.4444,
      "population": 390,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://echilleuses.fr/informations-legales/mentions-legales-7589"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://echilleuses.fr/"
        }
      ]
    },
    {
      "insee": "45132",
      "name": "Égry",
      "lat": 48.1015,
      "lon": 2.4403,
      "population": 357,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45133",
      "name": "Engenville",
      "lat": 48.2369,
      "lon": 2.237,
      "population": 527,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45134",
      "name": "Épieds-en-Beauce",
      "lat": 47.9633,
      "lon": 1.6066,
      "population": 1459,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://epiedsenbeauce.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://epiedsenbeauce.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://epiedsenbeauce.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://epiedsenbeauce.fr/"
        }
      ]
    },
    {
      "insee": "45135",
      "name": "Erceville",
      "lat": 48.2447,
      "lon": 2.0289,
      "population": 291,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45136",
      "name": "Ervauville",
      "lat": 48.0931,
      "lon": 2.9842,
      "population": 561,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://commune-ervauville.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://commune-ervauville.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://commune-ervauville.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://commune-ervauville.fr/fr"
        }
      ]
    },
    {
      "insee": "45137",
      "name": "Escrennes",
      "lat": 48.1364,
      "lon": 2.184,
      "population": 697,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45138",
      "name": "Escrignelles",
      "lat": 47.7111,
      "lon": 2.8217,
      "population": 64,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45139",
      "name": "Estouy",
      "lat": 48.1912,
      "lon": 2.3238,
      "population": 508,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45141",
      "name": "Faverelles",
      "lat": 47.5929,
      "lon": 2.9439,
      "population": 184,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45142",
      "name": "Fay-aux-Loges",
      "lat": 47.9315,
      "lon": 2.1589,
      "population": 3916,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 5,
      "pagesCrawled": 31,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-fayauxloges.fr/declaration-daccessibilite-partiellement-conforme"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-fayauxloges.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-fayauxloges.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-fayauxloges.fr/"
        }
      ]
    },
    {
      "insee": "45143",
      "name": "Feins-en-Gâtinais",
      "lat": 47.7495,
      "lon": 2.8348,
      "population": 29,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45144",
      "name": "Férolles",
      "lat": 47.825,
      "lon": 2.1243,
      "population": 1127,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ferolles.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ferolles.fr/"
        }
      ]
    },
    {
      "insee": "45145",
      "name": "Ferrières-en-Gâtinais",
      "lat": 48.0992,
      "lon": 2.8122,
      "population": 3839,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ferrieresengatinais.fr/systeme/declaration-daccessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ferrieresengatinais.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ferrieresengatinais.fr/systeme/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ferrieresengatinais.fr/"
        }
      ]
    },
    {
      "insee": "45146",
      "name": "La Ferté-Saint-Aubin",
      "lat": 47.7122,
      "lon": 1.9129,
      "population": 7284,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 30,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lafertesaintaubin.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lafertesaintaubin.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lafertesaintaubin.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lafertesaintaubin.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lafertesaintaubin.fr/"
        }
      ]
    },
    {
      "insee": "45147",
      "name": "Fleury-les-Aubrais",
      "lat": 47.9449,
      "lon": 1.9223,
      "population": 21804,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://fleurylesaubrais.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://fleurylesaubrais.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://fleurylesaubrais.fr/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://fleurylesaubrais.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://fleurylesaubrais.fr/"
        }
      ]
    },
    {
      "insee": "45148",
      "name": "Fontenay-sur-Loing",
      "lat": 48.0863,
      "lon": 2.769,
      "population": 1659,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairie-fontenaysurloing.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairie-fontenaysurloing.fr/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-fontenaysurloing.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-fontenaysurloing.fr/"
        }
      ]
    },
    {
      "insee": "45149",
      "name": "Foucherolles",
      "lat": 48.0935,
      "lon": 3.0191,
      "population": 319,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://foucherolles.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://foucherolles.fr/"
        }
      ]
    },
    {
      "insee": "45150",
      "name": "Fréville-du-Gâtinais",
      "lat": 48.0215,
      "lon": 2.4457,
      "population": 175,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://frevilledugatinais.fr/informations-legales/mentions-legales-9058"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://frevilledugatinais.fr/"
        }
      ]
    },
    {
      "insee": "45151",
      "name": "Gaubertin",
      "lat": 48.1256,
      "lon": 2.4283,
      "population": 251,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45152",
      "name": "Gémigny",
      "lat": 47.9631,
      "lon": 1.7036,
      "population": 217,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45153",
      "name": "Germigny-des-Prés",
      "lat": 47.8406,
      "lon": 2.2709,
      "population": 696,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://germigny-des-pres.fr/contact"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://germigny-des-pres.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://germigny-des-pres.fr/"
        }
      ]
    },
    {
      "insee": "45154",
      "name": "Gidy",
      "lat": 47.991,
      "lon": 1.8326,
      "population": 2084,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://gidy.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://gidy.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://gidy.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://gidy.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://gidy.fr/fr"
        }
      ]
    },
    {
      "insee": "45155",
      "name": "Gien",
      "lat": 47.7175,
      "lon": 2.6687,
      "population": 13459,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://villedegien.fr/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villedegien.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villedegien.fr/"
        }
      ]
    },
    {
      "insee": "45156",
      "name": "Girolles",
      "lat": 48.0705,
      "lon": 2.7217,
      "population": 596,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 30,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://girolles45.fr/essai-mentions-legales-actualisees"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://girolles45.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://girolles45.fr/"
        }
      ]
    },
    {
      "insee": "45157",
      "name": "Givraines",
      "lat": 48.151,
      "lon": 2.3851,
      "population": 423,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://givraines.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://givraines.fr/"
        }
      ]
    },
    {
      "insee": "45158",
      "name": "Gondreville",
      "lat": 48.0516,
      "lon": 2.6492,
      "population": 340,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45159",
      "name": "Grangermont",
      "lat": 48.1878,
      "lon": 2.4279,
      "population": 175,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://grangermont.fr/informations-legales/mentions-legales-9603"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://grangermont.fr/"
        }
      ]
    },
    {
      "insee": "45160",
      "name": "Greneville-en-Beauce",
      "lat": 48.1936,
      "lon": 2.1155,
      "population": 654,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://greneville-en-beauce.com/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://greneville-en-beauce.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://greneville-en-beauce.com/"
        }
      ]
    },
    {
      "insee": "45161",
      "name": "Griselles",
      "lat": 48.0755,
      "lon": 2.8364,
      "population": 826,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://griselles.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://griselles.fr/"
        }
      ]
    },
    {
      "insee": "45162",
      "name": "Guigneville",
      "lat": 48.2182,
      "lon": 2.1769,
      "population": 540,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45164",
      "name": "Guilly",
      "lat": 47.7986,
      "lon": 2.2679,
      "population": 659,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-guilly.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-guilly.com/"
        }
      ]
    },
    {
      "insee": "45165",
      "name": "Gy-les-Nonains",
      "lat": 47.9265,
      "lon": 2.8458,
      "population": 604,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://gy-les-nonains.fr/privacy.html"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://gy-les-nonains.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://gy-les-nonains.fr/"
        }
      ]
    },
    {
      "insee": "45166",
      "name": "Huêtre",
      "lat": 48.0272,
      "lon": 1.8031,
      "population": 280,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45167",
      "name": "Huisseau-sur-Mauves",
      "lat": 47.8931,
      "lon": 1.7,
      "population": 1778,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://huisseausurmauves.fr/vie-municipale/deliberations-du-conseil"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://huisseausurmauves.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://huisseausurmauves.fr/mentions-legales"
        }
      ]
    },
    {
      "insee": "45168",
      "name": "Ingrannes",
      "lat": 47.9908,
      "lon": 2.2201,
      "population": 532,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 5,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ingrannes.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ingrannes.fr/"
        }
      ]
    },
    {
      "insee": "45169",
      "name": "Ingré",
      "lat": 47.9218,
      "lon": 1.8161,
      "population": 10062,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ingre.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ingre.fr/"
        }
      ]
    },
    {
      "insee": "45170",
      "name": "Intville-la-Guétard",
      "lat": 48.2541,
      "lon": 2.2177,
      "population": 164,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45171",
      "name": "Isdes",
      "lat": 47.6618,
      "lon": 2.2583,
      "population": 524,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 20,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://isdes.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        }
      ]
    },
    {
      "insee": "45173",
      "name": "Jargeau",
      "lat": 47.8517,
      "lon": 2.1088,
      "population": 4610,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://jargeau.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://jargeau.fr/"
        }
      ]
    },
    {
      "insee": "45174",
      "name": "Jouy-en-Pithiverais",
      "lat": 48.1508,
      "lon": 2.1261,
      "population": 263,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 23,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://jouy-en-pithiverais.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://jouy-en-pithiverais.fr/fr/politique-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://jouy-en-pithiverais.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://jouy-en-pithiverais.fr/"
        }
      ]
    },
    {
      "insee": "45175",
      "name": "Jouy-le-Potier",
      "lat": 47.7456,
      "lon": 1.8073,
      "population": 1643,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://jouy-le-potier.fr/declaration-daccessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://jouy-le-potier.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://jouy-le-potier.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://jouy-le-potier.fr/"
        }
      ]
    },
    {
      "insee": "45176",
      "name": "Juranville",
      "lat": 48.0618,
      "lon": 2.4794,
      "population": 450,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://pithiveraisgatinais.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiveraisgatinais.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiveraisgatinais.fr/"
        }
      ]
    },
    {
      "insee": "45177",
      "name": "Laas",
      "lat": 48.1206,
      "lon": 2.2176,
      "population": 243,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45178",
      "name": "Ladon",
      "lat": 48.0098,
      "lon": 2.5327,
      "population": 1392,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairiedeladon.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairiedeladon.fr/donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedeladon.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedeladon.fr/"
        }
      ]
    },
    {
      "insee": "45179",
      "name": "Lailly-en-Val",
      "lat": 47.747,
      "lon": 1.7185,
      "population": 3101,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://laillyenval.fr/mentions-l%C3%A9gales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://laillyenval.fr/"
        }
      ]
    },
    {
      "insee": "45180",
      "name": "Langesse",
      "lat": 47.8184,
      "lon": 2.6468,
      "population": 91,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://langesse.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://langesse.fr/"
        }
      ]
    },
    {
      "insee": "45181",
      "name": "Léouville",
      "lat": 48.2238,
      "lon": 2.0877,
      "population": 85,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45182",
      "name": "Ligny-le-Ribault",
      "lat": 47.6803,
      "lon": 1.7869,
      "population": 1252,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lignyleribault.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lignyleribault.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lignyleribault.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lignyleribault.fr/"
        }
      ]
    },
    {
      "insee": "45183",
      "name": "Lion-en-Beauce",
      "lat": 48.1326,
      "lon": 1.933,
      "population": 120,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45184",
      "name": "Lion-en-Sullias",
      "lat": 47.7276,
      "lon": 2.478,
      "population": 382,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 30,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lionensullias.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lionensullias.fr/"
        }
      ]
    },
    {
      "insee": "45185",
      "name": "Lombreuil",
      "lat": 47.9415,
      "lon": 2.6263,
      "population": 307,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lombreuil.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lombreuil.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lombreuil.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lombreuil.fr/fr"
        }
      ]
    },
    {
      "insee": "45186",
      "name": "Lorcy",
      "lat": 48.0459,
      "lon": 2.5314,
      "population": 591,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45187",
      "name": "Lorris",
      "lat": 47.863,
      "lon": 2.502,
      "population": 2996,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lorris.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lorris.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lorris.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lorris.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lorris.fr/"
        }
      ]
    },
    {
      "insee": "45188",
      "name": "Loury",
      "lat": 48.0047,
      "lon": 2.0997,
      "population": 2616,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 30,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://ville-loury.fr/Accessibilite/17"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-loury.fr/Mentions-legales/15"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-loury.fr/Mentions-legales/15"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-loury.fr/"
        }
      ]
    },
    {
      "insee": "45189",
      "name": "Louzouer",
      "lat": 48.0344,
      "lon": 2.8683,
      "population": 247,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45191",
      "name": "Le Malesherbois",
      "lat": 48.2745,
      "lon": 2.3392,
      "population": 8016,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 25,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lemalesherbois.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lemalesherbois.fr/"
        }
      ]
    },
    {
      "insee": "45193",
      "name": "Marcilly-en-Villette",
      "lat": 47.7748,
      "lon": 2.0323,
      "population": 2180,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://marcilly-en-villette.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://marcilly-en-villette.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://marcilly-en-villette.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://marcilly-en-villette.fr/"
        }
      ]
    },
    {
      "insee": "45194",
      "name": "Mardié",
      "lat": 47.9028,
      "lon": 2.0721,
      "population": 3078,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-mardie.fr/mentions-legales-et-protection-des-donnees"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-mardie.fr/mentions-legales-et-protection-des-donnees"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-mardie.fr/"
        }
      ]
    },
    {
      "insee": "45195",
      "name": "Mareau-aux-Bois",
      "lat": 48.0968,
      "lon": 2.1925,
      "population": 570,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45196",
      "name": "Mareau-aux-Prés",
      "lat": 47.8426,
      "lon": 1.769,
      "population": 1669,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mareauauxpres.com/contacter-mareau-aux-pres"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mareauauxpres.com/"
        }
      ]
    },
    {
      "insee": "45197",
      "name": "Marigny-les-Usages",
      "lat": 47.9583,
      "lon": 2.0152,
      "population": 1887,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://marignylesusages.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://marignylesusages.fr/"
        }
      ]
    },
    {
      "insee": "45198",
      "name": "Marsainvilliers",
      "lat": 48.2129,
      "lon": 2.2737,
      "population": 303,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45199",
      "name": "Melleroy",
      "lat": 47.8904,
      "lon": 2.9596,
      "population": 516,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-melleroy.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-melleroy.fr/"
        }
      ]
    },
    {
      "insee": "45200",
      "name": "Ménestreau-en-Villette",
      "lat": 47.704,
      "lon": 2.0408,
      "population": 1370,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://menestreau-en-villette.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://menestreau-en-villette.fr/"
        }
      ]
    },
    {
      "insee": "45201",
      "name": "Mérinville",
      "lat": 48.09,
      "lon": 2.9406,
      "population": 171,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45202",
      "name": "Messas",
      "lat": 47.8083,
      "lon": 1.6353,
      "population": 1003,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://messas.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://messas.fr/"
        }
      ]
    },
    {
      "insee": "45203",
      "name": "Meung-sur-Loire",
      "lat": 47.8396,
      "lon": 1.6918,
      "population": 6670,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 31,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://meung-sur-loire.com/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://meung-sur-loire.com/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://meung-sur-loire.com/traitement-de-donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://meung-sur-loire.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://meung-sur-loire.com/"
        }
      ]
    },
    {
      "insee": "45204",
      "name": "Mézières-lez-Cléry",
      "lat": 47.8115,
      "lon": 1.8212,
      "population": 883,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 4,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mezieres-lez-clery.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mezieres-lez-clery.fr/"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mezieres-lez-clery.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45205",
      "name": "Mézières-en-Gâtinais",
      "lat": 48.023,
      "lon": 2.4795,
      "population": 261,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45206",
      "name": "Mignères",
      "lat": 48.052,
      "lon": 2.6199,
      "population": 308,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45207",
      "name": "Mignerette",
      "lat": 48.0596,
      "lon": 2.6064,
      "population": 350,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45208",
      "name": "Montargis",
      "lat": 47.9998,
      "lon": 2.7388,
      "population": 14825,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://montargis.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://montargis.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://montargis.fr/"
        }
      ]
    },
    {
      "insee": "45209",
      "name": "Montbarrois",
      "lat": 48.0487,
      "lon": 2.3956,
      "population": 294,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45210",
      "name": "Montbouy",
      "lat": 47.868,
      "lon": 2.8251,
      "population": 725,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 6,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45212",
      "name": "Montcresson",
      "lat": 47.9114,
      "lon": 2.8082,
      "population": 1262,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        }
      ]
    },
    {
      "insee": "45213",
      "name": "Montereau",
      "lat": 47.8342,
      "lon": 2.5545,
      "population": 645,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45214",
      "name": "Montigny",
      "lat": 48.107,
      "lon": 2.1169,
      "population": 246,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45215",
      "name": "Montliard",
      "lat": 48.0172,
      "lon": 2.4011,
      "population": 223,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://montliard.fr/informations-legales/mentions-legales-7183"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://montliard.fr/"
        }
      ]
    },
    {
      "insee": "45216",
      "name": "Mormant-sur-Vernisson",
      "lat": 47.9427,
      "lon": 2.7287,
      "population": 138,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45217",
      "name": "Morville-en-Beauce",
      "lat": 48.2567,
      "lon": 2.1614,
      "population": 175,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://morvilleenbeauce.fr/contact/demande-de-reservation-salle-polyvalente.html"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://morvilleenbeauce.fr/"
        }
      ]
    },
    {
      "insee": "45218",
      "name": "Le Moulinet-sur-Solin",
      "lat": 47.8177,
      "lon": 2.613,
      "population": 136,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://le-moulinet-sur-solin.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://le-moulinet-sur-solin.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://le-moulinet-sur-solin.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://le-moulinet-sur-solin.fr/"
        }
      ]
    },
    {
      "insee": "45219",
      "name": "Moulon",
      "lat": 48.0214,
      "lon": 2.5967,
      "population": 178,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45220",
      "name": "Nancray-sur-Rimarde",
      "lat": 48.0661,
      "lon": 2.3239,
      "population": 569,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45222",
      "name": "Nargis",
      "lat": 48.1105,
      "lon": 2.7397,
      "population": 1422,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 23,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-nargis.com/"
        }
      ]
    },
    {
      "insee": "45223",
      "name": "Nesploy",
      "lat": 47.9968,
      "lon": 2.3673,
      "population": 367,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45224",
      "name": "Neuville-aux-Bois",
      "lat": 48.0682,
      "lon": 2.0592,
      "population": 4987,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-neuvilleauxbois.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-neuvilleauxbois.fr/"
        }
      ]
    },
    {
      "insee": "45225",
      "name": "La Neuville-sur-Essonne",
      "lat": 48.1805,
      "lon": 2.3798,
      "population": 359,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 21,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://mairie-laneuvillesuressonne.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://mairie-laneuvillesuressonne.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://mairie-laneuvillesuressonne.fr/"
        }
      ]
    },
    {
      "insee": "45226",
      "name": "Neuvy-en-Sullias",
      "lat": 47.7767,
      "lon": 2.245,
      "population": 1348,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://neuvy-en-sullias.fr/mentions-legales-et-accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://neuvy-en-sullias.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://neuvy-en-sullias.fr/"
        }
      ]
    },
    {
      "insee": "45227",
      "name": "Nevoy",
      "lat": 47.733,
      "lon": 2.5871,
      "population": 1163,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45228",
      "name": "Nibelle",
      "lat": 48.0147,
      "lon": 2.3121,
      "population": 1171,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://nibelle.fr/informations-legales/mentions-legales-6581"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://nibelle.fr/"
        }
      ]
    },
    {
      "insee": "45229",
      "name": "Nogent-sur-Vernisson",
      "lat": 47.8338,
      "lon": 2.726,
      "population": 2559,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://nogentsurvernisson.fr/accessibilite-non-conforme"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://nogentsurvernisson.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://nogentsurvernisson.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://nogentsurvernisson.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://nogentsurvernisson.fr/"
        }
      ]
    },
    {
      "insee": "45230",
      "name": "Noyers",
      "lat": 47.9077,
      "lon": 2.5355,
      "population": 755,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://noyers.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://noyers.fr/"
        }
      ]
    },
    {
      "insee": "45231",
      "name": "Oison",
      "lat": 48.1338,
      "lon": 1.9807,
      "population": 120,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45232",
      "name": "Olivet",
      "lat": 47.8559,
      "lon": 1.8913,
      "population": 23507,
      "declaration": "PASS",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://olivet.fr/fr/accessibilit%C3%A9"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://olivet.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://olivet.fr/fr"
        }
      ]
    },
    {
      "insee": "45233",
      "name": "Ondreville-sur-Essonne",
      "lat": 48.1985,
      "lon": 2.4176,
      "population": 400,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ondreville-sur-essonne.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ondreville-sur-essonne.fr/mentions-legales"
        }
      ]
    },
    {
      "insee": "45234",
      "name": "Orléans",
      "lat": 47.8734,
      "lon": 1.9122,
      "population": 116357,
      "declaration": "PASS",
      "obligationsMet": 6,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://orleans.fr/declaration-daccessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://orleans.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://orleans.fr/declaration-daccessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://orleans.fr/mentions-legales-1"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://orleans.fr/mentions-legales-1"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://orleans.fr/"
        }
      ]
    },
    {
      "insee": "45235",
      "name": "Ormes",
      "lat": 47.946,
      "lon": 1.8085,
      "population": 4376,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 5,
      "pagesCrawled": 31,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-ormes.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-ormes.fr/politique-de-gestion-des-donnees-personnelles"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-ormes.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-ormes.fr/"
        }
      ]
    },
    {
      "insee": "45237",
      "name": "Orville",
      "lat": 48.243,
      "lon": 2.4582,
      "population": 128,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45238",
      "name": "Ousson-sur-Loire",
      "lat": 47.6036,
      "lon": 2.7943,
      "population": 696,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45239",
      "name": "Oussoy-en-Gâtinais",
      "lat": 47.9002,
      "lon": 2.6396,
      "population": 425,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://oussoyengatinais.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://oussoyengatinais.fr/fr/politique-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://oussoyengatinais.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://oussoyengatinais.fr/"
        }
      ]
    },
    {
      "insee": "45240",
      "name": "Outarville",
      "lat": 48.2151,
      "lon": 2.0215,
      "population": 1343,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45241",
      "name": "Ouvrouer-les-Champs",
      "lat": 47.8367,
      "lon": 2.1799,
      "population": 536,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ouvrouer-les-champs.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ouvrouer-les-champs.fr/"
        }
      ]
    },
    {
      "insee": "45242",
      "name": "Ouzouer-des-Champs",
      "lat": 47.8771,
      "lon": 2.7048,
      "population": 279,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 5,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/ouzouer-des-champs/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/ouzouer-des-champs"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/ouzouer-des-champs/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/ouzouer-des-champs"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/ouzouer-des-champs"
        }
      ]
    },
    {
      "insee": "45243",
      "name": "Ouzouer-sous-Bellegarde",
      "lat": 47.9893,
      "lon": 2.4814,
      "population": 311,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45244",
      "name": "Ouzouer-sur-Loire",
      "lat": 47.7862,
      "lon": 2.47,
      "population": 2543,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ouzouersurloire.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ouzouersurloire.fr/"
        }
      ]
    },
    {
      "insee": "45245",
      "name": "Ouzouer-sur-Trézée",
      "lat": 47.6708,
      "lon": 2.8138,
      "population": 1125,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ouzouer-sur-trezee.fr/"
        }
      ]
    },
    {
      "insee": "45246",
      "name": "Pannecières",
      "lat": 48.296,
      "lon": 2.1388,
      "population": 114,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45247",
      "name": "Pannes",
      "lat": 48.0119,
      "lon": 2.6708,
      "population": 3740,
      "declaration": "PASS",
      "obligationsMet": 6,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-pannes.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-pannes.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-pannes.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-pannes.fr/confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-pannes.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-pannes.fr/"
        }
      ]
    },
    {
      "insee": "45248",
      "name": "Patay",
      "lat": 48.0513,
      "lon": 1.6936,
      "population": 2384,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://patay.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://patay.fr/"
        }
      ]
    },
    {
      "insee": "45249",
      "name": "Paucourt",
      "lat": 48.0423,
      "lon": 2.7888,
      "population": 927,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://commune-paucourt.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://commune-paucourt.fr/"
        }
      ]
    },
    {
      "insee": "45250",
      "name": "Pers-en-Gâtinais",
      "lat": 48.116,
      "lon": 2.9026,
      "population": 239,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://pers-en-gatinais.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pers-en-gatinais.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://pers-en-gatinais.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pers-en-gatinais.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pers-en-gatinais.fr/fr"
        }
      ]
    },
    {
      "insee": "45251",
      "name": "Pierrefitte-ès-Bois",
      "lat": 47.5121,
      "lon": 2.6922,
      "population": 282,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45252",
      "name": "Pithiviers",
      "lat": 48.1805,
      "lon": 2.2501,
      "population": 8856,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers.fr/systeme/declaration-accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers.fr/systeme/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers.fr/"
        }
      ]
    },
    {
      "insee": "45253",
      "name": "Pithiviers-le-Vieil",
      "lat": 48.1732,
      "lon": 2.2038,
      "population": 1718,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://pithiviers-le-vieil.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers-le-vieil.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers-le-vieil.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers-le-vieil.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://pithiviers-le-vieil.fr/fr"
        }
      ]
    },
    {
      "insee": "45254",
      "name": "Poilly-lez-Gien",
      "lat": 47.6591,
      "lon": 2.5906,
      "population": 2465,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://poillylezgien.com/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://poillylezgien.com/"
        }
      ]
    },
    {
      "insee": "45255",
      "name": "Préfontaines",
      "lat": 48.1063,
      "lon": 2.6889,
      "population": 428,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45256",
      "name": "Presnoy",
      "lat": 47.9574,
      "lon": 2.5592,
      "population": 257,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://presnoy.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://presnoy.fr/"
        }
      ]
    },
    {
      "insee": "45257",
      "name": "Pressigny-les-Pins",
      "lat": 47.8789,
      "lon": 2.7656,
      "population": 527,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45258",
      "name": "Puiseaux",
      "lat": 48.2084,
      "lon": 2.4679,
      "population": 3299,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 5,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/puiseaux/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/puiseaux"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/puiseaux/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/puiseaux"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://intramuros.org/puiseaux"
        }
      ]
    },
    {
      "insee": "45259",
      "name": "Quiers-sur-Bezonde",
      "lat": 47.9863,
      "lon": 2.4223,
      "population": 1183,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://quiers-sur-bezonde.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://quiers-sur-bezonde.fr/"
        }
      ]
    },
    {
      "insee": "45260",
      "name": "Ramoulu",
      "lat": 48.2306,
      "lon": 2.3043,
      "population": 241,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45261",
      "name": "Rebréchien",
      "lat": 47.9932,
      "lon": 2.023,
      "population": 1441,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45262",
      "name": "Rouvray-Sainte-Croix",
      "lat": 48.0544,
      "lon": 1.7391,
      "population": 135,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45263",
      "name": "Rouvres-Saint-Jean",
      "lat": 48.327,
      "lon": 2.214,
      "population": 298,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45264",
      "name": "Rozières-en-Beauce",
      "lat": 47.9376,
      "lon": 1.7085,
      "population": 183,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45265",
      "name": "Rozoy-le-Vieil",
      "lat": 48.1184,
      "lon": 2.9552,
      "population": 393,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://rozoy-le-vieil.fr/mention-legale"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://rozoy-le-vieil.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://rozoy-le-vieil.fr/"
        }
      ]
    },
    {
      "insee": "45266",
      "name": "Ruan",
      "lat": 48.1088,
      "lon": 1.9277,
      "population": 200,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45268",
      "name": "Saint-Aignan-le-Jaillard",
      "lat": 47.7312,
      "lon": 2.426,
      "population": 596,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45269",
      "name": "Saint-Ay",
      "lat": 47.8663,
      "lon": 1.7495,
      "population": 3766,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://ville-saint-ay.fr/mentions-legales-site-mairie-45-loiret"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saint-ay.fr/mentions-legales-site-mairie-45-loiret"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saint-ay.fr/"
        }
      ]
    },
    {
      "insee": "45270",
      "name": "Saint-Benoît-sur-Loire",
      "lat": 47.81,
      "lon": 2.3195,
      "population": 1982,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-benoit-sur-loire.fr/contact"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-benoit-sur-loire.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-benoit-sur-loire.fr/"
        }
      ]
    },
    {
      "insee": "45271",
      "name": "Saint-Brisson-sur-Loire",
      "lat": 47.6306,
      "lon": 2.6759,
      "population": 962,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45272",
      "name": "Saint-Cyr-en-Val",
      "lat": 47.814,
      "lon": 1.9551,
      "population": 3467,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-saintcyrenval.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-saintcyrenval.fr/"
        }
      ]
    },
    {
      "insee": "45273",
      "name": "Saint-Denis-de-l'Hôtel",
      "lat": 47.8839,
      "lon": 2.1496,
      "population": 3065,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saintdenisdelhotel.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintdenisdelhotel.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintdenisdelhotel.fr/mentions-legales-ville-de-saint-denis-de-lhotel"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintdenisdelhotel.fr/"
        }
      ]
    },
    {
      "insee": "45274",
      "name": "Saint-Denis-en-Val",
      "lat": 47.8791,
      "lon": 1.9714,
      "population": 7766,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintdenisenval.com/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintdenisenval.com/"
        }
      ]
    },
    {
      "insee": "45275",
      "name": "Saint-Firmin-des-Bois",
      "lat": 47.967,
      "lon": 2.9161,
      "population": 497,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saintfirmindesbois.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintfirmindesbois.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintfirmindesbois.fr/"
        }
      ]
    },
    {
      "insee": "45276",
      "name": "Saint-Firmin-sur-Loire",
      "lat": 47.608,
      "lon": 2.6964,
      "population": 508,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45277",
      "name": "Saint-Florent-le-Jeune",
      "lat": 47.6865,
      "lon": 2.458,
      "population": 442,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saint-florent-le-jeune.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saint-florent-le-jeune.fr/"
        }
      ]
    },
    {
      "insee": "45278",
      "name": "Sainte-Geneviève-des-Bois",
      "lat": 47.8105,
      "lon": 2.7932,
      "population": 1054,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://saintegenevievedesbois.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://saintegenevievedesbois.fr/fr/politique-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://saintegenevievedesbois.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://saintegenevievedesbois.fr/"
        }
      ]
    },
    {
      "insee": "45279",
      "name": "Saint-Germain-des-Prés",
      "lat": 47.9652,
      "lon": 2.8421,
      "population": 1849,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saint-germain-des-pres-loiret.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-germain-des-pres-loiret.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saint-germain-des-pres-loiret.fr/fr"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-germain-des-pres-loiret.fr/fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-germain-des-pres-loiret.fr/fr"
        }
      ]
    },
    {
      "insee": "45280",
      "name": "Saint-Gondon",
      "lat": 47.6912,
      "lon": 2.5389,
      "population": 1038,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saintgondon.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintgondon.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintgondon.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintgondon.fr/"
        }
      ]
    },
    {
      "insee": "45281",
      "name": "Saint-Hilaire-les-Andrésis",
      "lat": 48.0527,
      "lon": 3.0174,
      "population": 952,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saint-hilaire-les-andresis.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-hilaire-les-andresis.fr/fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saint-hilaire-les-andresis.fr/fr/r"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-hilaire-les-andresis.fr/fr/r"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-hilaire-les-andresis.fr/fr/r"
        }
      ]
    },
    {
      "insee": "45282",
      "name": "Saint-Hilaire-Saint-Mesmin",
      "lat": 47.8497,
      "lon": 1.8313,
      "population": 3261,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-hilaire-saint-mesmin.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-hilaire-saint-mesmin.fr/"
        }
      ]
    },
    {
      "insee": "45283",
      "name": "Saint-Hilaire-sur-Puiseaux",
      "lat": 47.9076,
      "lon": 2.698,
      "population": 151,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45284",
      "name": "Saint-Jean-de-Braye",
      "lat": 47.9216,
      "lon": 1.9695,
      "population": 23147,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeandebraye.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeandebraye.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeandebraye.fr/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeandebraye.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeandebraye.fr/"
        }
      ]
    },
    {
      "insee": "45285",
      "name": "Saint-Jean-de-la-Ruelle",
      "lat": 47.9101,
      "lon": 1.872,
      "population": 16768,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saintjeandelaruelle.fr/declaration-d-accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saintjeandelaruelle.fr/declaration-d-accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saintjeandelaruelle.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saintjeandelaruelle.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saintjeandelaruelle.fr/"
        }
      ]
    },
    {
      "insee": "45286",
      "name": "Saint-Jean-le-Blanc",
      "lat": 47.8825,
      "lon": 1.9345,
      "population": 9562,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeanleblanc.com/Rub_82/Mentions-legales.html"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeanleblanc.com/Rub_82/Mentions-legales.html"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintjeanleblanc.com/"
        }
      ]
    },
    {
      "insee": "45288",
      "name": "Saint-Loup-des-Vignes",
      "lat": 48.0421,
      "lon": 2.4251,
      "population": 386,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45289",
      "name": "Saint-Lyé-la-Forêt",
      "lat": 48.0343,
      "lon": 1.9712,
      "population": 1257,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-saint-lye-la-foret.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-saint-lye-la-foret.fr/"
        }
      ]
    },
    {
      "insee": "45290",
      "name": "Saint-Martin-d'Abbat",
      "lat": 47.8792,
      "lon": 2.3097,
      "population": 1851,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saintmartindabbat.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintmartindabbat.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://saintmartindabbat.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintmartindabbat.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintmartindabbat.fr/"
        }
      ]
    },
    {
      "insee": "45291",
      "name": "Saint-Martin-sur-Ocre",
      "lat": 47.6461,
      "lon": 2.6477,
      "population": 1222,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45292",
      "name": "Saint-Maurice-sur-Aveyron",
      "lat": 47.8406,
      "lon": 2.9548,
      "population": 836,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintmauricesuraveyron.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintmauricesuraveyron.fr/"
        }
      ]
    },
    {
      "insee": "45293",
      "name": "Saint-Maurice-sur-Fessard",
      "lat": 47.9913,
      "lon": 2.6157,
      "population": 1161,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-saintmauricesurfessard.fr/bienvenue-sur-le-site-de-saint-maurice-sur-fessard/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-saintmauricesurfessard.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-saintmauricesurfessard.fr/"
        }
      ]
    },
    {
      "insee": "45294",
      "name": "Saint-Michel",
      "lat": 48.0625,
      "lon": 2.3693,
      "population": 151,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45296",
      "name": "Saint-Péravy-la-Colombe",
      "lat": 48.0027,
      "lon": 1.6937,
      "population": 777,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45297",
      "name": "Saint-Père-sur-Loire",
      "lat": 47.7839,
      "lon": 2.379,
      "population": 1034,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintperesurloire.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saintperesurloire.fr/"
        }
      ]
    },
    {
      "insee": "45298",
      "name": "Saint-Pryvé-Saint-Mesmin",
      "lat": 47.8796,
      "lon": 1.8448,
      "population": 6256,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-pryve.com/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://saint-pryve.com/"
        }
      ]
    },
    {
      "insee": "45299",
      "name": "Saint-Sigismond",
      "lat": 47.9834,
      "lon": 1.6683,
      "population": 269,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45300",
      "name": "Sandillon",
      "lat": 47.8371,
      "lon": 2.0307,
      "population": 4300,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sandillon.fr/systeme/declaration-accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sandillon.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://sandillon.fr/systeme/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sandillon.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sandillon.fr/"
        }
      ]
    },
    {
      "insee": "45301",
      "name": "Santeau",
      "lat": 48.095,
      "lon": 2.1491,
      "population": 390,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45302",
      "name": "Saran",
      "lat": 47.9479,
      "lon": 1.8806,
      "population": 17316,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 2,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saran.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-saran.fr/"
        }
      ]
    },
    {
      "insee": "45303",
      "name": "Sceaux-du-Gâtinais",
      "lat": 48.1126,
      "lon": 2.592,
      "population": 606,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45305",
      "name": "Seichebrières",
      "lat": 47.9854,
      "lon": 2.2749,
      "population": 218,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45306",
      "name": "La Selle-en-Hermoy",
      "lat": 48.0065,
      "lon": 2.8843,
      "population": 784,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://laselleenhermoy.fr/mentions-legales-site-45-centre-val-de-loire"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://laselleenhermoy.fr/mentions-legales-site-45-centre-val-de-loire"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://laselleenhermoy.fr/"
        }
      ]
    },
    {
      "insee": "45307",
      "name": "La Selle-sur-le-Bied",
      "lat": 48.0778,
      "lon": 2.9028,
      "population": 1151,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://lasellesurlebied.fr/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lasellesurlebied.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://lasellesurlebied.fr/"
        }
      ]
    },
    {
      "insee": "45308",
      "name": "Semoy",
      "lat": 47.9363,
      "lon": 1.9652,
      "population": 3269,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "links"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-semoy.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://ville-semoy.fr/"
        }
      ]
    },
    {
      "insee": "45309",
      "name": "Sennely",
      "lat": 47.7066,
      "lon": 2.1379,
      "population": 677,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sennely.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sennely.fr/"
        }
      ]
    },
    {
      "insee": "45310",
      "name": "Sermaises",
      "lat": 48.2956,
      "lon": 2.2055,
      "population": 1709,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45311",
      "name": "Sigloy",
      "lat": 47.8391,
      "lon": 2.2231,
      "population": 654,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sigloy.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sigloy.fr/"
        }
      ]
    },
    {
      "insee": "45312",
      "name": "Solterre",
      "lat": 47.9101,
      "lon": 2.736,
      "population": 466,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 2,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://solterre.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://solterre.fr/"
        }
      ]
    },
    {
      "insee": "45313",
      "name": "Sougy",
      "lat": 48.0611,
      "lon": 1.7974,
      "population": 853,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45314",
      "name": "Sully-la-Chapelle",
      "lat": 47.9865,
      "lon": 2.1756,
      "population": 464,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sullylachapelle.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sullylachapelle.fr/mentions-legales"
        }
      ]
    },
    {
      "insee": "45315",
      "name": "Sully-sur-Loire",
      "lat": 47.751,
      "lon": 2.3499,
      "population": 5124,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sully-sur-loire.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://sully-sur-loire.fr/"
        }
      ]
    },
    {
      "insee": "45316",
      "name": "Sury-aux-Bois",
      "lat": 47.9535,
      "lon": 2.3604,
      "population": 767,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://suryauxbois.fr/accessibilite-non-conforme"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://suryauxbois.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://suryauxbois.fr/mairie-sury-aux-bois"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://suryauxbois.fr/mairie-sury-aux-bois"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://suryauxbois.fr/"
        }
      ]
    },
    {
      "insee": "45317",
      "name": "Tavers",
      "lat": 47.7576,
      "lon": 1.5882,
      "population": 1334,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://tavers.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://tavers.fr/"
        }
      ]
    },
    {
      "insee": "45320",
      "name": "Thignonville",
      "lat": 48.2712,
      "lon": 2.1762,
      "population": 372,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://thignonville.fr/mentions-legales-mairie-pithiverais-45-loiret"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://thignonville.fr/"
        }
      ]
    },
    {
      "insee": "45321",
      "name": "Thimory",
      "lat": 47.9265,
      "lon": 2.5959,
      "population": 684,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://thimory.fr/vie-communale/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://thimory.fr/"
        }
      ]
    },
    {
      "insee": "45322",
      "name": "Thorailles",
      "lat": 48.027,
      "lon": 2.8949,
      "population": 201,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45323",
      "name": "Thou",
      "lat": 47.5843,
      "lon": 2.8919,
      "population": 211,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45324",
      "name": "Tigy",
      "lat": 47.7796,
      "lon": 2.1812,
      "population": 2484,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://tigy.fr/"
        }
      ]
    },
    {
      "insee": "45325",
      "name": "Tivernon",
      "lat": 48.1581,
      "lon": 1.9365,
      "population": 278,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://tivernon.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://tivernon.fr/"
        }
      ]
    },
    {
      "insee": "45326",
      "name": "Tournoisis",
      "lat": 48.0027,
      "lon": 1.6181,
      "population": 370,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-tournoisis.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-tournoisis.fr/"
        }
      ]
    },
    {
      "insee": "45327",
      "name": "Traînou",
      "lat": 47.9643,
      "lon": 2.097,
      "population": 3402,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 31,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://mairie-trainou.fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-trainou.fr/accessibilite"
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-trainou.fr/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-trainou.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairie-trainou.fr/"
        }
      ]
    },
    {
      "insee": "45328",
      "name": "Treilles-en-Gâtinais",
      "lat": 48.0823,
      "lon": 2.6604,
      "population": 296,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45329",
      "name": "Triguères",
      "lat": 47.9418,
      "lon": 2.9949,
      "population": 1259,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedetrigueres.fr/mentions-legales-de-mairiedetrigueres-fr"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://mairiedetrigueres.fr/"
        }
      ]
    },
    {
      "insee": "45330",
      "name": "Trinay",
      "lat": 48.0846,
      "lon": 1.9535,
      "population": 208,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://trinay.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://trinay.fr/mentions-legales"
        }
      ]
    },
    {
      "insee": "45331",
      "name": "Vannes-sur-Cosson",
      "lat": 47.7168,
      "lon": 2.2021,
      "population": 592,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 19,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vannes-sur-cosson.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vannes-sur-cosson.fr/"
        }
      ]
    },
    {
      "insee": "45332",
      "name": "Varennes-Changy",
      "lat": 47.8647,
      "lon": 2.6632,
      "population": 1503,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://varenneschangy.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://varenneschangy.fr/"
        }
      ]
    },
    {
      "insee": "45333",
      "name": "Vennecy",
      "lat": 47.9543,
      "lon": 2.0531,
      "population": 2047,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vennecy.fr/mentions-legales"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vennecy.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vennecy.fr/"
        }
      ]
    },
    {
      "insee": "45334",
      "name": "Vieilles-Maisons-sur-Joudry",
      "lat": 47.8806,
      "lon": 2.4362,
      "population": 616,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vieillesmaisons.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vieillesmaisons.fr/"
        }
      ]
    },
    {
      "insee": "45335",
      "name": "Vienne-en-Val",
      "lat": 47.7775,
      "lon": 2.1197,
      "population": 2004,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vienne-en-val.fr/"
        }
      ]
    },
    {
      "insee": "45336",
      "name": "Viglain",
      "lat": 47.7329,
      "lon": 2.2885,
      "population": 849,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 28,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://viglain.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://viglain.fr/"
        }
      ]
    },
    {
      "insee": "45337",
      "name": "Villamblain",
      "lat": 48.013,
      "lon": 1.5582,
      "population": 278,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45338",
      "name": "Villemandeur",
      "lat": 47.9811,
      "lon": 2.7011,
      "population": 7078,
      "declaration": "FAIL",
      "obligationsMet": 3,
      "obligationsDecided": 6,
      "pagesCrawled": 31,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villemandeur.fr/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villemandeur.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villemandeur.fr/"
        }
      ]
    },
    {
      "insee": "45339",
      "name": "Villemoutiers",
      "lat": 47.9916,
      "lon": 2.5513,
      "population": 471,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45340",
      "name": "Villemurlin",
      "lat": 47.6771,
      "lon": 2.3444,
      "population": 536,
      "declaration": "FAIL",
      "obligationsMet": 1,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villemurlin.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45341",
      "name": "Villeneuve-sur-Conie",
      "lat": 48.0484,
      "lon": 1.647,
      "population": 190,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45342",
      "name": "Villereau",
      "lat": 48.0723,
      "lon": 1.9952,
      "population": 407,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 21,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "MEDIUM",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villereau45.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://villereau45.fr/"
        }
      ]
    },
    {
      "insee": "45343",
      "name": "Villevoques",
      "lat": 48.0279,
      "lon": 2.6259,
      "population": 191,
      "declaration": "UNKNOWN",
      "obligationsMet": 0,
      "obligationsDecided": 0,
      "pagesCrawled": 0,
      "readOn": null,
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "UNKNOWN",
          "confidence": "LOW",
          "url": null
        }
      ]
    },
    {
      "insee": "45344",
      "name": "Villorceau",
      "lat": 47.8024,
      "lon": 1.5921,
      "population": 1084,
      "declaration": "PASS",
      "obligationsMet": 4,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://villorceau.fr/fr/accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "http://villorceau.fr/fr/politique-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://villorceau.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "http://villorceau.fr/"
        }
      ]
    },
    {
      "insee": "45345",
      "name": "Vimory",
      "lat": 47.9495,
      "lon": 2.6806,
      "population": 1099,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vimory.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vimory.fr/"
        }
      ]
    },
    {
      "insee": "45346",
      "name": "Vitry-aux-Loges",
      "lat": 47.9328,
      "lon": 2.2546,
      "population": 2183,
      "declaration": "PASS",
      "obligationsMet": 5,
      "obligationsDecided": 6,
      "pagesCrawled": 29,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vitry-aux-loges.fr/systeme/declaration-accessibilite"
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vitry-aux-loges.fr/"
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "PASS",
          "confidence": "MEDIUM",
          "url": "https://vitry-aux-loges.fr/systeme/politique-de-confidentialite"
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vitry-aux-loges.fr/"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://vitry-aux-loges.fr/"
        }
      ]
    },
    {
      "insee": "45347",
      "name": "Vrigny",
      "lat": 48.0673,
      "lon": 2.2424,
      "population": 786,
      "declaration": "FAIL",
      "obligationsMet": 0,
      "obligationsDecided": 6,
      "pagesCrawled": 26,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        }
      ]
    },
    {
      "insee": "45348",
      "name": "Yèvre-la-Ville",
      "lat": 48.1404,
      "lon": 2.326,
      "population": 652,
      "declaration": "FAIL",
      "obligationsMet": 2,
      "obligationsDecided": 6,
      "pagesCrawled": 27,
      "readOn": "2026-10-18",
      "checks": [
        {
          "code": "A11Y_DECLARATION",
          "status": "FAIL",
          "confidence": "LOW",
          "url": null
        },
        {
          "code": "A11Y_HOMEPAGE_MENTION",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "A11Y_SCHEMA",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "DPO_CONTACT",
          "status": "FAIL",
          "confidence": "HIGH",
          "url": null
        },
        {
          "code": "RGPD_POLICY",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://yevre-la-ville.fr/mentions-legales"
        },
        {
          "code": "MENTIONS_LEGALES",
          "status": "PASS",
          "confidence": "HIGH",
          "url": "https://yevre-la-ville.fr/"
        }
      ]
    }
  ]
}
