Methodology

    How incidents enter the dataset, how sources and uncertainty are represented, and what the map can and cannot establish.

    Scope and inclusion

    Iran Attacks Map records publicly reported Iranian missile and drone strike incidents in the Middle East. The unit of the dataset is an incident: a dated report tied to a country and city or broader location, with a short title, summary, source links and the uncertainty fields needed to interpret its map marker. A record is included when the event is supported by an official statement or top-tier wire reporting. Unverified viral footage, unattributed social posts and a location inferred only from imagery are not enough on their own.

    Inclusion does not mean that this project independently observed or verified an impact. It means the record is traceable to the public source retained in the data. Reports may describe launches, interceptions, debris falls, impacts or attacks on a named target; the title, attack type and target category preserve the distinction present in the cited reporting. When a report supports only a country, region, city or sea area, the record stays at that level rather than gaining invented specificity.

    Source hierarchy

    Direct statements from the relevant civil-defense, interior, defense or state news agency are preferred because they are closest to the public claim being recorded. Reuters and the Associated Press provide the principal independent wire layer. State agencies that recur throughout the records are the Emirates News Agency (WAM), Qatar News Agency (QNA), Kuwait News Agency (KUNA), Bahrain News Agency (BNA), Saudi Press Agency (SPA) and Jordan News Agency (Petra). Other established regional publications can provide context or a backup link, but they do not turn unsupported social-media material into an incident.

    The primary-source URL field makes that pattern measurable. Counted by domain, the leaders are Reuters with 94, QNA with 65, AP with 34, KUNA with 23, WAM with 22, Petra with 21, SPA with 19, and BNA with 9. These are counts of records whose primaryArticleUrl uses that domain, not a score of editorial quality and not a count of distinct articles. Note that the state agencies together account for more records than the independent wires, which is a fact about what is publicly announced in this conflict rather than an editorial preference. Backup links are retained separately when available.

    Source confidence and marker colors

    Every record has a sourceConfidence value of high, medium or low. The interface labels these “High confidence,” “Medium confidence” and “Low confidence,” and the “official only” filter keeps only high-confidence records. The code does not expose a numeric scoring formula, so the site does not claim one. Readers should use the linked articles and record summary, not the label alone, when assessing a specific event.

    Marker color is not a simple three-step confidence legend. The getMarkerColor function checks location precision first: any record whose precision describes a generalized, region-level or airspace-level location is forced grey, whatever its source-confidence tier. Among the remaining precision values, medium-confidence records are amber and the rest render red. The confidence field therefore remains the authoritative confidence value, while grey primarily communicates location generalization. Note that “approximate” and “generalized” are treated as different things: an approximate landmark or city area is a best-effort position, whereas a generalized location has been deliberately broadened.

    Coordinates and deliberate generalization

    Latitude and longitude support an explanatory map; they are not claimed impact points. The TypeScript schema defines nine coordinate-precision values, each describing how the pin should be read:

    landmark_approx
    an approximate position for a named landmark
    city_area_approx
    an approximate area within a reported city
    city_centroid
    the center point of a city when no narrower location is justified
    region_centroid
    the center point of a reported region
    generalized_area
    a deliberately broad on-land location
    offshore_approx
    an approximate offshore position
    sea_area_approx
    an approximate named or described sea area
    generalized_sea_area
    a deliberately broad maritime position
    generalized_military_site
    a deliberately broad position for a military site

    In the 472-record file, 377 records use a generalized, region-level or airspace-level precision value and are rendered grey. Of those, 291 use generalized_area specifically. A number of additional precision labels accumulated in the data over time beyond the original nine — values such as regional_approx, country_airspace_generalized and maritime_regional_generalized. These are retained as written rather than rewritten, and the site now matches them by pattern so that a broadened location is never drawn as though it were exact.

    Generalization is intentional. Military locations are not plotted at operationally precise coordinates. Residential locations are broadened to avoid identifying a home or exact building. Reports that name only a city, region, airspace or offshore area receive a representative center or approximate area. A pin can therefore help a reader understand geography without claiming that the weapon, debris or damage landed on that exact point.

    Casualties and revisions

    Each incident stores separate killed and injured values. Homepage totals are calculated by summing the numeric value reported for each incident. A null value is excluded from the sum; it means the figure was not reported, and is not converted to zero. A numeric zero is different: it records that the cited reporting supplied a zero figure. This distinction is preserved in JSON and as an empty casualty cell in the CSV export.

    When public authorities or authoritative reporting revise a casualty figure, the record should use the most recent authoritative revision available in the cited sources. That means totals can change even when no new incident is added. The files are reviewed for new sourced incidents and revisions every few days when coverage is active. Users doing time-sensitive analysis should retain an access date and consult the cited reporting, because these figures are provisional and can be revised.

    Limits of the project

    This project is not original reporting, is not a casualty registry and is not affiliated with any government or organization. It does not have reporters at incident locations, cannot establish legal responsibility, and does not replace official emergency information. The map organizes claims already made in public sources and gives readers links with which to inspect them.

    Duplicate reporting, later clarification and incomplete early accounts are persistent risks in conflict data. Records are corrected in place when the cited evidence warrants a change. The corrections policy explains how to flag a record for review. Absence from the map means only that an event has not met this project’s inclusion and documentation threshold; it is not proof that nothing occurred.