iPhone guide · version 1.7.72 from the App Store

The situation on a map.
The sources behind each signal.

Strażnik combines public information about airborne threats and shows a score for each Polish province. This guide covers the iPhone app. The map, signals, history and scoring work exactly as on Android; alerts, permissions and updates work differently — those chapters are written separately.

The iPhone screenshots were taken on 18 September 2026 on the TestFlight build, using live data. The shared chapters (map, zones, signals, foreign aircraft) keep the Android screenshots — the app screen looks the same on iPhone, only the system bar differs. The iPhone screenshots show the Polish interface. Tap a screenshot to open it full size.

Mikrus Strażnik’s server is provided by Mikrus — thank you for supporting the project.

Strażnik on iPhone: map of Poland and Ukraine, six green source indicators, icons at the top, the my region, zones and whole PL tiles, and the Map, Signals, History, More tabs

What Strażnik is

A server collects data from several public sources, calculates a score for every province and sends notifications. The app shows the map, the source of every point and the last 12 hours of history. You need neither an account nor your own server.

This is not an official warning system. Strażnik supplements sirens, Poland's Alert RCB and RSO warnings, but does not replace them. It cannot guarantee that a threat is detected, or that it warns earlier than official channels. If you receive an Alert RCB or hear sirens, follow the official instructions — even when the map looks calm.

The score is an app indicator, not a probability of impact. No single article or zone raises the level on its own — the threshold is reached only by an official message, a serious object close to the border, or several independent sources at once.

1. Installation and updates

  1. Open Strażnik on the App Store or search the App Store for “Strażnik alarm powietrzny”. The app is available on the App Store in Poland, Germany, the United Kingdom, Belgium, Lithuania, Latvia, Estonia and Ukraine.
  2. Tap Get and confirm as with any other app. Strażnik is free and has no in-app purchases.
  3. On first launch, allow notifications — without them an alert cannot reach you while the app is closed.
  4. Save your province in ⚙ → My places and tick Watch alerts for this province.
  5. Go through the four steps in the “Check your iPhone” box in chapter 9 — they decide whether you hear an alert at night.

Updates

On iPhone, updates come through the App Store, as for any app — Strażnik does not download files itself and has no “Check for updates” button. If automatic updates are off, open the App Store → your account (icon at the top) → the list of updates. The iPhone version number can differ from Android: every release goes through Apple's review, so it sometimes arrives later.

Which version do you have? ⚙ → App tab → “Installed version”. The interface language and links to this guide and the changelog are there too.

Test build (TestFlight)

If you tested Strażnik through TestFlight, you do not need to uninstall anything: get it from the App Store and the store version replaces the test build. Settings and My places stay. After installing, open the app once and check that your province is still selected for alerts.

2. First steps: My places, notifications, language

My places

⚙ → My places → 📍 Open My places. You can save up to 8 places, e.g. Home, Work, Trip. For each you choose a province and tick Watch alerts for this province. Notifications arrive for watched provinces; several places in one province make one subscription. The first place defines “my region” on the map.

A place can also be exact: tapping ◎ Read location once stores a one-off point and its accuracy. There is no background tracking. While the app is open, Strażnik then calculates on the phone the distance to visible objects. Notifications are still sent per province.

Place data stays on the device — the button is called Save on device.

My places on iPhone (Polish interface): places Home and Parents, scope Province, province Lublin, Watch alerts for this province ticked, how it works note and the Save on device button
A “Home” place in Lublin province with alerts watched (iPhone, Polish interface).

iPhone permissions

On first launch Strażnik asks only for permission to send notifications. There is no full-screen alert permission and no battery setting on iPhone — iOS does not offer them to ordinary apps. In ⚙ → Alerts you can check whether notifications are ready and for which region; the 🔔 Notification settings button opens Strażnik's settings in iOS. If “Time Sensitive Notifications” are off, the tab shows a warning — without them a red alert may not break through a Focus mode.

If you only want to watch the map, turn off Alerts on this phone — the phone is unsubscribed from every province and stops receiving alert notifications. iOS permissions stay as they are — the app cannot change them; you switch them off in the iPhone's Settings.

Polski / English

⚙ → App → Interface language. The settings window previews the language at once; Save reloads the app in the new language, Cancel keeps the previous one. The English version covers the interface, object descriptions and map labels; quoted messages and article titles stay in the original language.

Text size

