{
 "metric": "dnssec",
 "segment": "fr-small",
 "anchor": "company",
 "label": "France small companies",
 "population": "France small companies",
 "states": [
  "signed",
  "broken_chain",
  "unsigned"
 ],
 "quiet_failure_states": [
  "broken_chain",
  "unsigned"
 ],
 "measurement": "**local probe** (deliberately, ADR-0009): DNSKEY at the child, then DS at the **parent**. Denominator: `any`.",
 "why_it_matters": "`broken_chain` is the quiet failure and the reason this metric exists — DNSKEY published but no DS at the parent means the zone is signed and *unverifiable*. The operator has done the work, the dashboard says DNSSEC is on, and no resolver on earth validates it. Unsigned is merely the default.",
 "limits": "Must be measured locally. The DomainAPI health endpoint exposes no DNSSEC state and resolves DS at the child, which cannot distinguish `broken_chain` from `signed`.",
 "data_tier": "dns",
 "population_predicate": "any",
 "entity_type": "domain",
 "kind": "failure",
 "latest": {
  "day": "2026-08-11",
  "n": 185,
  "qf_pct": 82.7,
  "ci": [
   76.6,
   87.47
  ],
  "dist": {
   "signed": 17.3,
   "broken_chain": 10.27,
   "unsigned": 72.43
  },
  "snapshot": "sirene-france-per600-seed20260730"
 },
 "series": [
  {
   "day": "2026-08-04",
   "n": 245,
   "qf_pct": 76.33,
   "ci": [
    70.62,
    81.22
   ],
   "dist": {
    "signed": 23.67,
    "broken_chain": 3.67,
    "unsigned": 72.65
   },
   "snapshot": "sirene-france-per600-seed20260730"
  },
  {
   "day": "2026-08-05",
   "n": 245,
   "qf_pct": 76.33,
   "ci": [
    70.62,
    81.22
   ],
   "dist": {
    "signed": 23.67,
    "broken_chain": 3.67,
    "unsigned": 72.65
   },
   "snapshot": "sirene-france-per600-seed20260730"
  },
  {
   "day": "2026-08-11",
   "n": 185,
   "qf_pct": 82.7,
   "ci": [
    76.6,
    87.47
   ],
   "dist": {
    "signed": 17.3,
    "broken_chain": 10.27,
    "unsigned": 72.43
   },
   "snapshot": "sirene-france-per600-seed20260730"
  }
 ],
 "license": "CC BY 4.0",
 "source": "https://quietfailures.com/datasets/dnssec/fr-small"
}