User guide · version 1.8.03

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. It runs on Android, on iPhone and in a web browser.

This guide describes only the current version, 1.8.03. Screenshots were taken on the morning of 15 October 2026 on a Pixel 7 emulator with Android 14, from a test build of release 1.7.95 (the same code as the release), using live data — so the numbers of objects and points are what they were that morning. The settings screenshots with the Map section were taken on 17 October 2026 on a 1.7.96 test build. The screenshots of the signals panel, object card, history and settings start were taken on the afternoon of 18 October 2026 on a 1.7.97 test build (the same code as the release), using live data from that moment. The settings start screen with “‹ Menu” at the top was taken on the evening of 18 October 2026 on a 1.7.98 test build. The signals panel and the history panel were taken on the evening of 19 October 2026 on a 1.7.99 test build, with the server already scoring by the new rules, during a real drone attack. The alert screen was taken on the evening of 21 October 2026 on a 1.8.00 test build — it is a test (▶ Test: full alert) with the live signals of Lublin province at that moment. The screenshots of the card of a drone reported only with a target were taken on the evening of 28 October 2026 on a 1.8.03 test build, using live data. What changed from release to release is in the changelog. Tap a screenshot to open it full size.

Using an iPhone? Alerts, permissions and updates work differently there — read the iPhone guide.

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

Strażnik 1.7.95 start screen in English: map of Poland and Ukraine, six green source indicators, a counter of 20 drones and 2 missiles in the top-right corner, objects over Ukraine, the (i) sign in the top-left corner of the map, the my region, zones and whole PL tiles, the Lublin below threshold 1.0 pts banner, the warning bar and the floating bottom bar Map, Signals, GROTA, History, Menu

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. iPhone: get Strażnik from the App Store and read the iPhone guide — the steps below are for Android only.
  2. Android — the easy way: install Strażnik from Google Play (Poland and the rest of Europe). Updates then come through the store, and you can skip the next steps of this list — only the last one remains.
  3. Without Google Play: download the latest Straznik.apk to your Android phone.
  4. Open the file from Downloads. If Android asks, allow the browser or file manager to install apps from this source.
  5. Confirm the installation and open Strażnik. Let the system scan the file — do not turn off Play Protect.
  6. Allow notifications and save your province in Menu → Settings → My places.

The “Install unknown apps” permission — and how to revoke it

Already have Strażnik from the APK file? You can install the Google Play version over it — both are signed with the same key, so your settings and My places stay.

When you install from the APK file, Android installs it only after the app that opens the file — usually Chrome — is granted Install unknown apps. The browser interrupts the installation and sends you to the Allow from this source switch. This is a normal step, not an error.

The permission applies only to that one app, but it stays on until you turn it off. It is worth revoking after installation:

  1. Settings → Apps → Special app access → Install unknown apps.
  2. Pick the app you opened the file with (usually Chrome, marked “Allowed”).
  3. Turn Allow from this source off.

Faster: search unknown in Settings. The wording varies slightly between Android versions and manufacturers, but the path is the same. Strażnik works normally with the permission revoked; the next update will ask for it again.

If the GitHub app intercepts the link and the download stalls, open the link in your browser. There is also a copy of the APK in the repository.

Updating from inside the app

The store updates the Google Play version — it has no update button. The following applies to the APK version.

Strażnik checks for a new release at every launch and whenever it returns to the foreground (at most every 30 minutes). The update window shows the version number and the list of changes. Manually: Menu → Settings → Language, text and version → ⬆ Check for updates.

For an ordinary update you can choose Later. When you install, the app downloads the file, verifies its SHA-256 checksum and hands it to Android for confirmation. Install the new release over the old one — settings and My places are kept.

Which version do you have? Menu → Settings → Language, text and version section → “Installed version”. The latest release is 1.8.03. At the bottom of the tab are links to this guide, the changelog and supporting the author.
Settings, Language, text and version section: interface language English, text size Normal, Larger, Largest, installed version 1.7.95 and the Check for updates button
Menu → Settings → Language, text and version: language, text size, version and updates.

