🚨 Safety & Emergency Alerts
Tsunami · Earthquake · Hurricane · Storm — manual + auto
⚠️ This is a life-safety system. Sent alerts go to real subscribers. Use the "Test (drill)" toggle when composing to log only — no real fan-out. Always include the source URL of the authoritative bulletin (PTWC, USGS, NOAA, COE) for verification.

Compose new alert

Pick a template to autofill, edit fields, preview, then send. Test toggle = log-only drill (no push fan-out).

Type your alert in your native language — auto-translation fills in all the others before sending.
+ Add translations (ES / DE / FR)
Click to fill ES / DE / FR from the English title + body. You can edit afterward.
Quick presets:

Currently active alerts

Loading…

Drafts

Loading…

All past alerts (audit log)

Every alert ever composed, sent, cancelled, or expired. Includes drills.

Loading…

Templates

Pre-written alert content for common scenarios. Use during a real event for one-click compose.

Loading…

Add a new template

Active disclaimers

Shown on the public /safety page. Editing here creates a new version (the old version is preserved in audit history).

Loading…

Update a disclaimer

🛡 Authority accounts

Multi-tenant alert issuers. Each authority logs in at /safety-authority/, can compose alerts within their authorized scope (alert types, geographic zone, max severity). By default, authority alerts land as drafts — you review them here before fan-out. Flip Auto-send on for trusted authorities (e.g. an established mayor's office) so their in-scope alerts go live immediately.

Loading…

Create authority account

For a new property manager, mayor's office, hotel emergency coordinator, etc. They'll log in at /safety-authority/ with the credentials you set here.

Tick every category this authority is permitted to issue. Untick = blocked. Leave all empty for "all categories."
Loading…
Bounding box for their geographic scope. Leave blank for unrestricted. Sosúa example: 19.65/19.85 lat, -70.55/-70.40 lng.

📱 Push subscribers

Every device that has subscribed to push notifications. Each row is one browser/PWA install. Use the platform badge to see whether it's an iPhone (Apple Push), Android (FCM), or desktop browser. has keys = the auth/p256dh keys that pywebpush needs to deliver are populated.

Loading…

Test mode

Compose a test alert that's logged as a drill but not fanned out to real subscribers. Preview the full notification copy + audience size before sending a real one.

How to test for real: in the Compose tab, check the 🧪 Test (drill) checkbox before clicking Send. The alert is recorded in the audit log with no recipients. Audience preview still shows.

To eventually run a real-fan-out drill (only to opted-in testers), build a "tester" subscriber group — that's a follow-on feature once the public /safety page is live.

Recent drills

Loading…