Safety
Alerts, incidents and geofences in one place.
Alerts, incidents and geofences in one place.
/app/safety · ready · accent #16A34A
Weather, battery, link and geofence alerts with acknowledgement, incident files, per-site geofences and a pre-shift briefing.
Pages
Each module has at most four pages under /app/safety.
| Page | Path | Kind | What it shows |
|---|---|---|---|
| Overview | /app/safety | Dashboard | A triage queue of open alerts, an alert calendar, time to acknowledge, open incidents and alert sources. |
| Alerts & incidents | /app/safety/alerts | List | Each alert with severity, site, unit, time and who acknowledged it, plus incident files. |
| Geofences | /app/safety/geofences | Library | Keep-in, keep-out and caution zones on each site map. |
| Briefings | /app/safety/briefings | AI | Per site: wind for the next hours, open alerts, planned missions and active zones. |
| Integrations | /app/safety/integrations | integrations | The connectors this module takes data from, with status, last sync and what each one feeds in. |
Opening
The dashboard opens with its own layout, Triage queue, built for this module's data:
- Open alerts in the order to handle them: severity, not yet acknowledged, oldest
- Alert calendar over 17 weeks
- Time to acknowledge, bucketed
- Open incidents and alert sources
Features
- Alert feed with acknowledgement
- Incident files
- Geofences per site
- Shift briefings
Who can do what
Everyone with view on Safety can read its pages. Changes need edit; the actions below that need publish are the ones with real-world effect. Agents are capped at edit, so they can never run a publish action.
| Action | What it does | Needs |
|---|---|---|
alert.ack | Acknowledge an alert | edit |
alert.resolve | Resolve an alert | edit |
geofence.save | Create or edit a geofence | edit |
incident.save | Open or update an incident file | edit |
Safety has no publish actions: edit is enough for every change here.
Any action not listed needs publish (the app fails closed).
Integrations
Every module has an Integrations page (/app/safety/integrations) next to its data pages. It lists the connectors below with their status and last sync. Owners and admins connect, test or disconnect them through the shared Connections flow (the same dialog as Settings → Connections); everyone else sees the page read-only. No external calls are made in this build: in the demo the statuses are generated, and in local database mode a saved connector stays pending.
| Connection | Used for | Status | Verify before launch |
|---|---|---|---|
| Weather forecast | Wind and gust alerts | mock | Provider terms and rate limits |
| Airspace authorisation | Temporary restrictions | planned | Country rules and provider onboarding |
| Map tiles + imagery | Geofence maps | mock | Provider licence and tile cost (MapLibre planned) |
| AI models | The Briefings page | mock | Provider API keys, catalog prices (none verified yet), credit metering, prompt review |
See Connections for the full list.