2. First steps: My places, notifications, language

My places

Menu → Settings → 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 window: place Dom, scope Province, province Lublin, Watch alerts for this province ticked, an explanation, and the Delete place, Cancel changes and Save on device buttons
Place “Dom” in Lublin province with alerts watched.
Settings start screen opened from the Menu: readiness card 5 of 5 All set with Province for alerts, Alerts on for this phone, Notification permission, Full-screen alert and Battery does not put Strażnik to sleep, below it five rows with their current values: Alerts and permissions on, My places 1 of 8, Sound and quiet hours siren, Map flown track, Language, text and version English, and a ‹ Menu button at the top, next to Close
Settings start: “‹ Menu” at the top, the alert readiness card and five sections with their current values.
Settings, Alerts and permissions section: collapsed How it works, subscription status, the Alerts on this phone switch, rows Notification settings, Check full-screen alert permission, Turn off battery saving, Alert despite Do Not Disturb, and collapsed Permissions and alert behaviour in detail
Alerts and permissions: notification status and shortcuts to Android settings. The “Alert despite Do Not Disturb” row appears only when that permission is not granted.
Settings, My places section: 1 of 8 places, watched province Lublin and the Open My places button
My places: summary and the way into editing.
Settings, Sound and quiet hours section, upper part: collapsed What plays when, buttons Test: attention, Test: siren, Test: full alert, Feel: yellow (U) and Feel: red (A) with an explanation, attention sound volume Normal, Quieter, No sound, alert volume 14 percent, the full-volume switch and the Red alert choice
Sound and quiet hours: tests, vibrations to feel, yellow volume and the red mode.
The same section further down: Red alert Siren, Vibration only, Regular notification, the Quiet hours switch off with From 22:00 to 07:00, the Red during quiet hours choice Vibration only or Unchanged, an explanation, Android sound settings and the native tests in 5 seconds
Quiet hours (Android): the time and how red behaves at night.
Settings, Map section: Object tracks — Drones and missiles (NEPTUN) Flown track, Aircraft and helicopters (ADS-B) Off (followed aircraft only), the collapsed How to read the direction, and Uncertainty circles (NEPTUN) Selected and near the border with a description
Map: object tracks and uncertainty circles.

Android permissions

The Alerts and permissions section shows whether notifications are ready and for which region. 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 and permission reminders. The status above the switch shows how many provinces the phone is subscribed to (confirmed by Firebase). Android permissions stay as they are — the app cannot change them. The permission warning on the map can also be closed with its cross. The buttons lead straight to system settings: Notification settings, Check full-screen alert permission and Disable battery optimisation. Android 14 and later may revoke the full-screen permission after an update — check it yourself. A fourth button, Alert despite Do Not Disturb, appears only while that permission has not been granted; it is optional and described below, with Do Not Disturb.

Polski / English

Menu → Settings → Language, text and version → Interface language. After choosing, tap Change language and restart — the app restarts in the new language. Until you choose one, the app follows the phone language: Polish and Ukrainian as they are, any other language — English (the website defaults to Polish). The English version covers the interface, object descriptions and map labels; quoted messages and article titles stay in the original language.

Text size

