{
  "datasetVersion": "1.0.0",
  "datasetId": "verification-coverage",
  "asOf": "2026-10-26T03:36:40.690Z",
  "licence": {
    "name": "Creative Commons Attribution 4.0 International (CC BY 4.0)",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Cosmeds platform open data",
    "statement": "Free to reuse, republish and build on, including commercially, provided the dataset is credited and linked. Credit the source and link to the dataset page."
  },
  "provenance": {
    "counts": "One row per city or per regulator; the unit counted is a published clinic listing on this directory, not a clinic and not a company.",
    "window": "A live snapshot of every published listing at the timestamp below, plus watchdog stories for the complete quarter Q3 2026.",
    "computedAt": "2026-10-26T03:36:40.690Z",
    "source": "Directory listings joined to their owning business, and published Cosmeds Red watchdog stories.",
    "excludes": [
      "Clinics that have never been listed on this directory.",
      "Listings that are draft, archived or otherwise not published, and synthetic test shells.",
      "Listings whose owning business is suspended or closed.",
      "Cities and regulators outside the published caps — their listings are still inside the totals.",
      "The current, incomplete quarter of watchdog stories.",
      "Any per-listing, per-business or per-person detail. This dataset is counts only."
    ]
  },
  "totals": {
    "publishedListings": 0,
    "verifiedListings": 0,
    "unverifiedListings": 0,
    "regulatedListings": 0,
    "regulatorCoveragePct": null
  },
  "byCity": [],
  "byRegulator": [],
  "watchdogStories": {
    "quarterLabel": "Q3 2026",
    "quarterStart": "2026-07-01T00:00:00.000Z",
    "quarterEnd": "2026-10-01T00:00:00.000Z",
    "total": 0,
    "byGeo": []
  },
  "caps": {
    "cities": 50,
    "regulators": 20
  },
  "derivations": [
    "Published listings = listings with status 'published', excluding synthetic test shells and listings whose owning business is not active.",
    "Verified = published listings with platform verificationStatus 'verified'.",
    "Regulator-registered = published listings whose parent business holds a current green regulator credential, synced from register checks by the credential cron.",
    "Unverified = published minus verified. Unverified does not mean unsafe — it means we have not verified the listing.",
    "Regulator coverage % = regulator-registered ÷ published, to one decimal place. Null rather than 0% where there are no published listings to measure.",
    "The regulator breakdown counts listings by the regulator code recorded at import, ordered by listing count and capped — it is a provenance field, not a live credential state.",
    "Watchdog story count = published Cosmeds Red stories dated inside the labelled complete quarter, grouped by the story's geo tag."
  ],
  "limitations": [
    "This counts listings on this directory, not clinics in the UK. A clinic that has never been listed here is absent, and its absence means nothing about that clinic.",
    "Verified means we checked the listing against our own verification process. Unverified does not mean unsafe — it means we have not verified it.",
    "Regulator-registered counts a listing whose parent business holds a current green regulator credential in our records. A clinic registered with a regulator but not yet credentialled here counts as not regulated in this dataset.",
    "The city breakdown is capped at the 50 cities with the most published listings, and the regulator breakdown at 20 regulators. Totals cover everything, including rows outside those caps, so the city rows will not sum to the totals.",
    "The regulator breakdown counts the regulator recorded against a listing at import time. It is a provenance field, not a live credential check — the credential check is the regulator transparency dataset.",
    "Watchdog stories are counted for the last COMPLETE calendar quarter. The current quarter is excluded because a quarter-to-date count always reads as a decline. Stories are geo-tagged by region, not by city.",
    "Percentages are null rather than 0% where there is nothing to divide. A null is missing data, not a zero.",
    "This is a live snapshot, not a time series. Figures move as listings are published, verified and credentialled; cite the snapshot timestamp, not the page."
  ],
  "unavailableSections": [],
  "emptyReason": "No listings are published yet, so there is nothing to aggregate. Figures appear as soon as the first listing goes live.",
  "schema": "/api/open-data/verification-coverage/schema.json",
  "page": "/open-data"
}