⚙ → App → Text size: Normal, Larger or Largest. It applies at once, with no saving and no restart. Every piece of text grows together — the panel, the object cards, the legend, the alert screen and the GROTA module. Spacing and buttons keep their size, so the layout holds and nothing runs off the screen.

On Android this setting multiplies with the system font size (Settings → Display → Font size), so with a large system font “Normal” is usually enough. Labels on the map itself come from the map server and this setting does not change them. On the website ordinary browser zoom (Ctrl and +) works as well. On iPhone it is the other way round: the system text size (Settings → Display & Brightness → Text Size) does not change the text in Strażnik — the system web view follows Dynamic Type only when a page explicitly asks for it, and ours does not. On iPhone this setting is therefore the only way to get larger text.

3. The main screen

The layout has four areas: the bar at the top, the tiles along the right edge of the map, the my region banner above the tab bar and the tabs at the bottom.

ElementWhat it does
STRAŻNIK and six indicatorsThe indicators are sources: NEPTUN, UA alerts, ADS-B, RSS, RCB/RSO, PAŻP. Green — the source responds; red — it does not. The RCB/RSO indicator shows the Regional Warning System that carries official RCB alerts; it is green only when RSO has responded in the last few minutes. Tapping the indicators opens the source descriptions; tapping the name shows a short description of the app. A green indicator means a working source, not the absence of a threat.
Sliders iconLegend of symbols, province colours and zones.
Cube icon2D / 3D view. In 3D a province's height grows with its points — also below the threshold.
Aircraft iconForeign aircraft over the eastern flank (chapter 8).
Bell iconNotifications: in the app — turn on or mute; on the website — browser notifications (chapter 10).
Gear iconSettings: Alerts, My places, Sound, App.
my regionFrames the map on your first saved place.
zonesTurns the PAŻP zone layer on and off. A dimmed tile means the layer is off.
whole PLShows Poland together with Ukraine.
Banner above the tabsYour region, its level and points, e.g. “Lublin — below threshold 1.0 pts”. Tapping it opens the province card.
sources ⓘCredits for data and map.
Tabs Map Signals History MoreMap returns to the main view; Signals opens the panel; History scrolls through 12 hours; More — “About and scoring” and “User guide”. There is no link to support the author on iPhone — App Store rules do not allow it in the app.

At start a bar “UNOFFICIAL additional source…” appears at the bottom. You can close it with the cross — it comes back during an alert. Close panels and windows with the cross, the Map tab or a tap beside them. iPhone has no back button — go back with the cross or the Map tab.

Data sources window: each indicator is one source, with NEPTUN and Ukrainian alerts described and their status, map licences at the bottom; the window is closed with the cross at the top
Tapping the indicators: description and status of each source.

4. The map, objects and aircraft

Drag the map with a finger, zoom with two fingers and tap objects. A province's colour shows its points from the last 60 minutes:

ColourMeaning
navy0–1.9 pts — calm (below threshold)
yellowfrom 2 pts — elevated attention
redfrom 4 pts and a confirmation — high priority (chapter 11)
dimmed, olivecolour from neighbouring provinces only; the card has a dashed border and says “raised by neighbours · no alert here”. Such a colour sends no notification.

NEPTUN objects over Ukraine have distinct shapes — the legend shows each one:

ObjectSymbol
Drone / UAVyellow silhouette with straight wings and a notched tail; a red nose and a red arrowhead ahead of it show the direction of flight
Shahed droneorange delta wing
FPV dronefour rotors; local, no points
Reconnaissance dronewhite-grey silhouette with long wings
Cruise missilered body with wings
Ballistic missileslim pink tip
KAB guided bombyellow bomb silhouette
MiG-31K (carrier)purple aircraft
Unidentified objectgrey diamond with a question mark

Unknown heading: the icon is not rotated and has a dashed white ring and a question mark — it does not indicate a direction. Only objects that currently add points to a province get a pulsing red ring; the others stay still.

A pink-highlighted Ukrainian oblast with a dashed outline has an air-raid alert that currently adds points to a province. Nearer oblasts are clearer, distant ones barely visible. Tapping the oblast shows when the signal arrived and how many points it gives to which province.