Menu → Settings → Language, text and version → 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 five areas: the bar at the top with the source indicators and the counter, the (i) sign in the top-left corner of the map, the tiles along the right edge of the map, the my region banner and the floating bottom bar.

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 opens “About”. A green indicator means a working source, not the absence of a threat.
Drone and missile counterHow many drones (including Shaheds and reconnaissance drones) and how many missiles (cruise, ballistic and KAB glide bombs) are on the map right now — exactly as many as there are icons. FPV, MiG-31K and unidentified objects are not counted; zero is dimmed. The number can suddenly drop by half: the source removes objects in whole batches a few minutes after their last confirmation, so a drop does not have to mean the attack is over. Tapping it opens an explanation. The counter is not a warning for a province — points and notifications are. In History it shows the moment chosen with the slider.
(i) sign on the mapThe Map sources box: where the objects come from (NEPTUN, ADS-B) and the base map (OpenFreeMap © OpenMapTiles © OpenStreetMap). At start it opens by itself and folds away after a few seconds or when you touch the map.
my regionFrames the map on the 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 bottom barYour region, its level and points, e.g. “Lubelskie — below threshold 1.1 pts”. Tapping it opens the province card.
Bottom bar: Map Signals GROTA History MenuMap returns to the main view; Signals opens the panel; GROTA — nearest places of shelter (app only, chapter 9); History scrolls through 12 hours; Menu opens the list below.
MenuSettings (Alerts and permissions, My places, Sound and quiet hours, Map, Language, text and version), Notifications (in the app — turning them on or muting them; on the website — browser notifications, chapter 10), Legend of symbols and colours, 3D view (the height of a province block grows with its points — also below the threshold), Foreign aircraft (RU/BY) (chapter 8), About and scoring, User guide and Support the author (the last one is not in the Google Play version).

Settings open with a readiness card — whether an alert will reach you and what is still missing — with the five sections below it. Most changes are saved immediately, without “Save” and “Cancel” buttons; only the language and the address of your own server need a restart, with a button in their section, and the My places editor has its own Save on device button. Every window opened from the Menu — Settings, About, Foreign aircraft, Legend — has a ‹ Menu button at the top, next to “Close”, that takes you back to the Menu; the system “back” does the same on the Settings start screen. Settings sections and the My places window have ‹ Settings at the top. With large text the button sits just below “Close”.

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. When you open the Signals panel or the history, the map moves up over the uncovered part of the screen so objects do not hide under the panel, and goes back when you close it.

Data sources window: each indicator is one source, descriptions of NEPTUN, UA alerts and ADS-B with the status working; the window closes with the Close button
Tapping the indicators: description and status of each source.
Drones and missiles on the map window, data from 06:16: 19 drones — Shahed and other attack drones plus reconnaissance drones — and 2 missiles and KAB bombs, the Why does the number jump? paragraph, what is not counted, a note that this is not a warning for your province, and the Show signals button
Tapping the counter: what is counted and why the number jumps.
Map sources box next to the (i) sign: data NEPTUN — OSINT aggregator, not radar, aircraft ADS-B (adsb.lol, adsb.fi), map OpenFreeMap © OpenMapTiles, data © OpenStreetMap
The (i) sign: map sources.
Menu sheet: Settings, Notifications, under the Map heading — Legend, 3D view with a switch, Foreign aircraft (RU/BY), under the Information heading — About and scoring, User guide and Support the author
The Menu tab.
About window at first start: Strażnik heading, unofficial air threat map for Poland, a short description, a warning card that this is not an official warning system, collapsed chapters How it works, How NEPTUN object points are calculated, Estimated arrival time, Levels, and the I understand — continue and Buy the author a coffee buttons
Welcome: short first, chapters to expand.

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. A drone reported only with a target (“flying towards: …”) looks the same: since 1.8.03 its icon is not rotated, because the angle given by NEPTUN does not come from the report. Only objects that currently add points to a province get a pulsing red ring; the others stay still.

Uncertain position: a drone whose position comes from a “heading towards …” report or a town centre, rather than a fix, keeps the colour of its type but has a dimmed fill and a dashed outline. Such objects weigh 60% of a confirmed one in the points (a town centre 50%). On 19 October around Lviv, 11 of 16 tracks were such reports — several icons next to each other are often one object described by several channels.

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. By default only the tapped object and objects with a confirmed position within 50 km of the Polish border have a circle — there it tells whether the object may already be over Poland; further away and for uncertain positions the circles merged into one blot. In Menu → Settings → Map → “Uncertainty circles” you can choose Selected and near the border, All or Off; every object’s radius is also on its card. Tapping an object makes its circle clear and thicker while the circles of other objects fade — with several drones side by side you can see which circle belongs to which. 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 Menu → Settings → 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. An object whose position the source derived from its target and heading, rather than observed, gets a circle of at least 40 km, and the card says it may be anywhere along the route. The circle grows the same way in the history view — from the age of the report at the chosen moment.

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, Objects section expanded: Drone / UAV, Shahed drone, FPV drone, Reconnaissance drone, Cruise missile, Ballistic missile, KAB guided bomb, MiG-31K carrier, Unidentified object, and a note on telling Shaheds apart
Legend: object symbols.

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 button (Expand card) enlarges it to most of the screen and collapses it again; the cross 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. When the report gives only a target (“flying towards: …”), the card shows a “nominal position” badge and one block: What was reported, Position (the icon sits at a nominal point in front of the target), Heading (unknown — the angle comes from NEPTUN, not from the report), Poland (whether the object counts towards the score) and Arrival time (not estimated). A heading towards Poland that misses the nearest part of the border by more than 50° is described as “towards a farther part of the border”. Object illustrations are AI-generated references and must not be used to identify a model.

