The data behind the map.
Read the same observations shown on PharoSec. These public, read-only endpoints return cached JSON. Collection runs every 30 minutes; satellite scene availability is checked every six hours. No API key is required.
curl https://pharosec.tech/api/v1/briefing
Every record keeps provider timestamps and source references. Check feeds and acquisition times before treating a record as current.
Endpoints
The joined regional dataset: watch areas, recent reporting, satellite scenes, thermal observations and collection status. Each watch area contains report_ids, scenes and the count of heat detections within 25 km. Nearby observations do not by themselves corroborate a report.
/api/v1/newsHeadline metadata from GDELT’s published English and translated-source GKG batches, with source links, languages, indexing times and place associations. published_at is null because this feed does not establish publication time. Counts describe retrieved records, not independent sources or all reporting.
Up to six recent usable Sentinel-2 acquisitions per watch area. The joined briefing also includes up to two Landsat crops; radar catalogue records are exposed separately below. Every crop includes sensor, native resolution, acquisition time and source metadata.
NASA FIRMS Suomi NPP, NOAA-20 and NOAA-21 VIIRS plus Terra/Aqua MODIS detections inside 21–53°E, 3°S–33°N, including acquisition time, sensor, nominal resolution, product-specific confidence, fire radiative power and distance to nearby watch areas. Several detections can describe the same heat source.
Last collection attempts, last successful retrievals, latest observation times and per-feed failures. A successful HTTP response can contain retained observations from an earlier run.
Additional Landsat optical crops and Sentinel-1 radar acquisition records, grouped by watch area. Radar records contain time, platform, polarisation, orbit direction and footprint. The raw radar images are not processed into map overlays.
Attributed recent headline metadata from the connected Global Voices RSS feeds. Publisher-provided publication dates are distinct from collection time. Article bodies and images are not copied.
Dated city-level public-source control assessments and a separate list of unreviewed headline leads. Published syntheses currently cover Khartoum and El Fasher; other cities remain unassessed. Headline matches do not establish territorial control and never create confirmed markers.
The researched source directory, with collection/access status and links to provider documentation and terms. This inventory does not assert that every listed source is ingested.
Country-specific faction areas from dated Wikimedia Commons community maps. The datasets array separates Sudan, Ethiopia and Yemen, with up to eight retained revisions per source, WGS84 GeoJSON, source metadata, checksums, conversion method and attribution. The coverage_status array describes connected maps and remaining country gaps. Legacy source/snapshots fields continue to contain Sudan only. The source is checked every six hours; revisions newer than 48 hours are withheld. A source file revision time is not the event time or a fresh assessment of every area.
Try the data
This example is fetched from the current dataset. Download an entire endpoint using its link above or use the OpenAPI specification.
Loading current observations…
What the observations mean
| Data | What is established | What is not established |
|---|---|---|
| Satellite | An optical observation acquired at a stated time. | Who controls the area, why something changed, or what happened between passes. |
| Reporting | A source published a headline indexed by GDELT. A place may be named in that headline. | The truth of the claim, its exact event time or precise location, or source independence. |
| Thermal | A VIIRS or MODIS algorithm detected elevated thermal activity in a pixel. | An attack, weapon, damage, or the cause of the heat. |
Imagery crops cover approximately 11 km at 1,024 pixels across. Sentinel RGB source bands have 10 m nominal resolution and Landsat bands have 30 m nominal resolution; resampling is applied for map display. Source-tile cloud cover can differ from cloud cover over the crop. The map does not automatically identify combat or assign cause to visual changes. Selection considers the newest distinct dates in a 35-day window, with source-tile cloud cover at most 65% and sufficient crop coverage; it can exclude newer cloudy passes. Up to six usable Sentinel dates are retained. Landsat selection uses a 45-day window and whole-scene cloud cover at most 50%, with up to two usable passes. Display stretches differ between sensors; cross-sensor appearance is not a change-detection result.
Reports are matched to named watch areas or countries using headline text and multilingual place aliases. Topic categories use a small keyword vocabulary and can miss or misclassify articles. These are navigation associations, not incident coordinates. Syndication and duplicated narratives can remain. The feed contains attributed claims and cannot guarantee freedom from propaganda. Territorial control is not automatically inferred. Public-source city-level assessments require dated evidence, at least two distinct publisher/source groups, opposing evidence, a review note and expiry. Publication has a minimum 48-hour delay; no tactical troop or front-line tracking is provided.
The regional NASA daily layers offer Suomi NPP and NOAA-20 VIIRS or Terra and Aqua MODIS true-colour context. The selected composite day is separate from each optical scene’s acquisition date. The optional cloud-free reference is a historical Blue Marble composite.
Sources & rights
Read the complete source directory and access findings. Landsat data are courtesy of USGS, hosted by Microsoft Planetary Computer. Sentinel-1 catalogue records are supplied by Alaska Satellite Facility. Global Voices headlines are attributed under CC BY 3.0.
- Copernicus Sentinel-2, processed by Element 84: open imagery and STAC scene metadata, accessed through its published AWS Open Data bucket. Contains modified Copernicus Sentinel data 2026. Retain source attribution.
- NASA GIBS: regional VIIRS and Blue Marble imagery. Tiles are requested from NASA by your browser.
- NASA FIRMS: multi-satellite VIIRS Collection 2 and MODIS Collection 6.1 near-real-time detections. The provider’s 24-hour export may span a longer acquisition window because of processing delays.
- GDELT: released headline discovery metadata. Underlying articles and media retain their publishers’ rights; PharoSec does not republish article bodies or third-party news images.
- Natural Earth: public-domain reference boundaries, which do not represent current control. Leaflet provides map interaction.
Availability & use
This is an early public service with no uptime guarantee or paid service-level agreement. Results are cached for up to five minutes at the edge; collection can fail or lag. Each run collects new 15-minute GKG batches, catching up at most two hours after a gap. Up to 600 regional records are retained for three days. Initial records include a DOC API seed. The feed is not comprehensive monitoring. Filters and joins run in the frontend, and endpoint query parameters are not supported.
Polling once every five minutes is sufficient. Use backoff for HTTP 429 and 5xx responses. Do not use missing observations as evidence that nothing happened. This service provides observations, not investment advice, a trading signal, verified territorial intelligence or a market-resolution oracle.
The source directory records social, satellite, humanitarian and maritime access requirements and the verification roadmap. Broad social-media collection, live AIS and ground-video analysis are not running. Telegram mass collection is incompatible with the current platform terms. Other platforms require their own approved access and redistribution review. No personal accounts, payments or tracking analytics are used here.
Atlas workflows
The Control view filters dated city reference points by group and assessment date. An empty area means no assessment is published. It is not an inference about who controls it. The date selector uses the assessment’s as_of, not a reconstruction of what the public knew at that time. Records can be added later.
The latest assessment for a city supersedes older ones. Expiry leaves the city unassessed; it does not revive the old holder. Export downloads the visible points as GeoJSON with their dates, sources and limitations. Supporting record count and distinct publisher groups are not independent confirmations.
Reports can be filtered by group, region, topic, time window, language and publisher. Group matches come from a named-entity alias vocabulary in headlines and can miss ambiguous names or translations. The small chart counts indexing activity, not incidents or attacks. Matching headlines are grouped for display but the original records remain available.
Bookmarks remain in your browser’s local storage. Share links encode the current filters, place, control date, background, satellite sensor/date and map position. No account is required. The public API remains cached and read-only; a paid API is not running.
Briefing schema 1.4
territory adds independently labelled community cartography. Each snapshot has source_revision_at; event_as_of is null because the source does not establish a whole-map event date. The existing city assessments retain their own dates and expiry.
groups contains neutral group IDs, abbreviations, region, background references and aliases. Articles include actor_mentions. The control endpoint includes history, active assessments, source notes, opposing sources, revision, synthesis time and expiry. Private reviewer identity is excluded.
const data = await fetch("https://pharosec.tech/api/v1/briefing")
.then(response => response.json());
const city = data.control.assessments.find(
assessment => assessment.place_id === "khartoum"
);
// Inspect sources, as_of and valid_until before reuse.Development scope, acceptance criteria and access requirements are set out in the public product plan. The source directory distinguishes active connectors from prospective access.
Area control and map backgrounds
The Map / Satellite switch is always available. Map uses OpenStreetMap tiles with visible attribution; only tiles needed for the interactive viewport are requested. It has no offline prefetch or bulk download. The public tile service is best-effort; a production-scale commercial basemap requires an appropriate provider or self-hosted tiles. OSM tile policy.
Satellite offers four dated NASA daily composites and a historical reference, with separate high-resolution Sentinel/Landsat observations at watch areas. These are acquisitions and composites, not live video.
Sudan, Ethiopia and Yemen filled areas reproduce separately attributed community maps rather than PharoSec-reviewed boundaries. Conversion uses the source location map’s documented equirectangular bounds (21.5–39°E, 8.4–23.3°N), approximates curves and simplifies about 0.008°. Original text, point symbols, aircraft, images and pattern-only contested symbols are omitted. Shapes are hidden above zoom 9; omitted contested pockets and stale areas remain possible. A source revision is not a whole-map verification date. If a provider retrieval or conversion fails, last-good data remain with feed warnings.
War in Sudan (2023).svg: ElijahPepe, BorysMapping and Wikimedia Commons contributors, CC BY-SA 4.0. Derived geometry, recoloured and simplified by PharoSec, is distributed under the same licence. Base map Sudan adm location map.svg: NordNordWest, CC BY-SA 3.0 Germany. Keep these credits and licence links when reusing the geometry.
The older Somalia Commons map is outdated and disputed, while newer derivatives require an underlying rights review. Hiraal’s map requires redistribution permission. Somalia, Eritrea, South Sudan and other countries without verified reusable polygons remain explicit gaps. Empty regions do not imply a particular group controls them. Source findings.
Country views & reference borders
Select Eritrea, Ethiopia, Djibouti, Somalia or a surrounding country in the atlas. The view focuses its outline and filters watch areas, reporting and group profiles. Share links retain the selected country. Pale lines are reference boundaries; gold highlights your selection. Somaliland is a disputed reference map unit in Natural Earth’s de facto worldview and is included in the Somalia view. This is cartographic context, not diplomatic recognition or current armed-group control.
Locally hosted Natural Earth GeoJSON uses the more detailed 1:10-million-scale country dataset. That scale does not mean 10-metre precision. Provider boundary policy. Country views explicitly show absent territorial coverage; they do not assign control from national outlines.
The Reports view places numbered markers only at watch places explicitly associated with headlines. Counts are retrieved headline records, not incident counts or independent witnesses. Selecting a marker filters the chronological feed for that place. A place name does not establish an incident coordinate. Publication dates, where supplied, remain separate from discovery/indexing dates.
Product & data rights
PharoSec custom application code has not been released under an open-source licence. Source data and dependencies retain their own rights: public-domain Natural Earth, credited Copernicus/USGS imagery, ODbL OpenStreetMap and CC BY-SA community territory. A proprietary application does not make these inputs exclusively owned. Original analysis remains distinguishable from attributed third-party cartography.
Machine-readable layer and component notices. A future proprietary territorial database requires independently produced, lawfully sourced assessments and a documented ownership chain, or rights-holder agreements. The public community geometry cannot be relabelled closed or restricted contrary to its licence. The current API remains free and read-only.
Regional faction data · schema 1.4
territory.datasets[] contains a separate source, country, check time and revision history for each connected map. The interface chooses the newest eligible snapshot per country at the selected date. A new Yemen edit cannot change Sudan’s map date. Use coverage_status[] to inspect missing or rights-limited coverage. The top-level source and snapshots are retained as Sudan-only compatibility fields.
The connected layers contain thirteen source categories across Sudan, Ethiopia and Yemen, not every armed or political organisation in the region. Forty-five background profiles are searchable. Political parties, related forces and coalition members remain separate identities; the source’s umbrella polygons are not split by guesswork. These adapted boundaries retain CC BY-SA rights and are not exclusive PharoSec property.
- Ethiopian Civil War (2020-present).svg: Rr016 and Commons contributors including Ecrusized and Socialwave597. Frame: 32.7–48.3°E, 2.9–15.3°N. Base cartography: NordNordWest, Ethiopia adm location map, CC BY-SA 3.0 Germany.
- Yemeni Civil War.svg: Ali Zifan and Commons contributors including BorysMapping and Ecrusized. Frame: 41.8–54.7°E, 11.4–19.5°N. Base cartography: NordNordWest, Yemen location map, CC BY-SA 3.0.
Filled areas are converted to WGS84, simplified and recoloured. Ethiopia and Yemen are clipped to buffered Natural Earth country masks to avoid attributing neighbouring states to the map’s background colour. Unclassified fills and patterns are omitted, so a gap does not establish absence. Machine-readable rights manifest. Failed source checks retain dated last-good data with feed warnings.