Global CAP Review — 2026-08-28

Daily Worldwide CAP Warning Digest

Today: 10722 messages across 65 nations · Window (UTC): 2026-08-28 00:00 → 2026-08-29 00:00 · Generated: 2026-08-29T03:16:04Z

Previous reports archive   About this report

Friday's traffic centered on severe convective weather across Europe, where Germany's STARKES GEWITTER and heavy-thunderstorm alerts, Austria's Gewitterwarnung, and Switzerland's thunderstorm warnings ran alongside gale warnings from Kyrgyzstan, while China separately logged Rainstorm, thunder and Typhoon tags across Asia Pacific — distinct regional systems, not one front. Germany's 12.77x jump over its own mean, paired with a rise in its Severe+Extreme share to 8% from 4%, marks a sharp break rather than routine variation. Total volume of 10722 ran 1.21 times the trailing mean, with Europe holding 44.4% of the day; the largest single nation, Germany at 20.5%, was itself driving that thunderstorm surge. Kazakhstan's fire warnings reached 180 Severe/Extreme messages, the day's clearest non-Met concentration. Behind Germany, Switzerland (7.32x), Kyrgyzstan (4.10x) and Austria (3.15x) also ran well above their own baselines, with secure-property and shelter tags climbing accordingly.

Daily CAP Activity

05001,0001,5002,0002,500
USACHNDZAKAZRUSDEUINDCANOthers
2026-08-22
USA 2,739
CHN 2,210
DZA 352
KAZ 704
RUS 506
DEU 488
IND 316
CAN 189
Others 1,249
all 8,753
2026-08-23
USA 2,034
CHN 2,423
DZA 698
KAZ 722
RUS 452
DEU 56
IND 338
CAN 417
Others 1,170
all 8,310
2026-08-24
USA 2,228
CHN 2,232
DZA 699
KAZ 696
RUS 546
DEU 60
IND 337
CAN 434
Others 1,074
all 8,306
2026-08-25
USA 2,380
CHN 2,645
DZA 346
KAZ 494
RUS 438
DEU 58
IND 338
CAN 206
Others 861
all 7,766
2026-08-26
USA 2,587
CHN 2,196
DZA 1,449
KAZ 500
RUS 538
DEU 30
IND 307
CAN 176
Others 1,541
all 9,324
2026-08-27
USA 2,838
CHN 2,223
DZA 539
KAZ 390
RUS 496
DEU 500
IND 307
CAN 151
Others 1,796
all 9,240
2026-08-28
USA 2,177
CHN 2,098
DZA 643
KAZ 432
RUS 496
DEU 2,200
IND 270
CAN 217
Others 2,189
all 10,722
08-2208-2308-2408-2508-2608-2708-28

Hourly CAP Origination - alerts/hour (UTC)