Below the name the card shows a “confirmed position” badge (a fix from the source) or “uncertain position”, and a drone reported only with a target — “nominal position”. At the bottom, “Points now” shows how many points the object is adding to each province right now. When it adds nothing to a province, the card says why: the NEPTUN limit there (8 points) is already full, or the same point is already counted from another report. In the history view these are the points from the selected moment.

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.

History view, 19 October, 21:39: a selected UAV with a confirmed position near Zhovkva, 36 km from the border, in a white ring with its uncertainty circle; around it drones with an uncertain position — dimmed icons with a dashed outline and a question mark, without circles; mini card in the bottom-left corner
A confirmed position with its circle, uncertain reports dimmed.
Expanded card of a drone reported only with a target, evening of 28 October 2026: Drone / UAV, flying towards: Barvinkove, Kharkiv oblast, nominal position badge, distance from the border about 960 km (area estimate), block What was reported, Position: uncertain, Heading: unknown (the 260° angle comes from NEPTUN), Poland: too far for such a report alone to count towards an alert, Arrival time: not estimated
Card of a drone reported “heading to…”: what was reported and what is not known.
Aircraft card RCH439: photo of an example Boeing C-17 Globemaster III with author and licence, United States, strategic transport, altitude 33000 ft, speed 906 km/h, heading 143°, signal ADS-B and the follow track button
Aircraft card: example photo of the model and telemetry.

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.

Card of zone EPTR415, temporary reserved area TRA: a block of airspace reserved temporarily, switched on 25 minutes ago, reserved until 15/10 22:00, altitude band ground to A020, province Warmian-Masurian, PAŻP note SUP161/26 and an explanation that this is information, not an alert
PAŻP zone card.
Map with the PAŻP zone layer: zone outlines over eastern Poland, the my region, zones and whole PL tiles
PAŻP zones on the map.
Legend, Provinces section expanded: 0–1.9 pts calm, from 2 pts elevated attention, from 4 pts with confirmation high priority, dimmed colour from neighbours only, Ukrainian oblast with an air-raid alert, and a note on the 3D block height
Legend: province colours.

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, and tapping again collapses it — the same in history mode.

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 that only talks about an RCB alert (names RCB, “alert for…”, quotes the alert) when an RCB or RSO alert for any province arrived up to 4 hours earlier. An article with information beyond the alert keeps its points: a drone over Poland, an airspace violation, an explosion, debris, sirens, a search. An article about the end of the threat (“no threat”) also scores nothing (since 1.7.99).
  • 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 when the alert is cancelled, when its RSO entry expires (RCB often ends an alert this way, without a separate cancellation) or after twelve hours. When the alert expires at the end of its validity without a cancellation, for one hour it is replaced by “The RCB alert issued at 09:30 expired at 10:59 (not cancelled)” — so it does not vanish without a word.
  • 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).

Live signals panel during the drone attack of 19.10.2026: the Lublin — my region card at HIGH PRIORITY 4.6 pts, adding up to 3.7 NEPTUN and 1.0 ALARM UA, the Subcarpathian card at ELEVATED ATTENTION 2.6 pts from 1.7 NEPTUN and 1.0 ALARM UA, Podlaskie 0.7 pts below — no points passed on from neighbours
Panel: province cards with the breakdown of points.

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 the free, open aggregator adsb.lol (ODbL licence): the server queries it, and in emergency mode, when the phone scores on its own, the phone does. When adsb.lol does not respond, the layer stays empty. 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.

