Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Alerts and watch rules

Alerts notify people outside the console when the rig sees or hears something. There are two kinds:

  • Detection alerts fire when the camera pipeline confirms a tracked object of a type you chose, such as a drone.
  • SIGINT watch rules fire when the radios hear something you care about, such as “mayday” on ATC or a drone’s Remote ID broadcast.

Both kinds go out through the same delivery channels. Both appear in the same audit trail.

Open Admin → Alerts. Admins can change everything on this page. Auditors can view it, but can’t edit it. The page reads “Read-only (auditor) — channel settings are visible but not editable.”

Master switch

The Master section has one switch. It reads Alerting enabled or Alerting disabled.

Alerting is off on a new install. Nothing is sent — not detection alerts, and not watch rules — until you turn it on.

Next to the switch, the page shows how channel secrets (passwords, tokens, webhook URLs) are stored:

  • 🔒 channel secrets encrypted at rest: normal.
  • ⚠ secrets stored plaintext — contact DroneTracker support to enable encryption: contact support before you store real credentials.

Delivery channels

Channels are grouped by type. Each one has its own card.

GroupChannelSettings on the card
EmailEmailSMTP host, SMTP port, Security (starttls / tls / none), Username, Password, From address, Recipients (comma-separated)
Instant MessengerSlackIncoming webhook URL
Microsoft TeamsPower Automate Workflows URL
DiscordWebhook URL
TelegramBot token, Chat ID(s) — comma-separated for multiple
Signalsignal-cli REST URL, Sender number, Recipients (comma-separated)
WhatsAppProvider (twilio / cloud), Account SID / phone-number ID, Auth token, From number, Recipients (comma-separated)
SMSSMSProvider (twilio), Account SID, Auth token, From number, Recipients (comma-separated)
WebhookWebhookEndpoint URL, HTTP method (POST / PUT), Authorization header value (optional)
ATAKATAK (CoT)TAK server host, TAK server port, Protocol (tcp / tls / udp), Callsign
RSS / ATOM & Query APIRSS / ATOM feedFeed access token (optional)
Query APIAPI access token (optional)

For Microsoft Teams, use a Power Automate “Workflows” URL. The card’s field asks for exactly that.

Configure a channel

  1. Find the channel’s card.
  2. Turn its switch to Enabled.
  3. Under Fire on object types, tick the object types that should trigger it (see below).
  4. Fill in the delivery settings.
  5. Click Save. The card shows saved.

While you have changes that aren’t saved, the card shows unsaved changes.

Secret fields (passwords, tokens, webhook URLs) are password boxes. Once a secret is stored, the field shows dots, with the note “configured — leave the dots to keep it”.

  • To keep the stored value, leave the dots.
  • To replace it, type a new value.
  • To remove it, clear the field.

A secret that has never been set reads “not set”.

Send a test

Click Send test on a card to check the channel end to end. The result appears under the buttons:

  • ✓ followed by details: the message was delivered.
  • ✕ followed by the reason: it was not delivered.

Send test uses the last saved settings. If you changed something, click Save first. The card reminds you: “Send test uses the last saved settings — save first to test new values.”

Which object types trigger a channel

Each channel has its own Fire on object types list. For example, you can send SMS only for drones, and email for everything.

Object typeFires when
AirplaneThe pipeline confirms an airplane.
DroneThe pipeline confirms a drone.
HelicopterThe pipeline confirms a helicopter.
UAPThe pipeline confirms an unidentified aerial object.
TemperatureThe rig gets too hot. This is offered only on rigs that support thermal alerts. It comes from the rig’s temperature monitor, not from detections.

A channel with no types ticked sends no detection alerts. It can still send watch-rule alerts (see below).

Limits on detection alerts

Detection alerts are limited so a busy sky can’t flood your channels:

  • each tracked object alerts at most once;
  • a detection must reach a minimum alert level (default 1, Tracking);
  • there is a cap on how many detection alerts go out per minute (default 20).

The minimum level, the per-minute cap and the temperature thresholds are under Admin → System Settings. Open Advanced, then find the alerts settings. Changes there take effect after the next restart.

SIGINT watch rules

Watch rules alert you when the rig hears something, rather than sees it. They are in the SIGINT watch rules section of Admin → Alerts, and they were added in version 0.2.552.

A watch rule sends alerts only when:

  • the master switch is on, and
  • at least one delivery channel is enabled.

Add a rule from a preset

Choose a starting point from + Add a watch rule…. Every field stays editable.