The circle around an object shows where the object may be — not a blast radius. It combines the uncertainty of the report itself with the distance the object could have flown since the last report, so it grows until a new report arrives — for at most 15 minutes, after which it stops growing and the object card says so. The card splits the number into both parts. Missiles, glide bombs and ballistic objects keep a fixed area, because the source gives them no heading. The dashed line is the flight path — drawn only when the source gives positions suitable for tracking. In ⚙ → App → “Map: object tracks” you choose separately for drones and missiles and for aircraft: off, flown track or track and heading (a line covering 30 minutes of drone or missile flight, 15 minutes for aircraft, with dots every 5 minutes). The heading of drones and missiles is drawn only for a heading measured from the object's movement. An object with an approximate position (large uncertainty circle) has neither a track nor a heading — and most NEPTUN objects stay put between reports, so lines appear only for some of them. Blue aircraft and helicopters are military aviation with a public ADS-B transponder.

The time under an icon (for example “7 min”) is the age of the last report about that object. NEPTUN collects human reports, not radar returns: an object stays where it was until someone reports it again, and sometimes no further report arrives. The label appears after five minutes and the icon fades gradually — the paler it is, the older the information. After an hour the icon is clearly faded. Motionless icons therefore mean no new reports, not a frozen map. The object card shows a last report line, and past a quarter of an hour it adds that the object may have moved on since.

The legend opens from the first icon at the top and closes with the ✕ Close button in its header. Its six groups expand one at a time — you see every group name at once, so finding one symbol takes no scrolling.

Legend with a header and a ✕ Close button: the Objects group expanded with nine NEPTUN symbols and a note that in practice the source does not tell Shaheds and ordinary UAVs apart, below it the collapsed groups Markings around the icon, Aviation, Provinces, Alerts in neighbouring countries and PAŻP zones
Legend — the first icon at the top.

Object and aircraft cards

Tapping an object opens a mini card in the bottom-left corner and puts a white ring around the object on the map. The ⌃ arrow expands the card, ⌄ collapses it, ✕ closes it.

A drone or missile card shows the type, reported area, number of confirmations, confidence, the area where it may be, heading and distance from the Polish border. Time to arrival (ETA) appears only for positions suitable for such a calculation. When the source marks the position as a report area, the card says “approximate report area — no confirmed route or arrival time” and the distance is an estimate. Object illustrations are AI-generated references and must not be used to identify a model.

An aircraft or helicopter card shows the callsign, registration, country, model, role, altitude, speed and heading. The photo shows an example aircraft of that model — the author, source and licence are below it. 📍 follow track draws the flight trail. The signal row says where the position came from: ADS-B is reported by the aircraft itself, while MLAT is computed by ground receivers from signal time differences — outside their coverage, over Belarus for example, it can be tens of kilometres off, and the card says so. Altitude, speed and heading come from the aircraft in both cases. When a report would require an impossible jump — the aircraft could not cover that distance in that time — Strażnik does not move the icon: it stays at the last credible position, the leg is not added to the trail, and the card says so. The map does not show aircraft with the transponder switched off.

Mini UAV card in the bottom-left corner of the map; over Ukraine several objects sit inside dashed position-uncertainty circles, the selected drone in a white ring
Mini card and the selected object.
Expanded UAV card: AI reference illustration, area of Sarny in Rivne oblast, eleven confirmations, high confidence, “where it may be: ±13 km” split into 4 km report and 9 km flown since, heading 270°, 179.6 km from the Polish border, last report 3 minutes ago, heading towards Poland 16° off the direction to the border, and a note that the heading is presumed and the approximate report area note
Expanded drone card.
Expanded card of helicopter MAI333, H135M from Romania: example photo with author and licence, role light helicopter, altitude, speed, heading and the follow track button
Aircraft card with an example photo.

5. PAŻP zones on the map

The zones tile shows active airspace zones from the daily plan of the Polish Air Navigation Services Agency (PAŻP). A zone that has been standing for a long time, or was already active when watching started, has a quiet purple outline. A zone switched on recently, while Strażnik was watching, is yellow and has a 3D block.