Panel, Military aviation ADS-B over eastern Poland: BLACK79 UH-60 Black Hawk, 40MNE LJ45, RCH439 C-17 Globemaster III and ROF1104 AN30 with altitude, speed and heading
Panel: military aviation from ADS-B.
Test full alert screen from 21 October 2026: HIGH PRIORITY, province Lublin, 3.4 pts in a 60 min window, the ACKNOWLEDGE — silence alert button right below the score, the What to do box: go to a place of shelter or a room without windows and follow RCB messages, three reasons — a NEPTUN drone heading towards the Polish border at 54.7 km, an RCB (RSO) alert quoted in Polish about a Russian air attack on Ukraine, and an air-raid alert in Volyn oblast — then The full list of signals is in the panel and the note that this is an unofficial signal
Full alert test (▶ Test: full alert): the button at the top, at most 3 reasons.
The same test alert screen after acknowledging: in place of the button, three buttons Where to shelter, Watch the map and I'm in a safe place, with What to do and the reasons below
After acknowledging: the choice is yours.

7. 12-hour history

The History tab opens the 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 drones, missiles and aircraft in the snapshot, and a “N signals in the window” link that opens the panel for that moment.

The 12-hour chart (from 1.7.95) sits above the slider on the same time axis: the number of drones as a 30-minute average over the raw bars, and missiles and KAB bombs as red dots at the bottom. By default it is collapsed to a single row with the maximum — tap it to expand; the app remembers your choice. Next to the slider mark you see the average for that moment, and tapping the chart moves the slider there. The chart counts the same as the counter in the top bar, so drops usually mean the source removed a batch of objects, not that the attack is over.

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. On a narrow screen or with large text the labels under the buttons are hidden and only the icons remain. ×1 in the header switches playback speed to ×2 and ×4.

Since 10 October 2026 the history view shows PAŻP zones as they were at that moment: every snapshot records which zones were in force, so you also see zones later lifted from the list and those opened during an incident — PAŻP replaces the whole set once a day at 6:00. Before that, zones were hidden in history, because the slider would have drawn today's zones over a situation from hours earlier. Moments from before this change have no record: zones are then hidden, the zones button disappears and the history panel says so explicitly.

In history mode the panel is headed HISTORY VIEW, and signal times count from the chosen moment (“36 min earlier”). LIVE in the bar header, the Map tab or the system back button 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 15:28 (now): the expanded Drones and missiles · 12 h chart with peak 33 at 07:01, the 30-minute average curve, red missile dots, the 10 · avg 12 bubble at the slider mark, the coloured slider, labelled scroll buttons and the line 2.1 pts · province Lublin · 10 drones · 0 missiles · 2 aircraft in snapshot
History with the 12-hour chart expanded.
History mode with the chart collapsed to a single Drones and missiles · 12 h row, peak 33 at 07:01, with a mini curve; the map moves to sit above the lower bar
The chart is collapsed by default.
Panel in history mode: HISTORY VIEW — 20:18 (now), the Lublin card at 5.7 pts HIGH PRIORITY with the ALARM UA entry “Air-raid alert in Volyn oblast (Lublin — at the border)”, and the history bar with LIVE, ×1, the collapsed chart and the line 5.7 pts · province Lublin · 49 drones
Breakdown of points at the selected moment. Tapping a province card collapses or expands it.

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 — current observations, Currently in range: no RU/BY aircraft with a position in this view, an empty log of entries and disappearances
Foreign aircraft: status and log.

9. Alerts and notifications