PresetWhat it watchesCondition
Law enforcement — hijack or emergency on the radioATC voice + datalinkPhrases such as “hijack”, “unlawful interference”, “squawk 7500”, “seven five hundred”, “squawk 7700”, “lost comms”, “mayday”, “pan pan”, “declaring an emergency”
Fire / rescue — mechanical emergencyATC voice + datalinkPhrases such as “engine failure”, “engine fire”, “smoke in the cockpit”, “emergency landing”, “hydraulic failure”, “fuel emergency”, “minimum fuel”, “souls on board”, “mayday”, “pan pan”
Aircraft above 50,000 ft with no callsignADS-BAircraft at or above 50,000 ft with no callsign. Repeats at most every 60 minutes.
Aircraft squawking an emergency code (7500 / 7600 / 7700)ADS-BThe transponder code is 7500 (hijack), 7600 (radio failure) or 7700 (general emergency). Repeats at most every 30 minutes. Added in 0.2.553.
Private security — any drone (with a map link)Remote ID dronesAnything heard. Repeats at most every 30 minutes. When the drone reports a position, the alert includes a map link.
Custom ruleATC voice + datalinkA blank phrase list for you to fill in.

Rule settings

FieldWhat it does
NameShown in the rule list and in the alert headline. Required.
WatchWhich sources to watch: ATC voice, Datalink (ACARS/VDL2), ADS-B, Remote ID drones. Pick at least one.
ConditionText mentions any of these phrases; Aircraft at or above an altitude with no callsign; Aircraft squawking 7500 / 7600 / 7700; or Anything heard.
Phrases (one per line)Shown for the phrases condition. Add at least one.
At or above (ft)Shown for the altitude condition. 1 to 200,000 ft.
Repeat alerts at most every (minutes)The cooldown. It counts per rule and per source (each callsign, each drone), so one event doesn’t flood the channels. Default 10 minutes.
Send toWhich channels to use. None ticked = every enabled channel. A channel marked “(off)” is disabled and won’t send even if you tick it.
Rule onTurns the rule on or off.

Click Save rule to keep it, or Cancel to throw away your changes.

How phrases match

  • Phrases match whole words, in any case. “7500” does not match inside “17500”.
  • Punctuation counts as a space, so “pan pan” also matches “pan-pan”.
  • A phrase matches when its words appear together, in order, anywhere in the transcript or message.

Transcripts can be imperfect. Speech-to-text on radio audio often gets numbers and callsigns wrong. List the spoken variants too: for example “squawk 7500” and “seven five hundred”. The presets already do this for the common emergency codes.

The altitude condition uses ADS-B altitude, and it fires only when the aircraft broadcasts no callsign. The rig re-checks live ADS-B and Remote ID every few seconds, so an aircraft that climbs past the threshold after it first appears still triggers the rule.

The emergency-squawk condition reads the transponder code the aircraft broadcasts, so it needs nothing from speech-to-text. The code shows in the SIGINT events table too, and an emergency code is flagged in red. Squawk codes come from the rig’s own ADS-B receiver or a forwarder; aircraft known only from the internet ADS-B feed have no code.

The rule list

Each saved rule shows its name and a one-line summary, for example:

ATC voice + Datalink (ACARS/VDL2) · 16 phrases · at most every 10 min per source · all enabled channels

Use the On switch to turn a rule on or off. Use Edit to change it, or Delete to remove it.

Limits

  • At most 10 watch alerts a minute, across all rules. Matches beyond that are not sent, so set your cooldowns and phrase lists with that in mind.
  • At most 100 watch rules per rig.

What a watch alert says

The headline reads Watch: rule name — emitter. The emitter is the callsign, tail number or drone ID. The body includes:

  • the source and why the rule fired, for example heard “mayday” or at 52000 ft with no callsign;
  • the frequency;
  • up to 400 characters of the transcript or message;
  • a map link, when the event has a position.

Audit trail

The Audit trail section is a record of every outbound alert: what fired, to which channel, and whether it was delivered. Click ⟲ Refresh to reload it.

ColumnContents
TimeWhen the alert went out.
SourceWhat triggered it: detection, temperature, or sigint (a watch rule).
MethodThe delivery channel, as a short code, for example EMAIL or WEBHOOK.
ClassThe object type, or, for a watch rule, the rule’s name.
TargetThe track, or the emitter (callsign, tail number, drone ID).
OutcomeDelivered or failed.
DetailThe reason, for a failure. It never contains secrets.

Send test results show on the card itself. Before any real alert has fired, the section reads “No alerts have fired yet.”

By default, audit entries are kept for 90 days. You can change this under Admin → System Settings → Advanced.