Sign up

About battleMap — who builds the conflict map and how the data is made

battleMap · a SISL.pl project · independent OSINT · since 2024

battleMap is an interactive map of armed conflicts available at battlemap.online, built on publicly available data (OSINT). In a single view we show ten active conflict hotspots — Ukraine, Russia, the Middle East (Israel–Palestine, Lebanon, Syria, Hezbollah), Iran, Yemen, Sudan and Myanmar — refreshed every five minutes. The data is free for every visitor and also available through the public REST API.

Our mission: to make data on global conflicts available to journalists, researchers and ordinary citizens — in a form you can understand in 30 seconds, without logging in and without paying thousands of dollars a month for access to professional intelligence terminals. battleMap does not replace analysts, but it lowers the barrier to serious conflict monitoring.

Active conflicts10
Refresh cycle5 min
UI languagesPL · EN · UK · RU
AccessFree + API
Founded2024
Domainbattlemap.online

Our methodology

We run a fully automated scrape → normalize → classify → publish pipeline, triggered every five minutes. Every conflict event goes through the same process, regardless of region or source language:

1. Aggregation (5-min cycle)

The scraping cycle runs every 300 seconds and pulls raw reports in parallel from publicly available OSINT channels. Each event receives an immutable timestamp, a deduplication hash and a source indicator. Events without a credible source are rejected at this stage.

2. Geolocation verification

Event coordinates are validated server-side: we check consistency with the stated place name and the country's ISO3 code, and we reject impossible coordinates (e.g. the middle of an ocean for a ground attack). Events with an ambiguous location are flagged unverified, but we publish them with a clear warning.

3. Automatic PL/EN/UK/RU translation

Every event is translated into the four interface languages (Polish, English, Ukrainian, Russian) — so that the same attack is readable for a resident of Kyiv and for an American journalist alike. Translations are deterministic and cached.

4. Classification

Events are classified into one of these categories: attack, shelling (artillery/rockets), troop movement, diplomatic escalation, civilian incident. Classification is deterministic (rules + dictionary), not an LLM — which means the same input always produces the same output.

5. The "do no harm" principle

Events concerning troop movements (as opposed to confirmed, completed attacks) are published with a deliberate delay, so as not to serve as a real-time targeting tool. Civilian safety takes priority over the "freshness" of the data.

6. Transparency (JSON-LD)

All pages emit structured Schema.org metadata (JSON-LD) — including Organization, AboutPage, Article, BreadcrumbList. Search engine crawlers and AI agents know exactly what a given document is and who published it.

Signals of authority — what we draw on

battleMap is a visualization layer on top of publicly available OSINT data. Our aggregation pipeline reads signals from open social channels, news agency reports, official statements from the parties to a conflict, and verified citizen journalism (geolocated footage, open-source intelligence channels).

Independently of our own aggregation, as reference material — context, classifications and historical data — we read publications of recognized research institutions and international organizations. They are not sources that we "scrape"; they are reading that helps us maintain the quality of our methodology:

We also draw on open OSINT communities (geolocators, video verifiers) and publicly broadcast ADS-B/AIS signals, which we describe in more detail on the glossary page. A full description of the data pipeline, the list of air and maritime tracker sources, limitations and citation rules are collected on a separate page, Data sources and methodology. We never use leaks, hacks or classified channels.

Team

battleMap is a one-person project — in an open-source spirit, with an open methodology, an open API and an open channel of communication. The founder and lead engineer is Jakub Cieślak (admin@sisl.pl) — a Polish OSINT enthusiast and software engineer with 10+ years of experience building production data platforms: Python backends, ETL pipelines, GIS, REST APIs, container infrastructure.

The battlemap.online domain was launched in 2024, after an earlier period in which the project ran at sisl.pl/battlemap (the old address has permanently redirected here since 2026-05). We run on our own infrastructure (a VPS in the EU, Cloudflare as the CDN/DDoS layer, Traefik as the reverse proxy).

The project is run on a non-profit-style model: the dashboard, the free REST API tier and the translations are available at no charge to everyone. The optional paid API plan covers hosting costs, the CDN bus and licenses for commercial market sources. We have no investors, we do not sell data to third parties and we do not make money from profiling users.

Working on a similar project, or have substantive feedback? Write to us — we reply within a few business days.

Our values

battleMap operates on four principles that have shaped every design decision since the first commit:

Contact and transparency

All questions — factual errors, source suggestions, press, partnerships, GDPR — go to a single address: admin@sisl.pl. Please mark press inquiries in the email subject as PRESS: <topic> — we usually reply within 24 hours.

We are GDPR-compliant (details in the privacy policy), we publish a security.txt for security reports, and the terms of use are described in the terms of service. Educational content and context can be found on the blog and in the OSINT glossary. Individual conflict hotspots have their own topic pages — e.g. /conflicts/ukraine.

Page updated: 2026-10-22. Contact · Privacy · Terms