Screen reader and keyboard. The alarm screen is a dialog: the reader interrupts what it is saying and gives the level and the province, and Tab cycles through the alarm's buttons instead of falling through to the covered map. A rise to the yellow level and a return to normal are spoken aloud. Province cards expand with Enter. The system “reduce motion” setting stops every pulsing element. In front of the map there is an invisible heading with the situation in one sentence — watched provinces, their level, the nearest object and the time of the data — which the reader reads when you reach it. What we have not verified yet: the full-screen alarm over the lock screen with TalkBack on — that one path cannot be tested on an emulator.
LevelWhat happens
below 2 ptsInformation on the map and in the panel, no notification.
yellow, from 2 pts — ELEVATED ATTENTIONA notification and a short attention sound at normal notification volume. It respects silent mode and Do Not Disturb.
red, from 4 pts and a confirmation — HIGH PRIORITYSiren, vibration and a full-screen alert where the system allows it. The siren loops until you tap ACKNOWLEDGE on the alert screen or Wycisz alarm in the notification — for at most 15 minutes. The “Alarms” volume is raised to at least half; with the full-volume option on — to maximum. The previous volume returns after silencing. On Android, Menu → Settings → Sound and quiet hours → Red alert lets you choose Siren (default), Vibration only (the full screen and flashing stay) or Regular notification (banner, short sound and vibration, no full screen and no Do Not Disturb bypass).

When the phone rings and when it does not

Menu → Settings → Sound and quiet hours offers ▶ Test: attention, ▶ Test: siren and ▶ Test: full alert. These tests run inside the app window. The Android app also has ▶ Test: red native and ▶ Test: yellow native: after 5 seconds a real notification with the siren or attention sound arrives, so you can lock the screen and check the alert above the lock screen. No test checks push delivery from the server.

Alerts arrive in Polish. The notification text — the title, what to do and the reasons — is written by the server in Polish, whatever language you choose in the app. The level and the province name are easy to recognise, and the details are in the app in your language.

Red alert volume

The siren uses the Android “Alarms” volume, not “Ring” or “Media”. A red alert raises it to at least half. The Red alert always at full volume switch is off by default; once you deliberately switch it on (the app asks for confirmation), the siren plays at maximum, also at night. The current level is shown in the same tab, and Android sound settings opens the system volume controls. In the app, the bell at the top opens the notification status.

Vibration and watches

The vibration speaks Morse code: yellow is “U” (· · —, for Urgent), red is “A” (· —, for Alarm), repeated. If you do not know Morse, you will recognise them by rhythm: two short and a long one is yellow, a short and a long one is red — neither can be mistaken for an ordinary text message. The notification, the open app and the website in Chrome on Android use the same pattern. The ▶ Feel: yellow (U) and ▶ Feel: red (A) buttons in the Sound and quiet hours section only play these patterns — they do not choose anything. In the Android app (from 1.7.94) they vibrate like the real signal: yellow like a notification, so it stays still in silent mode and the app tells you why; red like an alarm, silent mode included. If you turn off a channel's vibration in Android notification settings, the app tells you that too. On the website in Chrome the browser does the vibrating, and it does not vibrate in silent mode. iPhone has no custom vibration patterns — iOS does not allow them.

Watches and bands. From version 1.7.93 the red alert also reaches a paired Wear OS watch — Android did not forward it before. Bands and watches with their own app (e.g. Mi Fitness, Zepp, Garmin Connect, Galaxy Wearable) show it if you allow Strażnik in their notification settings. The watch vibrates in its own way, so you will usually not feel the “U” and “A” rhythm on your wrist. We have not checked every model — test yours with ▶ Test: red native.

The yellow sound wakes you at night — what to do

Menu → Settings → Sound and quiet hours has Attention sound volume (yellow) with three settings: Normal, Quieter (about ten times quieter) and No sound (the banner and the vibration remain). It applies to yellow only. Red has its own Red alert choice (Android only): Siren (default), Vibration only — the siren alone goes quiet, while the vibration, the full screen and the flashing stay — or Regular notification — red arrives like yellow: a banner, a short sound and vibration, no full screen, and in Do Not Disturb it may not reach you. For both quieter modes the app asks for confirmation, because with the screen off and the phone in another room you may not notice an alert like that. The full-volume option is then inactive (there is nothing to turn up); to hear the siren itself use Test: siren. iPhone does not have this choice: iOS does not allow a single kind of notification to be silenced. On Android the setting works both with the app open and with the screen off, because yellow then goes to a separate notification channel. On iPhone it changes only the sound inside the open app: the volume of a push notification is chosen by the system and the app cannot affect it.

