MONITOR reads public feeds, labels them with fixed rules and draws them on one map. It does not generate, predict or simulate events, and nothing here is written by a model. Every headline and post is its author's claim, shown as written. A panel's lamp says in its tooltip which sources answered and when.
Wire
Connect a qualifying wallet for current events.
Hazards
Connect a qualifying wallet for current events.
Markets
Connect a qualifying wallet for current events.
Air
Connect a qualifying wallet for current events.
Odds
Connect a qualifying wallet for current events.
Sea
Connect a qualifying wallet for current events.
How stories are labelled
- Stories
- Reports of the same event from different outlets are merged into one story, timed at the first report. The number after the source is how many other publishers carry it.
- Precedence
- Flash, Immediate, Priority or Routine is assigned from words in the headline, such as casualty counts and terms like strike, explosion or coup, and moves up one step when six or more publishers carry the story. It is a triage aid, not a judgement on the event.
- Category
- Conflict, Security, Unrest, Cyber, Hazard, Economy or Politics, by terms in the headline. A story that matches none is General. Rules misfire: read the headline, not the label.
- Signal
- The default view shows everything above Routine, any conflict, security, unrest, hazard or cyber story whose own headline says so, and any story three or more publishers wrote up independently. All shows every story.
- Location
- The most specific place named in the headline, or failing that in the summary. When only a country is named, the story's mark sits at that country's label point, not at a city, and has a broken rim. Stories that name no place are in the wire, with no place on their row, but not on the map.
- Country brief
- Clicking a country lists the stories placed in it within the window, and the conflicts, bases, nuclear sites and commodity hubs the reference data holds for it. It is a view of what is already on this page, not a separate assessment.
- Wire tempo
- A 0 to 100 reading of severity-weighted stories per hour over the last three hours, whatever time window is selected. It says how busy the wire is. It is not an official alert level.
- History
- The wire is collected from the moment this server started. Earlier hours hold only what each feed still carried, so they are incomplete, and the trend chart draws them hollow.
- Situations
- The situations panel lists every situation with a view of its own, in the order of its recent weight, followed ones first. The line under a name is its newest report, with that report's age. A row's two figures are its reports in the last 24 hours, each story counted once for every publisher that carries it, and the publishers across the reports held; the bars are its reports in each six hours of the last seven days. A thread inside a standing situation has no row of its own.
- Reference layers
- Conflict areas, chokepoints, commodity hubs, bases and nuclear sites are curated reference data with an as-of date, not live feeds.
- Markets
- Futures quotes are exchange-delayed and show the last session when a market is closed; a closed market's row is dimmed. Uranium and lithium are shown through exchange-traded funds, labelled as such. The 10-year yield's move is in basis points; every other move is a percentage.
- Odds
- Prices on Polymarket: what traders are paying for Yes, not a forecast and not ours. A row's tooltip gives the volume traded in 24 hours and the day the market closes.
- Sea transits
- Daily vessel counts through each chokepoint from IMF PortWatch, which derives them from ship transponders. The series runs about two days behind.
- Aircraft
- Aircraft flagged military by adsb.lol, from positions collected by volunteer receivers and refreshed every 30 seconds. Most are broadcast by the aircraft; some are computed by the receivers. Between refreshes each icon is moved along its last reported track and speed, and a selected aircraft trails the positions received since the page opened. Type names are read from the ICAO type code, which names an airframe family, not a mission. Aircraft that do not transmit do not appear, and coverage is densest over North America and Europe.
What the map says without a click
- Marks and words
- Not every place with stories is drawn. A few places stand on the map, each with its mark and one row beside it: place, kind and age. Every other place in view waits, and is brought up in turn, one at a time. One place at a time opens in full, in a pop-up joined to its mark by a hairline: a publisher's own headline with the place, the kind of event, the story's age, the publisher's name and, when more than one carries the story, how many publishers. Nothing is reworded or summarised. The count at the map's foot, as in 8 / 52 PLACES, is the places standing of those in view.
- Headline cuts
- A headline is cut by rule to fit, at a word, and every cut is marked with an ellipsis, including one in the middle. A lead-in such as “Live:” is dropped, and a trailer after a dash only when it is the publisher's own name. When the part that would go holds the last word that makes the headline a denial, a doubt, someone's say-so or a turn (not, no, denies, reportedly, says, but, cannot and the like), that clause is kept and the cut is made before it. The rule looks only for those words: a cut can still drop a detail that matters, and the full headline is one click away.
- Kind
- The word beside a place (Strike, Intercept, Fighting, Blast, Attack, Shipping, Protest, Arrest, Court, Outbreak and the rest) and the shape of its mark are read from the lead headline by fixed patterns, and only within the category the story already has. A weapon named in a headline is not a strike unless the headline says it was used; one brought down is an interception; an explosion with no cause given is a blast, not an attack; a death alone is not an attack. Kinds that assert an event are withheld when the headline warns of one, plans one, denies one, discusses or condemns one, looks back on one, puts it in quotation marks, asks a question, or reports a drill or a test; “after” withholds too unless the event's own result comes before it, as in “three killed after strike”. The place then shows a plain dot and its name alone, with no category word. Subject words (Talks, Vote, Sanctions, Nuclear) are withheld when the headline says the thing is refused, called off or still to come; Markets only when it is conditional. A headline that fits no pattern shows a plain dot and its category. Rules misfire, in both directions. The headline is the authority, not the word: it is on the map for the place whose pop-up is open, and one pointer movement away for the rest.
- Which story speaks for a place
- A place's mark, colour and words are those of one story: the newest report at the place whose headline reports an event (a kind was read from it), else the newest report there. The number on a ring counts every story at the place, whatever its kind. Where two numbers would overprint, the one at the lighter place is left out.
- Which places stand
- Every place has one weight. It is the precedence of the story that speaks for it (Flash 10, Immediate 5, Priority 2, Routine 0.5), times its category (conflict and security 1, unrest 0.8, cyber 0.7, hazard 0.6, economy and diplomacy 0.4, other 0.15), halved for every six hours since the newest report at the place and never under a tenth, with a quarter more for each further publisher carrying the story, up to double, and halved again when the headline names an event without reporting one. The places in view are walked from the heaviest down. A place stands unless the count is full, it lies within 28 pixels of a heavier standing place, its story reports the same event as one, or, at the whole-world view, three heavier places already stand in its region (the Americas, Europe, the Middle East and North Africa, Africa, Asia-Pacific). The count is one place for every 50,000 square pixels of free map, never under four nor over ten: eight on a laptop, ten with the map in Focus, four on a phone. A waiting place within 28 pixels of a standing one is read straight after it and named in its tooltip. The set is worked out again when the view comes to rest, when a filter or the window changes, when a place appears or goes, and when a pass ends; a place that stands keeps its place until another weighs a quarter more. A category chosen in the strip or the wire is ranked among its own places, and a closer view shows that view's own heaviest.
- The pop-up
- One pop-up is open at a time. Left alone, the map reads every place in view in turn and rings the place whose turn it is. A pass begins with the standing places, the heaviest first. Then it takes the waiting ones two at a time, a place near a standing mark straight after that mark and the others by weight, and reads the next standing place again after every two. A waiting place's mark comes up for its turn and goes away after it. A standing place holds the pop-up seven seconds, nine for a long headline; a waiting place five, seven for a long one. The order of a pass is fixed when it starts: a refresh of the wire does not reshuffle it, a place that has gone is passed over, and a new one waits for the next pass. The turns hold still while the pointer or the keyboard's focus is on the map, while something is selected and while the tab is hidden. When the system asks for reduced motion they do not run by themselves: a key beside the count steps them. Pointing at a mark, a row on the map or a row in the wire opens that place's pop-up at once, whether the place stands or not.
- Arrivals
- A signal story with a place that was not in the previous refresh and is under 30 minutes old sends rings out from its place and takes the pop-up at once, marked NEW, for 20 seconds, whether or not its place was standing. Its place then stands, with that story on its row, for 20 seconds, 45 for an Immediate and five minutes for a Flash; four such places at most at one time. The reader then goes on from the place it had reached. The story's age reads NOW only while the story itself is under a minute and a half old; a story the feeds delivered late shows its real age. If it names only a country, that country's outline brightens once.
- The rest of the map
- Everything that is not a story is drawn by how close the view is. At the whole-world view it is a quiet background, small and mostly without words: every strait, the green hazards as small diamonds, military aircraft but trainers and helicopters (transports and fighters fainter), the six relation lines that weigh most, the registry's standing axes, every flashpoint's dashed ring and the benchmark hubs that moved most today (eight at most), with words on at most four hazards, three straits, three aircraft, four lines and the four busiest conflicts. Closer than the whole world: all of that at full strength, eight relation lines, the benchmark hubs with a move today (eight at most) and the twelve bases or nuclear sites nearest the middle of the view. From zoom 4.3: everything in view, with ten relation lines. The Layers panel says what the view draws of each layer, as in 13 of 189.
- Viewers
- The figure in the top bar marked SIM is a stand-in, not a measurement: it wanders between 10,000 and 20,000. Its tooltip gives the measured figure, which is the number of pages that have told this server they are open in the last 45 seconds.
- Lines between countries
- A line joins two countries when headlines in the window report one state acting on the other, or the two acting together: force (strikes, shelling, an incursion, a seizure), economic pressure (tariffs, sanctions, a blockade, export curbs, expulsions), tension (threats, a summons, aircraft over a line, drills aimed at the other), an attributed cyber attack, or diplomacy (talks, a visit, a ceasefire, a deal). The server reads this from each headline by fixed rules: both states have to be named, with a verb that relates them, and when the grammar is unclear no line is drawn. Where a headline names only the place a blow fell, the other side is taken from the conflict registry, and only for a war between two states. Reports are added up for each pair and kind; the word and number on a line (STRIKES 11) are the commonest wording and the count. An arrowhead runs from the state reported acting to the state acted on, one at each end when reports run both ways, and none when no actor is named. Each kind moves in its own way: points with a tail for force, a slow march of ticks for pressure, two points swaying for tension, a point in steps for cyber, two points meeting in the middle for diplomacy. A line is a relation between countries, drawn between their label points. It is not a route, a flight path or a front. A broken grey line is a standing axis from the conflict registry, between states it sets against each other, with no report in the window; it is fainter at the whole-world view. The lines that weigh most are shown: six at the whole-world view, four of them with their word and each with four moving points at most, eight closer in, ten from zoom 4.3. Click one for the stories behind it. The rules misfire: the stories are the authority.
- Country level and lit countries
- A broken rim on a mark means the stories name only the country, so the mark is at its label point and not where anything happened. A plain dot is a headline no kind was read from, a number the count of stories at the place, and a diamond a natural hazard from an instrument feed, not a story. While a country-level place stands on the map, its country's outline is lit in the lead story's colour when two or more of its stories report an event, more firmly with more of them; stories that discuss, deny or expect an event light nothing. An outline counts stories that name the country. It is not a rating of the country and not an area affected. A country drawn whole as a conflict area is not outlined; one that lies inside a conflict's circle can be.
- Hazards on the map
- A hazard is a diamond holding the kind its feed gives (quake, storm, wildfire, volcano, flood, or a plain warning sign for anything else). Its colour is the alert level: the feed's own where it gives one (GDACS, and USGS for a quake it has rated), otherwise MONITOR's threshold, magnitude 6 and 7 for a quake and 64 and 96 knots for a storm from NASA EONET. Alert orange and red are the same hues as the Security and Conflict categories: the diamond, not the colour, says it is a hazard. Orange and red ones print their own measure as the feed last reported it: a quake its magnitude, a storm its name and wind, a drought its area. These come from fields in the feed, not from a headline. A quake keeps a ring sized by magnitude. At the whole-world view a red alert is always drawn, an orange one only where its reading fits, four readings at most. A green one is a small diamond without words, and from zoom 4.3 it shows its kind and its measure.
- Aircraft on the map
- Surveillance, bomber and tanker aircraft that broadcast a callsign are named with it and their type. Every military aircraft but trainers and helicopters is drawn at every view, transports and fighters smaller; from zoom 4.3 trainers and helicopters too. At the whole-world view transports and fighters are fainter, ninety aircraft at most are drawn (the heavier classes first, then the nearest to a standing place or a conflict) and three at most are named. Each named aircraft trails up to the last 40 positions received since this page opened, joined in order, and a last leg to where its reported track and speed put it now, at most two and a half minutes past its last fix. An aircraft that drops out of a refresh starts a new trail. Nothing is drawn for where an aircraft was before the page opened.
- Chokepoints and conflicts on the map
- Every chokepoint is a diamond at every view. At the whole-world view one carries its name and count only when a signal story in the window names the waterway itself or is placed within 300 km of it and matches one of its keywords, or when its latest daily vessel count is at least 30 percent and five vessels away from the mean of the seven days before, three of them at most, and the rest are smaller and dimmer; the arrow is printed only in the second case. The count carries its day when it is older than yesterday. A conflict's area is drawn by the stories in the window that match its keywords: an outline for none, a fill for one to four, hatching for five or more. The outline alone means only that the registry lists the conflict. A conflict confined to part of a country is a circle round its centre, not the whole country. The four conflicts with the most matched stories are named at the whole-world view, where the name fits on the conflict's centre or a step above or below it, with that count, routine stories included, and under the name the two commonest kinds read from those headlines (strike, intercept, fighting, blast, attack, shipping) when two or more stories share one. A label that has no room beside its own mark is left out. Bases and nuclear sites are drawn once the map is closer than the whole world; of the commodity hubs, the benchmarks that moved most today, eight at most, are small squares from the whole-world view.
A situation's page
- Video and YouTube
- On the dashboard nothing is requested from YouTube until the viewer presses play. On a situation's page, on a desk, one muted player starts on arrival when a stream is listed for that situation and this server read it on air in the last 15 minutes: from that moment the viewer's browser is connected to YouTube (its address, its browser details, and the fact that this site embedded the video), as if they had pressed play. It does not start on a phone, with data saver, reduced motion, Global Privacy Control or Do Not Track, and the viewer can switch it off in that page's INFO sheet (remembered in that browser). LIVE on a channel means this server read its stream on air in the last 15 minutes; an older reading says nothing, and its picture is then the last one YouTube holds. A player YouTube refuses says Not available here: the stream may not be offered in the viewer's country. A rolling news channel may not be showing the situation it is listed for. The player is YouTube's own: YouTube's terms ↗, Google's privacy policy ↗.
- Channels and accounts
- The streams and accounts listed for a situation are chosen by the desk, each for a stated reason, with its source and the day it was last checked (in its tooltip). One short tag says whose a state's channel or account is, as in UKRAINE STATE or QATAR-FUNDED; a private outlet, an agency or an international body carries none. What a party to a conflict publishes is its own claim. Organisations on the US or UK lists of terrorist organisations, and any the owner of this site has chosen to leave out, are not listed: the INFO sheet names them under NOT INCLUDED.
- Posts
- The posts on a situation's page are those of the accounts listed for it, read from Bluesky's public API and from feeds served from a body's own site, shown as written and not translated. Accounts at YouTube are not read: they are listed as links. Telegram is read only where this site’s operator has switched that reading on, against Telegram’s terms; otherwise its channels are listed as links. Which it is on this server could not be read from it just now.
- Posts from X
- X gives a server nothing without a paid key. Whether this server has one could not be read from it just now. With a key, the server searches X for each situation and shows a post only if its own text carries a keyword listed for that situation; it is an original post, not a repost or a reply; X has not marked it sensitive; it passes plain tests for spam; and its author is listed for the situation, is on a list of established outlets, carries X's government or organisation mark, or is verified with a large and long-standing following. A post that passes is still its author's claim, shown as X's display rules ask: the author's picture, name and handle, linked to the profile; the text as written, its links, mentions and hashtags as links; the time, linked to the post; X's logo. A link in the text goes by X's own short address (t.co). A tick beside a handle is X's own mark on the account: solid for a government or an organisation, a ring for a paid subscriber. The pictures on such a post, the author's among them, come to the viewer's browser from X's own addresses. With no key, a situation's X view shows X's own embedded timelines of the accounts listed for it, drawn by X's script: nothing is requested from X until the viewer opens that view, and from then X's script runs in the page and the viewer's browser talks to X.
- Reports and places
- A situation is an entry of the conflict registry, a thread of related reports grouped by rule from the wire (its name is then a publisher's headline, in quotation marks), or a hazard a feed puts at alert level. A report that names only a country is placed at the country's label point: the area, not a site. A figure between two sides, as in FORCE 6, counts the headlines of the last seven days that state an act between them: a count of reports, not a score.
- Markets
- Each instrument is listed for a stated reason, in its tooltip: tied to the situation directly, or one step removed. The bar and the multiple on a row, as in 2.8x, measure the session's move in that instrument's own usual days: a usual day is the standard deviation of its last 20 daily moves (for a future, the contract's own), and 1.0x is passed about one day in three. Quotes and daily bars are CNBC's; futures and most non-US shares are 10 to 15 minutes late, and a row names its session's day when that is not today. A fund may stand in for a commodity.
- Volatility gauge
- A gauge such as OVX or VIX is worked out by its exchange from the prices of options on what it follows. It is not a forecast. The band behind it is the middle 80% of its recent closes. A general gauge is not tied to the situation.
- Odds
- The price traders paid for Yes on Polymarket, in cents, and its change over 24 hours. It is a price, not a forecast, and not ours. A row's tooltip gives the volume traded and the day the market closes.
- Pictures
- A report's picture is its publisher's and a post's is its account's; a video's still is YouTube's. All are fetched by our server, so they send nothing of the viewer's to anyone, and each one's credit is its tooltip.
Reference data and map
Conflict registry, chokepoints, commodity hubs, bases and nuclear sites: compiled for MONITOR from public sources, as of 6 Oct 2026; each entry links its sources. Country names and codes: world-countries (ODbL 1.0). City coordinates: GeoNames (CC BY 4.0) and Wikipedia (CC BY-SA 4.0). Country outlines: Natural Earth (public domain). Base map: OpenFreeMap, © OpenMapTiles, data © OpenStreetMap contributors.
Aggregated from public sources for situational awareness. Verify with the linked source before relying on any item.