4509000001020304050607080910111213141516171819202122235-day avglast 24hMax. 855 alerts/hr
USACHNDZAKAZRUSDEUINDCANOther:Others
01,0002,0003,000
USACHNDEUKAZRUSINDAUTDZAOthers
2026-07-30
USA 2,167
CHN 877
DEU 801
KAZ 480
RUS 494
IND 407
AUT 302
Others 1,646
all 7,174
2026-07-31
USA 2,541
CHN 935
DEU 1,715
KAZ 458
RUS 451
IND 417
AUT 305
Others 1,949
all 8,771
2026-08-01
USA 2,553
CHN 959
DEU 695
KAZ 493
RUS 394
IND 418
AUT 433
DZA 107
Others 1,181
all 7,233
2026-08-02
USA 2,965
CHN 1,059
DEU 218
KAZ 486
RUS 384
IND 428
AUT 270
DZA 365
Others 1,379
all 7,554
2026-08-03
USA 2,847
CHN 1,058
DEU 1,132
KAZ 524
RUS 442
IND 496
AUT 349
DZA 137
Others 1,314
all 8,299
2026-08-04
USA 2,703
CHN 903
DEU 1,889
KAZ 459
RUS 449
IND 498
AUT 315
DZA 101
Others 1,633
all 8,950
2026-08-05
USA 2,798
CHN 834
DEU 1,374
KAZ 440
RUS 468
IND 439
AUT 446
Others 1,551
all 8,350
2026-08-06
USA 3,318
CHN 810
DEU 211
KAZ 440
RUS 546
IND 415
AUT 683
DZA 38
Others 1,440
all 7,901
2026-08-07
USA 3,568
CHN 989
DEU 38
KAZ 387
RUS 611
IND 333
AUT 353
DZA 36
Others 1,115
all 7,430
2026-08-08
USA 2,430
CHN 880
DEU 43
KAZ 521
RUS 478
IND 337
AUT 105
Others 1,412
all 6,206
2026-08-09
USA 2,164
CHN 898
DEU 306
KAZ 654
RUS 487
IND 346
AUT 209
DZA 104
Others 1,260
all 6,428
2026-08-10
USA 2,543
CHN 913
DEU 274
KAZ 480
RUS 509
IND 448
AUT 339
DZA 124
Others 1,408
all 7,038
2026-08-11
USA 3,318
CHN 941
DEU 51
KAZ 690
RUS 419
IND 433
AUT 234
DZA 71
Others 1,046
all 7,203
2026-08-12
USA 2,831
CHN 839
KAZ 466
RUS 432
IND 400
AUT 92
DZA 686
Others 1,189
all 6,935
2026-08-13
all 0
2026-08-14
all 0
2026-08-15
all 0
2026-08-16
all 0
2026-08-17
all 0
2026-08-18
USA 2,286
CHN 2,108
DEU 204
KAZ 658
RUS 640
IND 267
AUT 126
DZA 268
Others 1,413
all 7,970
2026-08-19
USA 2,395
CHN 1,545
DEU 1,016
KAZ 578
RUS 612
IND 221
AUT 377
DZA 431
Others 2,191
all 9,366
2026-08-20
USA 3,008
CHN 2,116
DEU 994
KAZ 674
RUS 544
IND 252
AUT 1,109
DZA 358
Others 2,172
all 11,227
2026-08-21
USA 3,170
CHN 2,235
DEU 516
KAZ 688
RUS 564
IND 268
AUT 590
DZA 192
Others 2,233
all 10,456
2026-08-22
USA 2,739
CHN 2,210
DEU 488
KAZ 704
RUS 506
IND 316
AUT 14
DZA 352
Others 1,424
all 8,753
2026-08-23
USA 2,034
CHN 2,423
DEU 56
KAZ 722
RUS 452
IND 338
DZA 698
Others 1,587
all 8,310
2026-08-24
USA 2,228
CHN 2,232
DEU 60
KAZ 696
RUS 546
IND 337
AUT 18
DZA 699
Others 1,490
all 8,306
2026-08-25
USA 2,380
CHN 2,645
DEU 58
KAZ 494
RUS 438
IND 338
AUT 111
DZA 346
Others 956
all 7,766
2026-08-26
USA 2,587
CHN 2,196
DEU 30
KAZ 500
RUS 538
IND 307
AUT 212
DZA 1,449
Others 1,505
all 9,324
2026-08-27
USA 2,838
CHN 2,223
DEU 500
KAZ 390
RUS 496
IND 307
AUT 280
DZA 539
Others 1,667
all 9,240
2026-08-28
USA 2,177
CHN 2,098
DEU 2,200
KAZ 432
RUS 496
IND 270
AUT 510
DZA 643
Others 1,896
all 10,722
07-3108-0408-0808-1208-1608-2008-2408-28

Hourly CAP Origination - alerts/hour (UTC)

4509000001020304050607080910111213141516171819202122235-day avglast 24hMax. 855 alerts/hr
USACHNDEUKAZRUSINDAUTDZAOther:Others