Quiet hours (Android, from 1.7.95)

If you want to hear alerts during the day but vibration is enough at night, you no longer have to switch anything every evening. In Menu → Settings → Sound and quiet hours turn on Quiet hours and choose the time: From … to (22:00–07:00 by default; the window may span midnight). During these hours yellow arrives without sound — the banner and vibration stay. For red you choose Red during quiet hours: Vibration only (default) — the siren goes quiet while the full screen and strong vibration stay — or Unchanged, i.e. as set above for the red alert.

Quiet hours never make an alert louder: if red normally uses vibration only or a normal notification, that stays. Outside the chosen hours everything works as usual. The hours follow the phone's clock, and the setting works both with the app open and with the screen off — during quiet hours notifications go through separate, quiet channels. We checked this on a Pixel emulator, not yet at night on a real alert. A phone lying in another room may vibrate without you noticing. iPhone has no quiet hours — there the notification sound is set by the server.

A second way, available in the system right now: turn on Do Not Disturb at night. We measured this on Android 14 — ordinary Do Not Disturb silences yellow while red gets through: the siren plays, the screen lights up and the full-screen alert appears above the lock screen. On iPhone the same is done by a Focus mode (for example Sleep): red is marked as a time-sensitive notification and breaks through, yellow does not.

One condition on Android: red gets through because Do Not Disturb allows alarms by default. If you turn Alarms off under Settings → Do Not Disturb → Alarms & other interruptions, the siren goes quiet and the screen stays dark — we measured this separately. Leave Alarms on; it does not affect yellow, which is not an alarm and is silenced either way.

“Total silence” also silences the red alert. This is a separate Android setting, stricter than ordinary Do Not Disturb. We checked: with it the red alert does not play, the screen does not light up and there is no full-screen alert — and the “Alarms” volume drops to zero. The app cannot work around this, because Android makes no exception in that mode, not even for alarms. If you want quiet at night, use ordinary Do Not Disturb, not “Total silence”.
Check your phone. Without full-screen permission a red alert may be only an ordinary notification. Also check the volume, notification channels, Do Not Disturb and battery restrictions — and check again after an Android update.

How it works technically: the server sends push notifications through Firebase for every watched province, also when the app is closed and the screen is locked. Alerts also arrive after an overnight phone restart, before you unlock it. “Force stop” in Android settings — and on some Xiaomi, Huawei or Oppo phones also clearing the app from recent apps — blocks delivery until the app is opened again; settings warn about this on such phones. A separate trap is the manufacturer's skin putting the app to sleep: on Samsung phones the “sleeping apps” and “deep sleeping apps” lists can stop push delivery entirely, despite enabled notifications and a working connection — because it is a separate setting. From version 1.7.91 Strażnik warns about this in settings when it detects a battery restriction on such a phone, and shows the time of the last signal received from the server. Fallback mode: when the server does not respond, the open app starts a built-in engine and polls the sources itself; it checks every minute whether the server is back. Fallback mode works only while the app is open and does not read press article texts, so media are listed without points; it does read the RCB message on gov.pl, exactly as the server does.

Where to shelter — GROTA

📘 The full GROTA guide → (українською) Every feature step by step, with screenshots: the TERAZ (now) screen during an alert, the map and filters, your places, the offline map, preparation checklists and common questions.

After you tap ACKNOWLEDGE — silence alert the siren stops and the alert screen shows three buttons: Where to shelter, Watch the map and I'm in a safe place. Strażnik never switches the screen on its own — you choose. The ACKNOWLEDGE button sits right below the heading; below it are a one-sentence “What to do” and at most three reasons — the full list of signals is in the panel. After 15 minutes the siren, vibration and screen flashing stop on their own — to spare the battery and keep the phone from heating up — and the screen stays with the note “Silenced automatically after 15 min”. The notification in the status bar has the headline, at most three reasons and one line “what to do · unofficial source”.

