{
 "schemaVersion": "1.0.0",
 "constitutionVersion": "1.0.0",
 "createdAt": "2026-08-12T00:00:00Z",
 "description": "Append-only Evidence Passport records. Old revisions are immutable; corrections create a new revision and preserve the previous permalink.",
 "entity": {
  "type": "project",
  "id": "bordeaux-datahub-open-data",
  "title": "Bordeaux Metropole DataHub: 562 Datasets Under the Licence Ouverte",
  "canonicalUrl": "https://1001smartcities.org/projects/bordeaux-datahub-open-data/"
 },
 "currentRevisionId": "2026-08-22-evidence-baseline",
 "revisions": [
  {
   "id": "2026-08-22-evidence-baseline",
   "createdAt": "2026-08-22T22:01:00Z",
   "effectiveAt": "2026-08-10",
   "changeType": "baseline",
   "summary": "Created the first structured Evidence Passport with 17 claims and 5 source dossiers.",
   "preparedBy": {
    "type": "automation",
    "label": "AI-assisted evidence preparation",
    "humanApproved": false
   },
   "review": {
    "status": "unreviewed",
    "by": null,
    "date": null,
    "note": "Awaiting operator and domain-expert review; publication of this revision implies neither."
   },
   "changes": [
    {
     "operation": "add",
     "path": "/evidencePassport",
     "summary": "Added claim-level evidence mapping and source dossiers."
    },
    {
     "operation": "add",
     "path": "/revisionHistory",
     "summary": "Established a permanent, hash-addressed baseline revision."
    }
   ],
   "snapshotHash": "sha256:64541ca084da3f76da53f14f10c16ea83e94417305bf4414717346abee86407d",
   "snapshot": {
    "asOf": "2026-08-10",
    "projectFingerprint": "sha256:ff668905e3ab7dd7bcbdd6fa45f393eb7b2b461cb06e02cfd679cae6d4251ea0",
    "assurance": {
     "status": "unreviewed",
     "scope": "evidence-passport-revision",
     "statement": "AI-assisted structural preparation. This revision has not been reviewed by a human or subject-matter expert.",
     "machineChecks": [
      "schema",
      "publication-diff-contract",
      "material-project-fingerprint",
      "claim-text-drift",
      "source-reference-resolution",
      "complete-source-dossier",
      "snapshot-hash"
     ]
    },
    "projectState": {
     "status": "live",
     "outcome": "ongoing",
     "evidenceGrade": "official",
     "timeline": {
      "started": 2011,
      "ended": null
     }
    },
    "governance": {
     "operator": "Bordeaux Metropole — Direction generale du numerique et des systemes d'information",
     "actorTypes": [
      "city-government"
     ],
     "fundingModel": null,
     "fundingDescription": null,
     "cost": null,
     "ownership": null,
     "decisionRights": null,
     "exitConditions": null
    },
    "claims": [
     {
      "id": "clm-3b46b3c1a950e12b",
      "field": "snippet",
      "text": "Bordeaux Metropole opened a developer-facing data portal in June 2011",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-c9f82a68e55dbec3"
      ],
      "supportNote": "The Bordeaux Metropole presentation devotes a slide to the older of the two portals (data.bordeaux-metropole.fr) and dates it: \"Ouvert en juin 2011\". The same slide characterises it as geographic and real-time data, \"Centre developpeurs\" (developer-focused), under an ODbL licence, and marks it \"Portail actif\".",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-ba7331072f970f4d",
      "field": "snippet",
      "text": "the Ville de Bordeaux followed with a public-facing one in October 2012",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-c9f82a68e55dbec3"
      ],
      "supportNote": "The next slide covers the city portal (opendata.bordeaux.fr) and dates it \"Ouvert en octobre 2012\", describing it as \"Centre grand public\" (aimed at the general public) under the Licence ouverte. The slide also calls it a \"Portail statique\", in contrast to the Metropole portal marked \"actif\".",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-38dc6051ff61df6a",
      "field": "snippet",
      "text": "the two were merged into a single Opendatasoft catalogue, rebranded the DataHub in June 2025",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-c9f82a68e55dbec3",
       "src-1eb196da38cba886"
      ],
      "supportNote": "Two sources cover the two halves of this sentence. The 2019 presentation announces the convergence and names the platform: a slide headed \"Convergence: un nouveau portail unique des septembre 2019\" sets the two portals (192 and 66 datasets) against one merged successor, and a later slide records \"Choix de la solution Open Data Soft\". The rebrand is dated by the DataHub launch post of 24 June 2025: \"Bordeaux Metropole est heureuse d'annoncer l'ouverture de son nouveau portail DATAHUB\". The portal today answers on the Opendatasoft Explore API v2.1, which is consistent with that platform choice.",
      "caveat": "Neither source states that the merger itself was completed. The 2019 presentation announces the single portal as forthcoming for September 2019, and the 2025 launch post describes the DataHub as a new look built on the foundations of an existing portal it calls \"L'Atelier Open Data\" — not as the moment the two original portals were joined.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-a47636ff37940829",
      "field": "snippet",
      "text": "it held 562 datasets",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6577ea7e9a3a03e6"
      ],
      "supportNote": "The catalogue endpoint of the portal's own Explore API v2.1, queried with limit=0, returns the whole-catalogue total: {\"total_count\": 562, \"results\": []}. Re-queried on 22 August 2026 it still returned 562, matching the figure the entry recorded on 10 August 2026.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-808c16e231c7a8fc",
      "field": "snippet",
      "text": "of which 549 carried an open licence: 520 under the French Licence Ouverte, 25 under its Etalab v1 and v2 variants, three under ODbL and one under GPLv3",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6577ea7e9a3a03e6"
      ],
      "supportNote": "The licence facet returns exactly five values, and they sum to 549: \"Licence Ouverte\" 520, \"Open License v2.0\" 18, \"Open License v1.0\" 7, \"Open Database License (ODbL)\" 3, \"GNU General Public License v3.0\" 1. The entry's \"25 under its Etalab v1 and v2 variants\" is the 18 + 7 of the two versioned rows; both point at etalab.gouv.fr licence texts (open-licence.pdf and Licence_Ouverte.pdf respectively), which supports reading them as versions of the same French open licence.",
      "caveat": "The grouping into \"the French Licence Ouverte\" and \"its Etalab v1 and v2 variants\" is the entry's reading of the facet values, not a distinction the portal draws. The catalogue simply lists an unversioned row alongside two versioned ones.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-bd70d8363bef1438",
      "field": "snippet",
      "text": "Thirteen carried no licence at all.",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6577ea7e9a3a03e6"
      ],
      "supportNote": "A catalogue query filtered with where=license is null returns {\"total_count\": 13, \"results\": []}, and 549 + 13 accounts for all 562 datasets. Requesting the same filter with limit=100 returns all thirteen records, so the figure can be checked item by item rather than only in aggregate.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-3442e1caa78f094b",
      "field": "snippet",
      "text": "bike-share station status in the GBFS standard",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-c740290a1c866498"
      ],
      "supportNote": "The dataset page for ci_vcub_p, titled \"Station Le Velo en temps reel\" and published by Bordeaux Metropole under the Licence Ouverte, states in its description: \"La donnee temps reel est disponible au format GBFS\". It carries 223 station records and declares a refresh interval of 2 minutes 30 seconds.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-394b89f62239f0a6",
      "field": "snippet",
      "text": "road-traffic counts, roadworks and real-time parking occupancy",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-ec4ac09c60a3cea9",
       "src-c9f82a68e55dbec3"
      ],
      "supportNote": "All three are present in the catalogue under the Licence Ouverte, which supports the entry's \"under the same terms\". Traffic: an annual series \"Comptage du trafic\" runs from 2010 to 2025, alongside live sensor datasets (pc_capte_ponct_p, \"Capteur de trafic routier ponctuel\"). Roadworks: ci_chantier, \"Chantiers sur Bordeaux et Merignac modifiant les conditions de circulation\". Parking occupancy: st_park_p, \"Parking hors voirie\", whose records carry live fields libres, total and etat (one sample: libres 150 of total 211, etat \"LIBRE\") on the same 2 minute 30 second refresh. The 2019 presentation independently lists \"Trafic\" and \"Parkings temps reel\" among the portal's API endpoints.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-fbc4b0e54ecee9a8",
      "field": "impact",
      "text": "Self-counted through the catalogue API on 10 August 2026: 562 datasets, 549 with an open licence",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6577ea7e9a3a03e6"
      ],
      "supportNote": "Both figures come from the portal's own Explore API and were reproduced on 22 August 2026: the catalogue endpoint returns total_count 562, and the five licence facet rows sum to 549. The entry is explicit that this is its own count rather than a figure the operator publishes.",
      "caveat": "These are counts taken from a live catalogue, not a figure the operator publishes or archives. The totals can move as datasets are added or licensed, so they describe the portal on the day it was queried.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-a16256aef653adbb",
      "field": "impact",
      "text": "13 with none",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6577ea7e9a3a03e6"
      ],
      "supportNote": "The where=license is null query returns total_count 13, the same figure the snippet gives, and the thirteen can be listed individually with limit=100.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-a1b310639afcf3d8",
      "field": "impact",
      "text": "Bordeaux Metropole publishes 351 of them and the Ville de Bordeaux 103",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-ec4ac09c60a3cea9"
      ],
      "supportNote": "The catalogue's publisher facet returns \"Bordeaux Metropole\" 351 and \"Ville de Bordeaux\" 103 as its two largest rows, exactly the figures in the entry.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-2dbd7df2c432003f",
      "field": "impact",
      "text": "the rest come from member communes and other bodies",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-ec4ac09c60a3cea9"
      ],
      "supportNote": "The remaining publisher rows are dominated by the two groups named: member communes of the metropolitan area (Talence 23, Le Haillan 19, Merignac 8, Pessac 2, Le Taillan-Medoc 1) and national producers (INSEE 8, BRGM 8, ARCEP 3, the Interior Ministry 3, Etalab, Meteo France, La Poste and several ministries with one or two each).",
      "caveat": "Those two groups do not account for quite all of the remainder. The publisher facet also lists a regional air-quality association, a departmental state service, the city's own social-action agency, the portal platform's own vendor and one private website, and six of the 562 datasets name no publisher at all.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-6f024e13bbc6122a",
      "field": "impact",
      "text": "The portal's own reuse tables list 27 published reuses.",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-ec4ac09c60a3cea9"
      ],
      "supportNote": "The catalogue carries a dataset \"Reutilisations\", published by Bordeaux Metropole, whose records endpoint returns total_count 27. Each record has a titre, an auteur and a date_publication (for example \"Park'in Bordeaux\", published 2023-02-28), so these are reuses the portal presents as published rather than merely submitted.",
      "caveat": "The plural \"tables\" covers two datasets that do not agree: the one holding 27 entries sits beside a second, older reuse table of 25. The figure of 27 is the larger of the two, not a sum, and both are live tables that can change.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-5d0c1eaebf2fc334",
      "field": "impact",
      "text": "A Bordeaux Metropole presentation of 14 March 2019 counted roughly 270,000 API calls on a typical day",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-c9f82a68e55dbec3"
      ],
      "supportNote": "The convergence slide of the presentation, whose title slide is dated \"14 mars 2019\", carries the line \"Pour une journee type (270000 appels)\". The entry's \"roughly\" is well chosen: the slide frames the number as a typical day rather than a measurement of a named date.",
      "caveat": "The slide gives the figure without a measurement period or method, and describes a typical day rather than a dated observation, so it is best read as the operator's own rounded characterisation of traffic in early 2019.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-4e2aa7385800f236",
      "field": "impact",
      "text": "135,000 to the transit information feed, 45,000 to bike-share, 30,000 to traffic and 17,000 to real-time parking",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-c9f82a68e55dbec3"
      ],
      "supportNote": "The same slide breaks the figure down as \"SAEIV: 135000\", \"VCUB: 45 000\", \"Trafic: 30000\" and \"Parkings temps reel: 17000\". SAEIV is the transit operations and passenger-information system, and VCUB was the name of the Bordeaux bike-share at the time, so the entry's translations of the two abbreviations are right.",
      "caveat": "The four named feeds add up to 227,000, not 270,000. The slide lists them without saying they are exhaustive, so roughly 43,000 calls a day belong to endpoints it does not break out.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-0589a5d46e7f4c7f",
      "field": "lesson",
      "text": "The licence coverage is near-total but not total",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6577ea7e9a3a03e6"
      ],
      "supportNote": "The facet counts bear this out: 549 of 562 datasets carry one of five open licences and 13 carry none, so the catalogue is almost but not entirely licensed.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-e6502b23789851af",
      "field": "lesson",
      "text": "twelve of the thirteen unlicensed datasets were uploaded by a small member commune (Le Haillan, Le Taillan-Medoc, Talence) or are the portal's own housekeeping tables",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6577ea7e9a3a03e6"
      ],
      "supportNote": "Listing all thirteen unlicensed datasets shows the description fits twelve of them but not all thirteen, so the word \"every\" overstates what the catalogue shows. Ten come from the three communes named (Talence 5, Le Haillan 4, Le Taillan-Medoc 1) and two are the portal's reuse tables. The thirteenth is neither: places-de-covoiturage-sur-et-hors-voirie, \"Mobilites alternatives, SUR et HORS voirie 14nov2019 Bordeaux Metropole\", is a substantive mobility dataset describing \"les aires de covoiturages de Bordeaux Metropole\" — that is, one of the metropolitan authority's own datasets, not a small commune's upload and not a housekeeping table.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     }
    ],
    "sources": [
     {
      "id": "src-6577ea7e9a3a03e6",
      "title": "Bordeaux Metropole DataHub — catalogue licence facets (Explore API v2.1)",
      "url": "https://datahub.bordeaux-metropole.fr/api/explore/v2.1/catalog/facets?facet=license",
      "publisher": {
       "name": null,
       "domain": "datahub.bordeaux-metropole.fr",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-a47636ff37940829",
       "clm-808c16e231c7a8fc",
       "clm-bd70d8363bef1438",
       "clm-fbc4b0e54ecee9a8",
       "clm-a16256aef653adbb",
       "clm-0589a5d46e7f4c7f",
       "clm-e6502b23789851af"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-08-10",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Primary count, queried 10 August 2026: Licence Ouverte 520, Open License v2.0 18, Open License v1.0 7, ODbL 3, GPLv3 1. The catalogue endpoint (?limit=0) returns total_count 562; a where=license is null query returns exactly 13, all from Le Haillan, Le Taillan-Medoc, Talence or the portal's own reuse tables.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-ec4ac09c60a3cea9",
      "title": "Bordeaux Metropole DataHub — catalogue",
      "url": "https://datahub.bordeaux-metropole.fr/explore/",
      "publisher": {
       "name": null,
       "domain": "datahub.bordeaux-metropole.fr",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-394b89f62239f0a6",
       "clm-a1b310639afcf3d8",
       "clm-2dbd7df2c432003f",
       "clm-6f024e13bbc6122a"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-08-10",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "The portal itself. Publisher facet: Bordeaux Metropole 351, Ville de Bordeaux 103, Ville de Talence 23, Ville Le Haillan 19, plus national producers (INSEE, BRGM, ARCEP, Atmo Nouvelle-Aquitaine).",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-c9f82a68e55dbec3",
      "title": "Bordeaux Metropole — \"L'Open Data a Bordeaux Metropole: existant et perspectives\", cafe-atelier PIGMA, 14 March 2019",
      "url": "https://portail.pigma.org/wp-content/uploads/sites/3/2019/02/5_BORDEAUX_METROPOLE_Pr%C3%A9sentation-OD-BM-PIGMA-14-03-2019.pdf",
      "publisher": {
       "name": null,
       "domain": "portail.pigma.org",
       "classification": "not-classified"
      },
      "sourceType": "pdf",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-3b46b3c1a950e12b",
       "clm-ba7331072f970f4d",
       "clm-38dc6051ff61df6a",
       "clm-394b89f62239f0a6",
       "clm-5d0c1eaebf2fc334",
       "clm-4e2aa7385800f236"
      ],
      "temporal": {
       "publishedAt": "2019-03-14",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-08-10",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Authoritative for the start dates and the API volumes. Metropole portal \"ouvert en juin 2011\" (ODbL, developer-focused, 192 datasets); Ville de Bordeaux portal \"ouvert en octobre 2012\" (Licence ouverte, 66 datasets). Typical day: 270 000 API calls — SAEIV 135 000, VCUB 45 000, trafic 30 000, parkings temps reel 17 000. A single merged portal was announced for September 2019.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-1eb196da38cba886",
      "title": "Opendatasoft community — Lancement du portail DataHub Metropole de Bordeaux",
      "url": "https://community.huwise.com/nouvelles-ressources-86/lancement-du-portail-datahub-metropole-de-bordeaux-589",
      "publisher": {
       "name": null,
       "domain": "community.huwise.com",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-38dc6051ff61df6a"
      ],
      "temporal": {
       "publishedAt": "2025-06-24",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-08-10",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Post dated 24 June 2025 announcing the DataHub, built on the foundations of the previous \"L'Atelier Open Data\" portal, with about thirty datasets harvested from other portals at launch. Note: opendatasoft.com now redirects to community.huwise.com.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-c740290a1c866498",
      "title": "Bordeaux Metropole DataHub — real-time bike-share station dataset (ci_vcub_p)",
      "url": "https://datahub.bordeaux-metropole.fr/explore/dataset/ci_vcub_p/",
      "publisher": {
       "name": null,
       "domain": "datahub.bordeaux-metropole.fr",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-3442e1caa78f094b"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-08-10",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Evidence for the live feeds: 223 \"Le Velo\" (formerly VCub) stations, available in the GBFS standard, Licence Ouverte, last modified 10 August 2026 — the portal is not a static archive.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     }
    ],
    "coverage": {
     "claimsTotal": 17,
     "claimsMapped": 17,
     "sourcesTotal": 5,
     "sourcesUsedByClaims": 5,
     "sourcesWithPublicationDate": 2,
     "sourcesWithArchive": 0,
     "sourcesWithExactLocator": 0,
     "sourcesWithContentHash": 0
    },
    "limits": [
     "Publisher names and source languages have not yet been classified; domains are recorded without guessing.",
     "Existing source notes are descriptive locators, not page- or paragraph-exact citations.",
     "A missing archive, publication date or content hash is shown as null rather than inferred.",
     "The project-level evidence grade ranks the strongest source in the entry; it is not a truth score for every claim."
    ]
   }
  }
 ]
}