Nations (count / issues): Algeria (643 / 643) · Argentina (236 / 236) · Australia (37 / 37) · Austria (510 / 510) · Belarus (28 / 28) · Belgium (30 / 30) · Benin (2 / 2) · Bosnia and Herzegovina (10 / 10) · Brazil (3 / 3) · Cameroon (1 / 1) · Canada (217 / 217) · Chile (10 / 10) · China (2098 / 2098) · Congo (1 / 1) · Costa Rica (1 / 1) · Croatia (28 / 28) · Cyprus (1 / 1) · Czech Republic (19 / 19) · Denmark (18 / 18) · Estonia (8 / 8) · Finland (40 / 40) · France (30 / 30) · Germany (2200 / 2200) · Greece (16 / 16) · Hungary (14 / 14) · India (270 / 270) · Ireland (8 / 8) · Israel (9 / 9) · Italy (38 / 38) · Jamaica (2 / 2) · Kazakhstan (432 / 432) · Kyrgyzstan (240 / 240) · Latvia (2 / 2) · Lithuania (1 / 1) · Macau (2 / 2) · Madagascar (4 / 4) · Mexico (3 / 3) · Montenegro (3 / 3) · Netherlands (44 / 44) · New Zealand (12 / 12) · North Macedonia (16 / 16) · Norway (9 / 9) · Pakistan (1 / 1) · Panama (1 / 1) · Philippines (17 / 17) · Poland (202 / 202) · Republic of Korea (57 / 57) · Romania (2 / 2) · Russian Federation (496 / 496) · Saudi Arabia (138 / 138) · Serbia (14 / 14) · Seychelles (1 / 1) · Slovakia (41 / 41) · Slovenia (37 / 37) · Solomon Islands (3 / 3) · Spain (1 / 1) · Sweden (11 / 11) · Switzerland (136 / 136) · Tanzania, United Republic of (6 / 6) · Thailand (10 / 10) · Togo (1 / 1) · Ukraine (15 / 15) · United Kingdom (53 / 52) · United States — Air Quality (883 / 883) · United States — Flood (38 / 38) · United States — Heat (72 / 72) · United States — Marine/Coastal (39 / 39) · United States — Other (22 / 22) · United States — Other-weather (166 / 166) · United States — Thunderstorm (949 / 872) · United States — Tornado (6 / 5) · United States — Tropical Cyclone (2 / 2) · Uruguay (6 / 6)

RuleIssues
content.no_instruction_time6733
content.no_specific_area_geometry6183
content.no_description_explains_effects5045
content.no_instruction_text3875
content.senderName_not_registered1782
i18n.encoding_not_declared1245
content.local_abbreviations881
content.no_expires580
i18n.non_latin_script368
content.no_headline285
cap.identifier.reused284
content.usc_all_unknown167
content.no_cancel_in_alert_or_update124
content.usc_divergent_between_infos54
content.multiple_categories26
cap.no_info16
cap.test_as_actual2

urgency

severity

certainty

Met · 10494 messages
41142320
Immediate 4,262Expected 1,418Future 2,453Past 75Unknown 2,142Test 144
166913
Extreme 92Severe 1,671Moderate 7,229Minor 1,343Unknown 15Test 144
136220
Observed 1,365Likely 6,536Possible 305Unknown 2,144Test 144
Fire · 181 messages
3961
Immediate 71Future 110
8812
Extreme 159Severe 22
99
Observed 1Likely 180
Env · 26 messages
3565
Immediate 9Future 17
1577
Severe 4Moderate 20Minor 2
1281
Observed 3Likely 21Unknown 2
Geo · 26 messages
3562
Immediate 9Expected 1Future 16
12155815
Extreme 3Severe 4Moderate 15Minor 4
2365
Observed 6Likely 17Possible 1Unknown 2
Transport · 24 messages
3367
Immediate 8Future 16
2567
Severe 6Moderate 16Minor 2
1775
Observed 4Likely 18Unknown 2
Health · 20 messages
3070
Immediate 6Future 14
207010
Severe 4Moderate 14Minor 2
157510
Observed 3Likely 15Unknown 2
(uncategorised) · 16 messages
Other · 12 messages
75
Immediate 1Future 1Unknown 1Test 9
75
Severe 1Minor 1Unknown 1Test 9
75
Observed 1Likely 1Unknown 1Test 9
Safety · 11 messages
91
Immediate 10Expected 1
7318
Extreme 8Severe 2Minor 1
91
Observed 10Likely 1
Infra · 1 message
100
Future 1
100
Moderate 1
100
Likely 1
↑ Top

About This Report

This daily summary of global public warning activity is compiled from public emergency alerts issued in the Common Alerting Protocol (CAP) format by official alerting authorities around the world. It covers a single 24-hour period (UTC) and includes only those messages AlertHub.org obtained and republished; coverage completeness and accuracy are not guaranteed. This report should never be used as a substitute for official distributions of alerts.

This report is a personal project and is not sponsored or endorsed by any national, international or corporate entity.

