How It Works
FORGE Map is an open map of incidents reported in South African news. Every pin is checked by hand against its sources and approved by the site’s owner before it goes on the map. An AI assistant, Maya, does much of the searching and checking. The owner decides what is published.
What FORGE Map is
FORGE Map is the public map built on FORGE, the research system behind it. Each pin is one incident a news outlet reported. Each pin carries its sources, the quotes its key facts rest on, and an honest note of how exact its place and time are.
Pins are filed under one of the map’s streams: Crime & Security, Infrastructure, Priority Intelligence, and Africa & World. As of 23 October 2026, most approved pins are killings, or deaths police are investigating, under Crime & Security. Five are infrastructure failures, under Infrastructure: four in Limpopo (a damaged substation, a burst water main, pipeline leaks and boreholes that stopped working) and a water outage from a faulty pump in Newcastle, KwaZulu-Natal. The pins so far cover incidents from 1 October 2026 in the Western Cape, Eastern Cape, North West, Limpopo, Mpumalanga and KwaZulu-Natal.
Everything is free. The map, the Records table and the CSV and JSON downloads have no paywall and no sign-in.
Who does what
Maya, the AI assistant, does the legwork
- Runs the news searches and finds candidate incidents.
- Reads the original articles. Keeps the incident date apart from the report date.
- Drafts each pin: its title, its story, when it happened and where.
- Marks how exact the map point is, and whether the reports are independent of each other.
- Checks each key fact against a quote from a source, and saves archive copies of sources where it can.
- Follows up on earlier pins, for example whether an arrest was reported.
- Re-checks parked cases for new reporting.
- Records the owner’s approvals and builds and tests the site.
The owner decides
- Which incidents become pins, and the exact data on each one.
- Every change to a pin, and whether a pin is withdrawn.
- The rules: what counts as an incident, and how pins are labelled.
- What happens to held-back and parked cases.
- Whether any pins are linked to each other, or to a case or an entity.
Maya can’t publish a pin on its own. Each owner approval is saved as a record in the project’s public Git repository. The steps that load pins and build the site refuse any pin without a matching approval record. You can see every record in the approval ledger.
From news report to pin
Find. Candidates come from news searches, outlets’ own sites, police (SAPS) statements, and web and X searches. In the Western Cape a fixed set of 14 standard news searches runs on a schedule, currently every three days. Elsewhere, the searches cover the area around each published pin, about 30 km. In Limpopo, Mpumalanga and KwaZulu-Natal, pins share one search area only when they are also in the same police precinct. A search result is only a lead. Nothing goes on the map until it has been checked and approved.
Check. The original articles are read in full, not search snippets. The date of the incident is kept apart from the date it was reported. Several outlets repeating one police statement count as one account, not as corroboration. Each key fact, such as the deaths, the date and time, and the place, is matched to a quote from a named source. Where reports disagree, the pin says so.
Label. Each map point gets a precision level and an uncertainty distance (see below). A point FORGE had to work out, because the reports don’t pin the place down, is marked as inferred. When the place can’t be put on a map at all, the pin may sit on the police station for the area, and is marked as estimated.
Approve and publish. The owner approves the exact pin data, and the approval is recorded with its version and date. The site and the Records downloads are then rebuilt from approved pins only.
Held back and parked
Incidents that don’t meet the rules aren’t published. For example, a report might give no cause of death or no usable place. Some are held back, with the reason written down. Others are parked while there isn’t enough reporting. Maya re-checks parked cases for new reporting, roughly hourly when no other FORGE work is running. New evidence goes back to the owner to decide. It never publishes anything automatically.
What a pin shows
Open any pin to see:
- The story in full, with when it happened and who gave the time.
- Where the pin is: what the map point marks, and why it is there.
- Where the reports differ, if they do.
- Sources: links to the original articles. A link opens only after a notice that you’re leaving the site.
- Where the reporting comes from: whether the reports are independent of each other.
- What each fact rests on: the quote behind each key fact, with an archive copy of the source where one was saved.
- Save and Share buttons.
How independent the reporting is
| Label | What it means |
|---|---|
| One report only | A single report, with nothing to check it against. |
| One outlet only | More than one report, all from one outlet. Not independent. |
| All from police statements | Several outlets, all resting on police statements. Not independent of the police account. |
| One account, repeated | Several outlets, but one repeats another’s wording. Counts as one account. |
| Partly independent | Several outlets. Most facts come from police, and at least one report adds its own non-police source. |
How exact the map point is
| Level | What the point stands for |
|---|---|
| Spot | A named spot, such as a school, a corner, or a set distance from a landmark. |
| Street | Somewhere on a named street. The pin is on that street. |
| Area | A general point for a named part of a suburb or township. |
| Suburb | The suburb’s own map point. The street isn’t mapped. |
| Village | The village’s own map point. |
| Town | The town’s map point. The place itself may be outside the town. |
| Farm | A farm or farm-area point. The farm may not be exactly here. |
| Precinct | An estimate. The place couldn’t be found on a map, so the pin marks the police precinct that handled the case, usually at its station. It is not the scene, and the uncertainty distance covers the whole precinct. |
Each point also has an uncertainty distance: the furthest the real place could plausibly be from the pin. Titles say “approx.” when only a street, suburb, village or town is known, “map point inferred” when FORGE worked the point out itself, and “map point estimated” when the pin marks only the police precinct.
Tools on the map
- Area check: pick a place and a radius from 500 m to 5 km, and a date range, to see the pins inside the circle. A pin counts as inside only when its whole uncertainty distance fits in the circle. Otherwise it’s listed as “may be inside”. Place-name search runs on your device. A typed address is sent to Geoapify to find it, never to FORGE Map.
- Wire: every pin as a list. Hand-checked pins are marked “Hand-checked” and have no machine-made score.
- Filter: show or hide each stream.
- Cases, Graph and Entities: these show investigations, the people, places and institutions involved, and the connections between them. They are empty for now, because no case has been published. A case appears only after the owner approves it. A shared place, gun calibre or pattern is never drawn as a link.
- Watchlist: tap the star on a pin or an entity to save it, and reopen it from the Watchlist. Saved items stay in your own browser only. Nothing is sent to us, they don’t move between your devices, and clearing your browser data removes them.
On the map, numbered bubbles group pins that sit close together. Click one to zoom in. The colour shows the size of the group: green for small, amber for medium and red for large. A dashed line between two pins appears only for a link the owner has approved.
Records and downloads
Records lists every pin on the map as a table you can filter and download as CSV or JSON. Each row has the incident time and how exact it is, where the reports place it, the map point and its uncertainty, whether that point is reported, inferred or estimated, the independence label, the outlets and source links, how many sources have archive copies, how many facts the reports disagree on, and the approval record and pin version it matches. Each download names the version of the data it was built from.
Known limitations
- Only what FORGE has checked. The map holds incidents that were reported in the news, found by our searches, checked and approved. It is not complete. Many incidents are never reported, or are reported where our searches don’t reach.
- Not a crime rate. Pin counts show what FORGE has checked, not how much crime happens anywhere. An area with no pins is not shown to be safe. Don’t compare areas by pin counts.
- Pins lag the news. Checking and approval take time. As of 23 October 2026, pins went on the map between the same day and 19 days after the earliest report found, with a median of six days. The earliest report found is not proven to be the first.
- It depends on news reports. Most pins rest on a single report, or on police statements repeated by several outlets. Reports can be wrong, and can change after they’re published. Check the source links before relying on a pin.
- Map points are approximate. Read each pin’s precision level and uncertainty distance. Inferred and estimated points are marked in the title and in the Records
location_basiscolumn.
Trust and corrections
All sources are open. Every pin comes from publicly available news reports and police statements, and links to them. Nothing here is classified, leaked or obtained through non-public means.
A pin is not an accusation. It records what was reported about an incident, attributed to whoever said it. It is not a finding about anyone.
Corrections are versioned. When a pin needs correcting, the
owner approves a new version, and the old record stays in the ledger. A pin can
also be withdrawn. The pin_version and approved_at
columns in Records show the latest version of each pin and when it was approved.