Tapping a zone opens its description: the type and what it means, since when Strażnik has seen it, reserved until (the end of today's slot in the daily plan — a zone can be renewed) and the altitude band. The button with the province name leads to its card, because a province fully covered by a zone is hard to tap on the map.

Overlapping zones: a tap opens the smallest zone under your finger, and the others at that spot are listed as “Other zones at this spot” buttons.

The zone layer itself adds no points. Only a rare D, R, NPZ or ADHOC zone scores — the rules are in the zone scoring section.

Zone card EPTS551: temporary segregated area TSA, description, note that it was already active when watching started, reserved until 14/09 08:00, altitude band F225–F315, Province: Lublin button and a note on points
Zone card.
Map framed on Lublin province with the zone layer on: purple outlines over eastern Poland and the zones tile highlighted
The zone layer over eastern Poland.
Legend with the Objects group collapsed and the Provinces group expanded: colours from calm to high priority, the dimmed colour from neighbours and the pink Ukrainian oblast with an alert that adds points
Legend for provinces and zones.

6. The signals panel

The Signals tab opens the province cards. Your region comes first and is labelled “my region”. Each card shows the points, the level, an “adds up to” summary (e.g. “0.9 ALARM UA”) and the PAŻP zones over the province. Tapping a card expands its list of signals.

Each signal row shows the source, its contribution in points, the title (an article opens as a link), the signal's age and its weight. A signal keeps full weight for 30 minutes and then loses it until zero at 60 minutes — the “weight 64%” note means exactly that. A struck-through number is the nominal value that was not counted because the signal is fading or the source class has reached its cap. The numbers in the summary are rounded one by one, so their sum may differ from the score by 0.1.

A signal without points stays visible with an explanation:

  • Repeated official alert — an article restating a fresh Alert RCB.
  • Historical report / aftermath — an anniversary, a trial, rebuilding.
  • Cancelled by RCB and After RCB cancellation — an alert RCB cancelled, and articles about it.
  • The RCB alert has not been cancelled yet — an RCB alert stands until it is cancelled, and the cancellation can come hours later. Our own signals expire long before that and the map looks calm, so this entry says plainly that the alert is officially still in force. It disappears after twelve hours.
  • Report on an earlier event — the server read the article and it describes something more than an hour old.
  • Article could not be read — no points — the text could not be fetched; the link stays.

A NEIGHBOURS entry is points spilling over from a neighbouring province (chapter 11).

Signals panel: a header stating the thresholds once and a ✕ Close button, the Lublin card with the level above the point total and its breakdown into ALARM UA, plus a separate card for the quiet provinces
Province cards at a calm moment.

Further down the panel has two observation lists without points: Objects ≤ 250 km from the border (NEPTUN) and Military aviation (ADS-B) over eastern Poland. This is public transponder data, not tracking of hostile aircraft. It comes from free, open aggregators: the server queries adsb.lol and falls back to opendata.adsb.fi; in emergency mode, when the phone scores on its own, airplanes.live is queried as well. The layer is informational and gives no points. Where available, the province card also offers 📷 Cameras in the region — road cameras, not a tool for detecting airborne objects. Since 1.7.88 this is a plain list with links: the preview is not shown here, because the worldcam.pl terms do not allow it. Tapping a tile opens the camera at the source.

Lower part of the panel: the Military aviation ADS-B list with a C-27J Spartan and an A400M Atlas and a note that this is public transponder data
Military aviation over eastern Poland.
Test full alert screen HIGH PRIORITY for Lublin province with the current signals: air-raid alerts in the Rivne, Ternopil, Zhytomyr and Vinnytsia oblasts with their weights
Full alert test with the region's current signals.

7. 12-hour history

The History tab turns on ⏱ HISTORY VIEW. The slider track is coloured by the level at each moment, so you can see at a glance when something happened. Drag the handle: the map, colours, objects and aircraft show the chosen moment, and the label gives the time and the number of minutes back. Below the slider are the highest-scoring province at that moment, the number of objects and aircraft in the snapshot, and a “N signals in the window” link that opens the panel for that moment.

Below the slider is a row of buttons: −12 h (start), alert back (start of the previous alert), −10 and −1 minutes, ▶ play and pause, +1 and +10 minutes, alert forward (next alert) and end (latest snapshot). Holding ±1 and ±10 keeps scrolling. ×1 in the header switches playback speed to ×2 and ×4.

In history mode the panel is headed HISTORY VIEW, and signal times count from the chosen moment (“36 min earlier”). SWITCH TO LIVE in the bar header, or the Map tab restores the current view.

History is downloaded to the device once and scrolling runs locally, without a server request for every finger movement. Snapshots are usually taken every minute — this replays stored samples, not a continuous recording.

History mode at 04:47: Lublin province red with 4.4 pts and Subcarpathian yellow in 3D, coloured slider, Back to live view button and a 22 signals in the window link
The morning of 13 September 2026: Lublin province red after an Alert RCB.
Panel in history mode: HISTORY VIEW 04:47 header, Lublin card 4.4 pts HIGH PRIORITY with an RCB contribution and an air-raid alert in the Lviv oblast
Point breakdown at the chosen moment.

8. Foreign aircraft over the eastern flank

The aircraft icon at the top opens a list of military aircraft with Russian or Belarusian registration visible in public ADS-B/MLAT data over the eastern flank. The panel has two parts: currently in range and a log — entered / disappeared from range covering the last 12 hours, including time when the app was closed.

In history mode the panel follows the chosen moment. A dimmed aircraft on the map is its last recorded position from at most 2.5 minutes earlier. “Disappeared” means the signal was lost in the data, not a landing or a shoot-down. These observations add no points, and an empty list does not mean empty skies — many aircraft fly with the transponder off.

Foreign aircraft over the eastern flank window: description, LIVE label, Currently in range and Log sections, with no aircraft at the moment
Foreign aircraft — none in range here.

9. Alerts and notifications

LevelWhat happens on iPhone
below 2 ptsShown on the map and in the panel, no notification.
yellow, from 2 pts — ELEVATED ATTENTIONAn ordinary notification with a short attention tone. It respects the silenced ringer and Focus modes.
red, from 4 pts and with a confirmation — HIGH PRIORITYA notification marked “Urgent” (Time Sensitive): it appears on the lock screen and plays the siren once, with vibration. It breaks through a Focus mode if you allow it (box below). It does not take over the full screen and does not loop the siren — iOS does not allow ordinary apps to do that. Tapping the notification opens Strażnik on the alert screen.

How iPhone differs from Android

  • No full screen. On Android a red alert wakes the screen and covers the lock screen. On iPhone it is a prominent notification on the lock screen.
  • The siren plays once. On Android it loops until you confirm. On iPhone it plays once with the notification. It loops only while the app is open on screen; silence it then with CONFIRM — silence the siren.
  • Silenced ringer = silence. When the switch on the side of the phone (or the Action button) is set to silent, the alert is silent — you get the banner and the vibration (unless Settings → Sounds & Haptics → Haptics is set to “Don’t Play in Silent Mode”). Only so-called Critical Alerts can break through silent mode, and Apple grants them separately. We have applied to Apple; until they decide, keep the ringer on if you want to hear the siren.
  • No alert-volume slider. The siren plays at the iPhone's ringer and alerts volume, and the app cannot raise it (on Android we raise the alarm volume ourselves). With the ringer turned down, the siren is quiet. Set the slider in Settings → Sounds & Haptics → “Ringtone and Alerts” and turn off “Change with Buttons” there — then the side buttons change only media volume, not the ringer by accident. Only Critical Alerts, which we have applied for, get their own volume independent of the slider.
  • Focus and Sleep. iOS needs a separate permission for “Time Sensitive Notifications” — for the app and for each Focus mode. Without it the alert waits until you unlock the phone.
Alert screen in the open app on iPhone (Polish interface): HIGH PRIORITY, Lublin province, list of NEPTUN signals, what to do and the CONFIRM — silence the siren button
The alert screen while the app is open (Polish interface).
Check your iPhone. These five things decide whether you hear a red alert at night:
  1. Ringer on and loud — the side switch is not on silent and the “Ringtone and Alerts” slider (Settings → Sounds & Haptics) is high; the siren plays at that volume. If you sometimes silence the phone, set Settings → Sounds & Haptics → Haptics → “Always Play” (or “Play in Silent Mode”) — then a silenced iPhone at least vibrates.
  2. Notifications allowed: Settings → Notifications → Strażnik → “Allow Notifications”.
  3. “Time Sensitive Notifications” on — in the same place.
  4. Strażnik allowed in Sleep: Settings → Focus → Sleep → Apps → add Strażnik. If you use other Focus modes (e.g. Work), allow it there too.
  5. Wearing an Apple Watch? Check Settings → Notifications → Strażnik → Forwarding. When the watch is on your wrist and unlocked while the iPhone is locked, the alert goes to the watch and the phone stays silent — that is how iOS works and no app can override it. Either turn forwarding off here (the alert then always sounds on the phone), or leave it on and make sure the watch itself is not silenced and its haptics are prominent (Watch → Sounds & Haptics).
Check again after an iOS update.

Where to shelter — GROTA

After you tap ACKNOWLEDGE — silence the siren the alert screen shows three buttons: Where to shelter, Watch the map and I am safe. Strażnik never switches the screen on its own — you choose. Where to shelter opens the GROTA module straight on its NOW tab: the nearest shelter places from the public register of Poland’s State Fire Service, with the distance and a route. Outside an alert you reach it from More → Shelter — nearest.

The first time, the iPhone asks for location access — choose “While Using the App”. GROTA works without it too: you point out the place yourself (a saved place, an address or a point on the map). The register and the nearest-place search work offline; a road route needs the network or a package downloaded earlier in the Przygotuj (prepare) tab. GROTA speaks English, Ukrainian and Polish — pick the language in its Zasady (rules) tab.

📘 The full GROTA guide → Every feature with screenshots; also in Ukrainian and Polish. Its screenshots come from Android — on an iPhone the screens look the same; only the location prompt and the system back button differ.

When the phone sounds and when it does not

Sound tests

⚙ → Sound has ▶ Test: attention, ▶ Test: siren and ▶ Test: full alert — they play in the app window. Below are ▶ Test: native red (in 5 s) and ▶ Test: native yellow (in 5 s): after 5 seconds a real iPhone notification arrives with the siren or the attention tone. Lock the screen in the meantime to see how the alert looks on the lock screen — and whether you hear it with your ringer and Focus settings. If notifications are blocked, the app tells you at once. No test checks the notification path from the server.

How it works technically: the server sends a notification through Firebase and Apple's push service (APNs) for every watched province — also with the app closed and the screen locked. Strażnik does not run in the background on iPhone and does not poll sources itself; everything that arrives with the app closed is a server notification. Fallback mode: when the server does not respond, the open app starts its built-in engine and polls the sources itself, checking every minute for the server to return. Fallback mode works only with the app open — with the app closed and no server, no alert arrives.

10. The website and browser notifications

The same map runs at straznik.eu. At the top there are also app download buttons (for Android and iOS), User guide and Buy a coffee. The browser tab shows the Strażnik icon.

Browser notifications: first save a province in ⚙ → My places, then tap the bell and allow notifications. They arrive also with the tab closed — one per alert, without a continuous siren. The continuous siren with vibration plays only in an open tab at the red level. On iPhone the site's notifications work only after adding it to the Home Screen (Safari → Share → “Add to Home Screen”) — it is simpler to install the App Store app, which also gives the “Urgent” notification with the siren.

Turning them off: tap the bell (or ⚙ → Alerts) and choose 🔕 Turn off notifications in this browser. Strażnik then removes the subscription on the server and in the browser. The browser permission itself is removed in the browser settings — the message gives the path for your browser, for example:

In any browser: open its Settings, type “site settings” (or “site”) in the search field → Permissions → find straznik.eu → Notifications → Block.

Chrome on Android: ⋮ → Settings → Site settings → Notifications → straznik.eu → Block.

11. Where the points come from

Points count over a 60-minute window. For the first 30 minutes a signal keeps full weight, then loses it linearly to zero. Every source class has a cap, so many articles or oblast alerts about the same thing do not add up without limit. A repeated observation of the same NEPTUN object is not counted as a new object.

SourceWhat is taken into accountPoints / cap
NEPTUN — objectsType, number of objects, distance from the border, heading, confidence, number of confirmations, observation state and position quality. Report area ×0.6, recognised locality centre ×0.5.up to 8 in total
RCB / RSOAn Alert RCB about an airborne threat published in RSO. It counts for 60 minutes from detection, regardless of the entry's validity date. A cancellation in RSO zeroes the alert at once. Since 17.09.2026 RCB sends three kinds of message and they weigh accordingly: “the situation is being monitored” 1.5; “a massive attack is under way… react to alarm signals” 3; “threat of an air attack, find a safe place” 4.5. A later alert does not add to the earlier one: the current one counts, and the surplus of a stronger one fades within 10 minutes. Since 24.09.2026 the text of the day's message on gov.pl/rcb is read as well: RSO sometimes carries only part of the alert's recipients (podkarpackie was lost on 17.09 and 24.09), so the missing provinces are taken from that page — the same way when the app scores on its own, without the server.1.5 / 3 / 4.5, cap 4.5
Ukrainian oblast alertsAn air-raid alert in a western Ukrainian oblast; the weight falls with distance (table below). Full weight for the first 30 minutes of the alert, then half while it lasts; the end of the alert zeroes the points at once.up to 1, cap 1
Media (RSS)Airborne object plus event: 0.5 pt; an unambiguous operational report (sirens, alert, scrambled aircraft, interception): 1 pt. The server reads the whole article: a report on an earlier event or an unreadable article scores 0. Exercises, anniversaries, court cases and restated RCB alerts also score 0.0 / 0.5 / 1, cap 1
ADS-BAt least 3 military aircraft and more than twice the usual traffic at that time of day (7-day baseline). Since 13 Sep 2026 informational only: over 41 days of data, increased traffic was routine flights.0
PAŻP zonesOnly rare D, R, NPZ, ADHOC zones from the ground up over the east or the north (below).0.5 (north 1), cap 1
Baltic mediaAn airborne incident (airspace violation, shoot-down) in Lithuania, Latvia or Estonia: 1 pt. An announced air-raid alert for the public there is a trace in the panel: Lithuania 0.3, Latvia 0.18, Estonia 0.12. Feeds: LRT and 15min, LSM, ERR. A cancellation clears the contribution. Feed status and the last alert are in the Sources window (tap the indicators).alert 0.12–0.3; incident 1
Neighbouring airspaceAirspace closures in Lithuania, Estonia and northern Romania.0.3, cap 0.6
Other neighbours (observation)An airspace event in Moldova, Romania, Slovakia, Czechia, Sweden or Hungary. The country lights up on the map and the entry appears in the panel — but it adds no points at all and raises nothing by itself. Why, below.0

Six new neighbours — watched only, for now

Since 3 October 2026 Strażnik also reads the media in Moldova, Romania, Slovakia, Czechia, Sweden and Hungary — two feeds per country. An airspace event in any of them highlights that country on the map; tapping it opens a card with the report and a link to the source.

These six countries add no points. None. They cannot raise the level, they will not trigger a notification and they will not change the colour of your province. The reason is simple: Czech and Slovak newsrooms write about other countries’ airspace more often than their own, so the filter is being checked for a few weeks first — to make sure it does not take an event in Denmark, or over Poland, for an event of theirs. Once that holds, the weights go on, and the changelog will say so. Lithuania, Latvia and Estonia are unchanged and score as before.

The status of these feeds is in the Sources window (tap the indicators at the top) under a separate entry, “Other neighbours — observation”. Sweden, which was missing before, has been added to the map along the way.

Ukrainian oblast alerts — weight by distance

The weight falls smoothly: at the border 1; 50 km 0.7; 100 km 0.5; 150 km 0.3; 220 km 0.15; 320 km 0.08. An oblast counts for both provinces, each by its own distance. Time counts from the real start of the alert: full weight for 30 minutes, then half while it lasts. When the oblast has been off the alert list for 3 minutes, the alert has ended — the points and the highlight disappear at once, and the panel shows the end time:

OblastLublin: kmweightSubcarpathian: kmweight
Lviv01.0001.00
Volyn01.00550.68
Zakarpattia1350.3601.00
Ivano-Frankivsk1000.50500.70
Rivne700.621100.46
Ternopil1000.501150.44
Khmelnytskyi1600.281900.21
Chernivtsi2250.151800.24
Zhytomyr2200.152650.12
Vinnytsia2800.113050.09

Even alerts in all oblasts at once give at most 1 point — oblast alerts are one piece of information, not several independent confirmations.

Media: reading the whole article

A headline can mislead: an article published at 9:46 with a headline about sirens may describe the night. So the server fetches the article text and looks for the time of the event — an hour (“before 4 a.m.”, “at 4.19”), words such as “overnight”, “before dawn”, “yesterday” or another weekday. If the event was more than an hour before publication, the article is shown as a report on an earlier event and scores 0. Google News links lead to Google's consent page, which the server does not accept — instead it looks for the same article in the publisher's own RSS feed. If the text cannot be read, the article scores 0 and stays in the panel with its link.

After an RCB alert is cancelled in a province, articles reporting the sirens or the alert score 0 for 4 hours, unless RCB issues a new alert. Summary headlines such as “A restless morning…” count for 0.5 points at most.

NEPTUN objects and distance

Type weights: ballistic 3.0; MiG-31K 2.6; cruise 2.4; KAB 1.8; Shahed 1.4; drone 1.1; reconnaissance 0.15; FPV 0. The weight is multiplied by, among other things, the square root of the number of objects and factors for data quality and heading. Distance from the border works smoothly: 0 km ×1.7; 15 ×1.6; 45 ×1.3; 80 ×1.0; 110 ×0.7; 150 ×0.4; 200 ×0.25; 250 ×0.1; beyond that 0. With an unknown heading only close objects score, at reduced weight. A missile or MiG-31K within 60 km of the border with at least two confirmations gives at least 2 points.

Time to arrival

The object card estimates the time to the Polish border and to the border of the chosen province, not to an address. It uses the speed given by the source or a typical speed for the object class and subtracts 2.5 minutes for data delay. ETA is not shown for approximate positions. With a known heading, at least two confirmations and medium or high confidence, an ETA of ≤ 10 min raises the object's contribution to 2 points, and ≤ 5 min to 4 points.

Time to arrival assumes the object keeps flying on the same heading. It does not account for interception or a change of course. Do not treat it as a countdown to reach shelter.

When red is raised

4 points alone are not enough. Since 23 September 2026 red also needs a confirmation — one of two:

The time is computed from the speed typical for the object class, so the threshold converts itself: a propeller drone about 45 km, a jet drone about 110 km, a cruise missile about 200 km. Reconnaissance drones are not a confirmation — they do not strike.

Without a confirmation the province stays yellow even at 5 points, and Strażnik says so on the card: “no confirming object — stays yellow”. Why: until 23 September an RCB alert about a monitored situation, together with Ukrainian oblast alarms and media reports, could turn a province red although nothing on the map was closer than 80 km. On the data since 1 September the new rule keeps red in two cases out of eight — those where an object was 15 minutes from the border.

A wave of objects

Three different objects heading towards Poland within 15 minutes and closer than 150 km add 0.5 pt together. Several objects at once mean more than each on its own, and repeated reports about the same object do not make a wave. Since 1 September a wave occurred four times, every time during a real event.

Spillover to neighbouring provinces

A province with at least 2 points from signals other than a regional Alert RCB passes 40% to its neighbours, 16% to the next ring, and so on. An official RCB alert is not passed on — its area was set by the issuer. The same event does not come back through spillover: an article or an oblast alert assigned to two neighbouring provinces counts fully in each, but is not added a second time as spillover. Spillover is regional context, not a forecast of an object's route; colour from neighbours alone is dimmed and does not ring.

Which PAŻP zones score

PAŻP publishes dozens of zones every day: military training, parachute jumps, gliders, commercial drones. If every one scored, the map would be yellow every day. So:

Zone typeMeaningScores?
D — danger areafiring, exercisesyes, under the three conditions below
R — restricted areaentry only with permissionyes, under the same conditions
NPZ — no-fly zoneclosed areayes, under the same conditions
ADHOCcreated on the same dayyes, under the same conditions
TSA / TRAexercises planned in advance, almost dailyno — map only
ATZordinary aerodrome trafficno — not shown
notes PJE, GLD, CLN, BSP, UAVparachutes, gliders, civilian dronesno — filtered out

A D, R, NPZ or ADHOC zone scores only when it meets all three conditions: it reaches from the ground up, the same designator has not appeared in the last 7 days, and the zone lies over the eastern border or the north. The weight is low (0.5 points) because closing the sky is a military decision, not an independent measurement of a threat — a zone never raises the level on its own.

In the north a zone weighs 1 point. NEPTUN watches Ukraine and gives nothing for Pomerania, West Pomerania, Warmia-Masuria and Kuyavia-Pomerania. What remains is zones, media (including a wave of reports about fighters scrambled over the Baltic), RCB and airspace closures by Baltic neighbours. The safety rule does not change: zone 1 pt + a media report 1 pt = yellow threshold; since 15.09.2026 a Baltic incident from the media weighs only 0.5 pt and only a fresh report (up to 30 minutes) about something happening now counts, so zone + Baltic is 1.5 pts; a zone alone is still silence.

12. Limitations and troubleshooting

13. Your own server — optional

An empty ⚙ → App → Advanced: shared backend field means the default Strażnik server. Enter your own address only if you run a compatible backend and its notifications yourself. HTTPS with a system-trusted certificate is required. How to run the backend is described in the README. Running your own backend for other people requires a licence from the author.

14. Privacy and sources

The full privacy policy — what stays on your device, what the server sees and which third parties are involved in delivering the data.

No account, no ads, no analytics. My places, their names and one-off location points are stored only on the device. The server and the notification provider receive the names of watched provinces and the device subscription identifier — never an exact location. The exception is a route in GROTA: the position and the chosen point then go to the public FOSSGIS routing server, not to us (details).

The server and the providers of maps, notifications, photos and data receive ordinary network requests and may keep technical logs. When reading articles, the server fetches publishers' pages like an ordinary browser, without accepting cookie consent.