In addition to a daily recounting of global CAP activity, this report also provides a qualitative review of CAP alerts, both for standards-compliance and from an opinionated but evidence-based warning-effectiveness perspective. The effectiveness principles are drawn from scientific research into what makes warning messages yield desired results, filtered through my experience both as the proponent and designer of CAP, and as a public-safety warning originator. These principles (see below) are offered to encourage global adoption of warning best practices, aimed at maximizing global warning system interoperability as well as protective action by people at risk.

The author represents no nation, institution, or interest in providing this report. The review here is offered as a personal initiative aimed at encouraging global adoption of evidence- and experience-based best practices in warning message composition..

Art Botterell

Please address comments and suggestions to art@botterell.net.


Message Content - Test Rules

The Global CAP Report applies the following recommendations for maximum warning message effectiveness:
  1. usc_all_unknown — <urgency>, <severity> and <certainty> all reported as Unknown. This usage makes categorization difficult for automated systems and for displays that style alerts depending on one or more of these settings.
  2. no_headline — <headline> element is empty. CAP schema makes it optional but its use is recommended, as many downstream renders use it as a primary label for the message.
  3. local_abbreviations — <description>, <instruction>, or <areaDesc> element contains an unwhitelisted uppercase 2–6-letter token (e.g. JCOES). Such abbreviations may be unfamiliar to travelers or newcomers to the local area. Whitelist includes WMO / UN bodies, US federal agencies, US state codes, cardinal directions, common time units, etc, The offending token is specified in the badge. .
  4. no_description_explains_effects — <description> text names the hazard but does not describe the effects on people, property, or infrastructure. Fires if description is empty, identical to headline, or shorter than 60 characters. Anything that passes that gate goes to LLM for semantic check.
  5. no_instruction_text — <instruction> is empty. The message describes a hazard but tells the reader nothing to do about it.
  6. no_instruction_time — <instruction> does not say by when the protective action should be taken. Fires if the text contains no time reference (clock time, within N minutes, by 3 PM, immediately, etc.). Anything that passes goes to LLM for semantic check. Silent when there is no instruction at all, which the rule above covers.
  7. no_specific_area_geometry — At least one <area> block has neither a <polygon> nor a <circle> value. Specific geometries are recommended to allow recise message delivery and reduce alert deliveries to people not actually at risk ("spill")
  8. senderName_not_registered — <senderName> should contain the sender's registered agency name (WMO, IPAWS or other national registry). Currently fires when the value is empty, an email address, a URL, or an obvious placeholder ("unknown", "n/a", "test"). A future revision will also fire when the value does not match a known registry entry.
  9. no_expires — An <info> block carries no <expires>. CAP makes the element optional but a receiver given no expiry has no way to know when to stop displaying or forwarding the alert. Systems are left to guess and may either drop the message too early or leave a stale warning on screen after the hazard has passed.
  10. encoding_not_declared — The message does not assert what character encoding it uses. The receiver may guess wrong and that can render local language unreadable.
  11. test_as_actual — The message announces itself in its headline or event as a test, but its <status> claims it is Actual. This can result in inappropriate routing or delivery of the message.
  12. usc_divergent_between_infos — All <info> elements within a single <alert> should have the same urgency, severity, and certainty values to allow the alert to be processed consistently as a unit. Messages with different U/S/C values should be sent in separate <alert> bodies.
  13. no_cancel_in_alert_or_update — Cancellations should travel in separate <alert> bodies to avoid confusion. No form of the word "cancel" should appear in the <headline>, <description> or <instruction> elements of any <info> within any <alert> of any type other than "Cancel"
  14. non_latin_script — An <info> block declares English, or declares no <language> at all (which CAP reads as en-US), but its text is written in another script — Cyrillic, Han, kana, Hangul, Arabic, Greek, Hebrew, Devanagari or Thai. A receiver that selects blocks by language, or picks a font or a speech voice from it, is handed text it cannot render or read aloud. Accented Latin is not flagged: Päijät-Häme and BÉJAÏA are English-language usage.
  15. multiple_categories — An <info> block declares more than one <category>. CAP permits it, but a receiver that routes, styles or files an alert by category has to choose one, and different receivers choose differently, so the same message reaches different audiences on different systems.
  16. category_divergent_between_infos — All <info> elements within a single <alert> should declare the same <category> values, so the alert can be routed consistently as a unit.

↑ back to top