Every dataset this site relies on, with its source, its licence, the date it was read, what is wrong with it, and whether it may appear in a public export. Including the sources we deliberately do not hold, and the credits we owe and are not yet giving.
The rule this page exists to enforce: never assert what cannot be sourced. Every fact carries a source and a date. Unknown is written as a word, never as a zero, a dash or a blank. An inflated figure is the same failure as an invented one. Removing a feature is an acceptable outcome.
If you are here because you own something we are using, the fastest route is admin@interns.city. If a credit below says it is not being displayed, you are reading our own record of that, not discovering it.
Attribution we owe and are not giving
Attribution under a CC BY or ODbL licence is a term, not a courtesy, and it attaches to the act of rendering. These are the credits the site is obliged to display and does not. Listed first because they are the part of this page that is a live problem rather than a record.
Not displayed. MapLibre would render CARTO’s own attribution automatically, but the map component passes attributionControl={false}, which removes the control that would have shown it. This is the largest of the gaps on this page by reach: it is on every map surface the site has.
Satellite imagery (the map’s satellite toggle)
Must display: Source: Esri, Vantor, Earthstar Geographics, and the GIS User Community
Not displayed, and the string the code declares for this source is shorter than the one the service itself publishes. Suppressed by the same attributionControl={false}.
Place-name lookup and reverse geocoding (the address on a report)
Partly given. /api/mirror has carried an `attribution` block naming OpenStreetMap contributors and the Open Database License since 2026-09-30, scoped to the `address` field it is true of. No page displays the credit, and the place names are shown to residents on issue pages and stored on issue rows, so the obligation is still unmet where a human actually reads the data.
Air-quality readings (the AQI layer on the district map)
Must display: Weather data by Open-Meteo.com
Not displayed. The air-quality indicator is rendered on the district map with no credit.
Three of these share one cause: the map component disables the attribution control that would have rendered the tile providers’ own credit strings automatically. The strings themselves are not in doubt — each is quoted from the provider’s own service metadata or licence page, and they are held in one place in the codebase so a page cannot retype them slightly differently.
OpenStreetMap states the obligation in two halves, and the second is the one usually dropped: “Where you use OpenStreetMap data, you are required to do the following two things: Provide credit to OpenStreetMap by displaying our attribution notice. Make clear that the data is available under the Open Database License.”
Our own records
What residents filed, and what we publish back.
Resident-reported issues
Every report a resident has filed: title, category, urgency, status, location, photo and comment thread. 69 rows in production; 68 reach the public mirror, which filters out test fixtures.
Source
Residents of Indian cities, through this site
Licence
Ours to publish, with one exception — see the defect below. Reports are filed for publication; that is what filing one is for.
As of
Live. Counted 2026-09-30 by a read-only GET against production.
Known defects
The `address` on every one of the 68 exported issues is a substring of an OpenStreetMap Nominatim reverse-geocode result, so the public mirror already redistributes OpenStreetMap-derived place names. See "Attribution we owe" below — this is an attribution gap, not a share-alike one.
Fixed 2026-09-30: the mirror now carries an `attribution` block naming OpenStreetMap contributors and the Open Database License, scoped to the `address` field rather than claiming a licence for the whole payload. The credit is still missing from the pages that display an address, which is the larger half of this gap.
Exportable with the credit carried
Already published, at /api/mirror. It exists so the civic record survives this site going away, which is why robots.txt allows crawlers to reach it. The condition is not ours: because every exported address is OpenStreetMap-derived, the export has to carry the OpenStreetMap credit and name the Open Database License. Since 2026-09-30 it does both, in an `attribution` block scoped to the `address` field.
Cleanup drives
Community cleanup events. 0 rows in the public mirror.
Source
Residents, through this site
Licence
Ours to publish
As of
Live. Counted 2026-09-30: zero.
Known defects
Empty. Listed because a reader who finds the key in the export should not have to guess whether it is broken or simply unused.
May be exported
Already published, at /api/mirror.
The representatives roster
One dataset, and the only share-alike input the site has. It underlies 571 record pages.
The representatives roster
571 rows behind /representatives and every record page. 571 confirmed in production on 2026-09-30. Name, constituency, state, house, and hand-patched official contact channels. Nothing else: the columns that once held invented metrics are dropped.
Source
English Wikipedia, for by far the larger part — the article List_of_members_of_the_18th_Lok_Sabha, read through the MediaWiki API. Plus about 48 hand-written rows from a retired seed file, for which no source, date or licence was ever recorded. source
Licence
CC BY-SA 4.0 for the Wikipedia part — the only share-alike input the site has. Wikipedia states it through its own API: querying meta=siteinfo&siprop=rightsinfo on 2026-09-30 returns "Creative Commons Attribution-Share Alike 4.0". Nothing is recorded for the ~48 hand-written rows, and that gap is not fixable after the fact. licence
As of
The scrape date was never recorded. The rows describe the 18th Lok Sabha. We cannot tell you when they were read, and we will not invent a date.
Known defects
party is NULL on all 571 rows, by design: every value that was once stored there was fabricated. It renders as unknown, in words.
term_start, term_end and is_current are NULL on all 571 rows. The site therefore presents every row as current, and no query can tell a sitting member from one who is not. Four rows were cross-checked against Parliament’s own list on 2026-09-29 and correspond to members it records as having died or resigned. Those four are a sample, not a count: the other 567 are unchecked.
Four constituency values carry unparsed MediaWiki markup and render it as visible text. A fix is written and unapplied.
Six seat keys hold more than one row — seven surplus rows in total. With term dates NULL, nothing can decide which is current.
Five of the seven Rajya Sabha rows store a state name in the constituency column and two store a Lok Sabha seat name. That value is never called a seat anywhere on the site.
Not exportable
Blocked, on two independent grounds either of which is sufficient. First, the share-alike question below is unanswered. Second, a table that cannot distinguish a sitting member from a deceased one should not be published as a dataset whatever its licence. It renders on pages, which is fine either way.
What share-alike actually obliges here
Stated in both directions, because the honest answer is not the alarming one and is not the convenient one either.
What was taken is close to bare fact: a person’s name, the seat they hold, the state it is in, which house. Facts are not copyrightable, and a claim that share-alike attaches to a list of members’ names and seats is a weak one.
But what was taken was a particular article’s particular table — its selection and arrangement — and the extraction carried that article’s markup through into our database, which is not the behaviour of something that took only facts.
Our stored arrangement is not the article’s. Our row set is not the article’s either: it holds more Lok Sabha rows than there are seats, seven Rajya Sabha rows the article does not cover, and about 48 rows that came from somewhere else entirely.
No legal answer on which reading governs has been obtained. That unanswered question, not a conclusion, is why the export verdict above is no.
The operational rule, which does not depend on the answer: roster data derived from Wikipedia renders on pages and does not enter /api/mirror or any other public extract. Rendering is fine under either reading. If the export is wanted, the route is to re-source the roster under a licence we actually hold, not to re-read this one more optimistically.
Boundary files we serve
All three are downloadable from this site, so we are redistributing them whether or not a page draws them. Byte and feature counts measured 2026-09-30 on the files in the repository; the SHA-256 identifies the exact bytes each credit was read out of.
Parliamentary constituency boundaries (543 Lok Sabha seats, national)
public/data/pc-boundaries.geojson — 15,39,633 bytes, 543 features
Licence
CC0 1.0 Universal Public Domain Dedication licence
Attribution
Parliamentary constituency boundaries: Arun Ganesh / DataMeet (india_pc_2019_simplified.geojson, CC0 1.0). Attribution is courtesy, not a licence term.
Waived by the licence. We give it so the data can be traced. Read from: the file’s own collection-level "attribution" member, verbatim
Assembly constituency boundaries: DataMeet, India Assembly Constituencies (India_AC), scraped from the Election Commission of India's polling-station website, shared under Creative Commons Attribution 2.5 India.
A term of the licence. A page that renders this data without this text is not compliant. Read from: the file’s own collection-level "attribution" member, verbatim; the same file sets "attribution_required": true
YesDisplayed on /representatives/near, read out of the file itself at request time. Verified 2026-09-30 by a read-only GET of that page, whose HTML contains the sentence and the licence name.
public/data/india-districts.geojson — 31,53,362 bytes, 742 features
Licence
CC0 1.0 Universal Public Domain Dedication licence
Attribution
District boundaries: Survey of India, collated by the DataMeet community and republished by ramSeraph (indian_admin_boundaries), dedicated to the public domain under CC0 1.0.
Requested by the rightsholder, not made a condition. We give it. Read from: COMPOSED BY US — this file carries no attribution member to read, unlike the two layers above. Worded to honour DISTRICTS_UPSTREAM_REQUEST, which is quoted verbatim in this module. Replace it with an embedded member the moment the file is regenerated with provenance; see public/data/LICENSES.md.
NoNot displayed anywhere. The layer is drawn on the district view of /map and no credit appears there. CC0 makes this a request unmet rather than non-compliance, but the file also carries no licence of its own, so a copy of it arrives with nothing attached.
The district layer’s licence, and what is still open
This file was served for six months with no licence notice and no credit, and three upstream statements about it appeared to conflict. They do not, once each is read at the level it applies to: a repository badge covers the repository, a licence detector’s “no assertion” is a detector result and not a statement, and the either/or in the dataset’s metadata is resolved one level down by the directory’s own README — release files are CC0, the in-repository census shapefiles are CC BY 4.0. The file we took is a release file.
That was confirmed against the origin rather than assumed. The release we downloaded from is a byte-for-byte mirror of an earlier one that states the licence per asset, and that origin’s own licence document says: “I request that you actively acknowledge and give attribution to Datameet community (https://datameet.org/) for collating the data and also the original government sources wherever possible.”
What is notsettled, said plainly: CC0 from a republisher waives that republisher’s own rights over the collation. It cannot dispose of Survey of India’s rights in the underlying survey, and nobody here has established whether Survey of India’s terms permitted the republication. The same residual question already applies to the parliamentary layer above, which is CC0 over data scraped from a government website. So it is a reason to name the government source, which the credit line does, and not a reason to stop serving the file.
The working proof, the dates and the byte hashes are in public/data/LICENSES.md, which ships beside the files themselves.
Third-party services we draw
Nothing here is stored in bulk, but all of it is rendered, and rendering is what triggers an attribution term.
A term of the licence. A page that renders this data without this text is not compliant. Read from: the plain-text rendering of the "attribution" field CARTO itself serves at https://tiles.basemaps.cartocdn.com/vector/carto.streets/v1/tiles.json (read 2026-09-30); the original is HTML with links to carto.com and openstreetmap.org
Displayed today?
NoNot displayed. MapLibre would render CARTO’s own attribution automatically, but the map component passes attributionControl={false}, which removes the control that would have shown it. This is the largest of the gaps on this page by reach: it is on every map surface the site has.
NOT ESTABLISHED. No open licence and no Creative Commons grant. We have not established on what terms a site with no Esri agreement may draw these tiles licence
Attribution — required
Source: Esri, Vantor, Earthstar Geographics, and the GIS User Community
A term of the licence. A page that renders this data without this text is not compliant. Read from: the "copyrightText" field the service itself returns at ?f=pjson on the MapServer endpoint above (read 2026-09-30), verbatim. The service publishing a credit line establishes what to display, not that we may display it: `licenceUrl` is the agreement Esri points the public at, which nobody here has read.
Displayed today?
NoNot displayed, and the string the code declares for this source is shorter than the one the service itself publishes. Suppressed by the same attributionControl={false}.
Place-name lookup and reverse geocoding (the address on a report)
A term of the licence. A page that renders this data without this text is not compliant. Read from: composed to satisfy both halves of OSM_ATTRIBUTION_REQUIREMENT, which is quoted verbatim in this module from https://www.openstreetmap.org/copyright. OpenStreetMap publishes requirements rather than one fixed string, so there is no single wording to transcribe.
Displayed today?
NoPartly given. /api/mirror has carried an `attribution` block naming OpenStreetMap contributors and the Open Database License since 2026-09-30, scoped to the `address` field it is true of. No page displays the credit, and the place names are shown to residents on issue pages and stored on issue rows, so the obligation is still unmet where a human actually reads the data.
Air-quality readings (the AQI layer on the district map)
Creative Commons Attribution 4.0 International, free tier non-commercial only licence
Attribution — required
Weather data by Open-Meteo.com
A term of the licence. A page that renders this data without this text is not compliant. Read from: the wording Open-Meteo gives for the purpose on its own licence page, https://open-meteo.com/en/licence (read 2026-09-30), verbatim
Displayed today?
NoNot displayed. The air-quality indicator is rendered on the district map with no credit.
Our own research
Not a dataset in the sense the rows above are — written claims, each carrying the document it came from.
Who is responsible for what
Our written statements about which office executes each kind of civic work, which elected tier answers for it and under which statute, and what each office is legally unable to do. The evidence layer behind /representatives/responsibility and its nine category pages.
Source
Named statutes, gazette notifications, scheme guidelines and government department publications. Each claim stores the document, the locator inside it, the date the document bears and the date we read it. A claim with no citation is typed as uncited and the page has to say so; there is no third state. source
Licence
Our own writing, over Indian government documents. Quotation is limited to the locator-level extract needed to support a claim.
As of
2026-09-29 — every source was re-read on that date.
Known defects
Per-legislator amounts actually released or spent are absent, because the only source for them does not answer from our machines. An entitlement is a ceiling, not a measurement, and is never rendered as one.
A Gurugram ward councillor’s discretionary fund is absent because we could not find one. The reason we could not find one is itself cited.
May be exported
This is the site’s own work and the part most worth republishing.
What we do not have
Each of these was looked for and either refused, removed, or left unrequested. A gap recorded is more use than a gap filled with a guess.
Parliament’s own member records
The roster we would rather have: sitting Lok Sabha and Rajya Sabha members with official email addresses, nearly all on parliamentary domains. Read once for fact-checking. Not stored. Nothing from these endpoints is in our database.
None. Not GODL-India, not Creative Commons. The portal’s own privacy policy states that its contents may not be reproduced partially or fully without permission from the Parliament of India and the National Informatics Centre. Linking is explicitly permitted; framing is not. licence
As of
Read 2026-09-29 for verification only.
Known defects
The same endpoints serve a personal mobile number and a home address for every sitting member. We have decided never to ingest those fields — not under access control, not in the schema at all.
Permission has not been requested yet. A draft request and an RTI fallback are written.
Nothing to export
Not ingested, so there is nothing to export. Recorded because the absence is itself a provenance fact.
District unemployment
Two map indicators — youth and graduate unemployment — are offered in the district choropleth’s indicator list. The table behind them holds zero rows in production, confirmed 2026-09-30, so the map renders them as unknown for every district.
Source
Intended: PLFS annual report district tables from MoSPI. The sample CSV in this repository is labelled, in its own header, as placeholder values and not authoritative PLFS numbers. It has not been loaded. source
Licence
Not established. Nothing has been taken, so nothing has been licensed.
As of
No data. Table empty as of 2026-09-30.
Known defects
An indicator offered in a picker with no data behind it. It renders as unknown rather than as zero, which is the right failure, but the entry should not be in the list until a real source is loaded.
Nothing to export
Nothing to export.
Datasets deliberately removed or refused
Gurugram ward boundaries — no open dataset exists, and the only ward geometry that does exists inside another organisation’s backend, which was deliberately not queried. Per-district population and area — were computed from a state total divided by a district count and multiplied by a random number, and were wrong by up to roughly 180x. Deleted, along with the UI that showed them. NFHS-5 district indicators — synthesised from state averages and a random number while the UI credited a Government of India survey. Deleted. MP attendance and MPLADS utilisation — 742 invented rows. Deleted.
Source
Us, and the reason each was dropped
Licence
Not applicable
As of
Removed across 2026-09-28 and 2026-09-29.
Known defects
Two full-resolution boundary layers were refused on licence grounds rather than quality: DataMeet’s india_pc_2019.shp is CC BY-SA 2.5 India, and OpenStreetMap and DataMeet’s village boundaries are ODbL 1.0. All three are share-alike and would make every derived extract share-alike.
Nothing to export
Removing a feature is an acceptable outcome. These are the removals.
What is actually in the public export today
One endpoint, /api/mirror. Read 2026-09-30: 18,130 bytes, 68 resident-reported issues and 0 cleanup drives. No representative records. No boundary geometry. Every “not exportable” above describes the current state, not a pending cleanup.
It carries no licence field of its own, and every one of the 68 issues has a place name in it that came from OpenStreetMap. Those two facts belong together: the export needs a licence field, and that field needs to credit OpenStreetMap.
Where the longer record is
public/data/LICENSES.md — the licence file that deploys beside the data, with the attribution text a consumer must reproduce, the SHA-256 of each file, and the derivation proof for the district layer.