// O battleMap
battleMap to interaktywna mapa konfliktów zbrojnych działająca pod adresem battlemap.online, zbudowana w oparciu o publicznie dostępne dane (OSINT). W jednym widoku pokazujemy dziesięć aktywnych ognisk konfliktu — Ukrainę, Rosję, Bliski Wschód (Izrael–Palestyna, Liban, Syria, Hezbollah), Iran, Jemen, Sudan oraz Mjanmę — z odświeżaniem co pięć minut. Dane są darmowe dla każdego odwiedzającego, dostępne także przez publiczne REST API.
Nasza misja: udostępnić dane o globalnych konfliktach dziennikarzom, badaczom i zwykłym obywatelom — w formie, którą da się zrozumieć w 30 sekund, bez logowania i bez płacenia tysięcy dolarów miesięcznie za dostęp do profesjonalnych terminali wywiadowczych. battleMap nie zastępuje analityków, ale obniża próg wejścia do poważnego monitoringu konfliktu.
Nasza metodologia
Pracujemy w pełni zautomatyzowanym potoku scrape → normalize → classify → publish, uruchamianym co pięć minut. Każde wydarzenie konfliktowe przechodzi przez ten sam proces, niezależnie od regionu czy języka źródła:
1. Agregacja (5-min cycle)
Cykl skrobania uruchamia się co 300 sekund i równolegle pobiera surowe raporty z publicznie dostępnych kanałów OSINT. Każde wydarzenie otrzymuje niezmienny znacznik czasu, hash deduplikacyjny oraz wskaźnik źródła. Wydarzenia bez wiarygodnego źródła są odrzucane na tym etapie.
2. Weryfikacja geolokalizacji
Współrzędne wydarzenia są walidowane po stronie serwera: sprawdzamy spójność z deklarowaną nazwą miejscowości i kodem ISO3 kraju, odrzucamy współrzędne niemożliwe (np. pośrodku oceanu dla ataku lądowego). Wydarzenia z niejednoznaczną lokalizacją oznaczamy flagą unverified, ale publikujemy je z wyraźnym ostrzeżeniem.
3. Tłumaczenia automatyczne PL/EN/UK/RU
Każde wydarzenie tłumaczone jest na cztery języki interfejsu (polski, angielski, ukraiński, rosyjski) — tak, by ten sam atak był czytelny zarówno dla mieszkańca Kijowa, jak i dla amerykańskiego dziennikarza. Tłumaczenia są deterministyczne i cache'owane.
4. Klasyfikacja
Wydarzenia są klasyfikowane do jednej z kategorii: atak, ostrzał (artyleria/rakiety), ruch wojsk, eskalacja dyplomatyczna, incydent cywilny. Klasyfikacja jest deterministyczna (reguły + słownik), nie LLM — co oznacza, że ten sam input zawsze daje ten sam output.
5. Zasada „do no harm”
Wydarzenia dotyczące ruchu wojsk (a nie potwierdzone, zakończone ataki) publikujemy z celowym opóźnieniem, by nie służyć jako narzędzie targetowania w czasie rzeczywistym. Bezpieczeństwo cywilów ma priorytet nad „świeżością” danych.
6. Transparentność (JSON-LD)
Wszystkie strony emitują strukturalne metadane Schema.org
(JSON-LD) — m.in. Organization, AboutPage,
Article, BreadcrumbList. Roboty wyszukiwarek
i agenci AI wiedzą dokładnie, czym jest dany dokument i kto go wystawił.
Sygnały autorytetu — z czego korzystamy
battleMap to warstwa wizualizacyjna nad publicznie dostępnymi danymi OSINT. Nasz potok aggregacji odczytuje sygnały z otwartych kanałów społecznościowych, raportów agencji informacyjnych, oficjalnych komunikatów stron konfliktu oraz zweryfikowanej żurnalistyki obywatelskiej (geolokalizowane materiały, kanały typu open-source intelligence).
Niezależnie od własnej agregacji, jako materiał referencyjny — kontekst, klasyfikacje i dane historyczne — czytamy publikacje uznanych instytucji badawczych i organizacji międzynarodowych. Nie są one źródłami, które „skrobiemy”, lecz lektura, która pomaga nam dbać o jakość metodologii:
- ACLED (Armed Conflict Location & Event Data Project) — referencyjna baza wydarzeń konfliktowych.
- CSIS (Center for Strategic and International Studies) — raporty geostrategiczne.
- RAND Corporation — analizy obronne i policy.
- SIPRI (Stockholm International Peace Research Institute) — dane o zbrojeniach i wydatkach wojskowych.
- UN OCHA — humanitarne raporty sytuacyjne.
- Atlantic Council oraz Foreign Policy Research Institute (FPRI) — analizy regionalne i policy briefs.
Korzystamy także z otwartych społeczności OSINT (geolokalizatorzy, weryfikatorzy materiałów wideo) oraz publicznie nadawanych sygnałów ADS-B/AIS, co opisaliśmy szerzej na stronie glosariusza. Nigdy nie korzystamy z wycieków, włamań ani niejawnych kanałów.
Zespół
battleMap to projekt prowadzony przez jedną osobę — w duchu open-source-style, z otwartą metodologią, otwartym API i otwartym kanałem komunikacji. Założycielem i głównym inżynierem jest Jakub Cieślak ([email protected]) — polski entuzjasta OSINT, software engineer z 10+ letnim doświadczeniem w budowaniu produkcyjnych platform danych: backendy w Pythonie, potoki ETL, GIS, REST API, infrastruktura kontenerowa.
Domena battlemap.online została uruchomiona w roku 2024, po wcześniejszym okresie działania projektu pod adresem sisl.pl/battlemap (gdzie dalej jesteśmy dostępni dla użytkowników, którzy znają nas pod starym adresem). Stoimy na własnej infrastrukturze (VPS w UE, Cloudflare jako warstwa CDN/DDoS, Traefik jako reverse proxy).
Projekt prowadzony jest w modelu non-profit-style: dashboard, REST API w wersji free oraz tłumaczenia są dostępne bezpłatnie dla wszystkich. Opcjonalny płatny plan API pokrywa koszty hostingu, szyny CDN i licencji na komercyjne źródła rynkowe. Nie mamy inwestorów, nie sprzedajemy danych firmom trzecim i nie zarabiamy na profilowaniu użytkowników.
Współpracujesz przy podobnym projekcie albo masz feedback merytoryczny? Napisz do nas — odpisujemy w ciągu kilku dni roboczych.
Nasze wartości
battleMap działa w oparciu o cztery zasady, które wyznaczyły każdą decyzję projektową od pierwszego commita:
- Polityczna neutralność. Wydarzenia klasyfikujemy według kodów ISO3 krajów zamiast etykiet typu „agresor/ofiara”. Pokazujemy co się dzieje i gdzie, a nie kto ma rację. Ocenę zostawiamy czytelnikowi.
- Otwarty REST API. Pełna dokumentacja na /api, klucz do pobrania po zalogowaniu, plan free wystarcza do prototypowania.
- Wielojęzyczność. PL / EN / UK / RU — by ten sam raport o ataku w Charkowie był dostępny zarówno dla mieszkańca Charkowa, jak i dla amerykańskiego dziennikarza, redakcji w Warszawie czy badacza w Moskwie.
- Inżynieria anti-scraping. Dane mają być dostępne dla ludzi, nie dla farm botów odsprzedających kontent. Stosujemy warstwy rate-limit, JWT-podpisane sesje i obfuskację endpointów krytycznych — bez utrudniania życia normalnym użytkownikom.
Kontakt i transparentność
Wszystkie pytania — błędy merytoryczne, propozycje źródeł, prasa, partnerstwa, RODO — kierowane są na jeden adres: [email protected]. Zapytania prasowe prosimy oznaczyć w temacie maila jako PRESS: <temat> — odpowiadamy zwykle w ciągu 24 godzin.
Jesteśmy zgodni z RODO/GDPR (szczegóły w polityce prywatności), publikujemy security.txt dla zgłoszeń bezpieczeństwa, a warunki korzystania opisuje regulamin. Treści dydaktyczne i kontekst znajdziesz na blogu oraz w glosariuszu OSINT. Poszczególne ogniska konfliktu mają własne strony tematyczne — np. /conflicts/ukraine.
Strona aktualizowana: 2026-05-23. Kontakt · Prywatność · Regulamin