Where to shelter opens the GROTA module straight on the TERAZ (now) tab: it finds your position and shows the nearest shelter points from the public list of Poland's State Fire Service (dane.gov.pl) — open around the clock, open at set hours and “on request” — with the distance and a route on foot, by bike or by car. GROTA starts loading in the background as soon as the alert appears, so it opens at once after you acknowledge. Outside an alert, open it with the GROTA button in the middle of the bottom bar; it also has the Map, Places, Prepare and Rules tabs.

On iPhone alerts work differently: no full screen, the siren plays once, and a silenced ringer silences it — unless you turn on Turn on alert despite silent mode in settings (Apple Critical Alert). Red then sounds even on a silenced phone, and iOS marks the notification with its critical-alert label. The details and the settings to check are in the iPhone guide.

10. The website and browser notifications

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

Browser notifications: first save a province in Menu → Settings → My places, then open Menu → Notifications 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 an iPhone notifications work only for the site added to the Home Screen.

Turning them off: open Menu → Notifications (or Menu → Settings → Alerts and permissions) 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. An article on gov.pl about an alert that RSO has already cancelled scores nothing.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: 0.5 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. A headline that still announces an alert (e.g. narrowed to a smaller region) is not a cancellation; an article published before the cancellation does not reopen the alert, and a report about alerts in other countries is not an alert in the outlet's own country. Feed status and the last alert are in the Sources window (tap the indicators).alert 0.12–0.3; incident 0.5
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 the square root of the number of objects, distance, heading and data quality: confidence (high ×1.0, medium ×0.6, low ×0.35), number of reports (one ×0.7, two ×0.9, three–four ×1.1, five or more ×1.25), observation state (confirmed ×1.1, uncertain ×0.85, fresh ×0.7) and position quality. Distance 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. An object scores every province within 250 km, each by its distance to that province — not only the nearest one. Since 1.7.97 the app counts the same way when the server does not respond and it calculates on its own. A heading within ±50° of the direction to Poland counts in full, between 50° and 70° less and less, beyond that not at all. With an unknown heading an object gets half the weight and only up to 150 km. A drone reported only with a target counts with full weight, but also only up to 150 km from the border (since 28.10.2026). A missile or MiG-31K within 60 km of the border, with at least two confirmations and a point position, gives at least 2 points (1 point with an unknown heading).

Drone near the border (since 18.10.2026): a drone or Shahed within 30 km of a province, with at least two reports and a point position, gives that province at least 2 points, i.e. yellow — even without a known heading, unless the heading shows it flying away from Poland. The distance is measured to each province separately, so a drone close to two provinces warns both. This extra does not pass to neighbouring provinces, and a single report is not enough.

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, measured from successive positions or typical for the object class, and subtracts 2.5 minutes for data delay. ETA is not shown for approximate positions. With a heading that is known or calculated from the object's movement (not presumed from the target's name), at least two confirmations, medium or high confidence and a point position, 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, minus the 2.5-minute margin, so the threshold converts itself: a propeller drone about 55 km, a jet drone about 140 km, a cruise missile almost 250 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 and NEPTUN objects 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. Neither are NEPTUN objects (since 1.7.99): every object itself scores every province within 250 km by its own distance, and before, the same drone was counted a second time in the neighbour — on 19.10.2026 Świętokrzyskie, with 1.1 points of its own, reached 9.5 points and red colour this way. What is passed on are Ukrainian oblast alerts, media, aviation and zones. 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. The extra from the near-border drone floor stays in its own province — neighbours get a share of the object's ordinary points only.

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, 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 Menu → Settings → Language, text and version → 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; Android backup is disabled for the app. The server and the notification provider receive the names of watched provinces and the device subscription identifier — never an exact location. The exceptions are in GROTA: for a route the position and the chosen point go to the public FOSSGIS routing server, not to us, and downloading an “Around a place” offline map shows our server the area to within a square of about 12 by 20 km (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.