Notifications & Report Delivery
Overview
Section titled “Overview”Fleet has an internal event bus. Platform events (a release published, repeated failed logins) and ENISA CRA Art.14 filings are emitted onto it, and a notification subscriber fans the notify-worthy ones out to the channels you configure. The same bus drives the dashboard’s live activity board, so a filing that emails your compliance team also lights up on screen.
Notifications are opt-in: if no channel is configured, the subscriber is not started and nothing is sent.
Channels
Section titled “Channels”Configure channels with FLEET_NOTIFY__* environment variables. Every channel
is a single authenticated HTTP POST with JSON — no extra services.
| Channel | Variables |
|---|---|
| Email (Resend) | FLEET_NOTIFY__RESEND_API_KEY, FLEET_NOTIFY__EMAIL_FROM, FLEET_NOTIFY__EMAIL_TO (optional FLEET_NOTIFY__RESEND_URL) |
| Slack | FLEET_NOTIFY__SLACK_URL (incoming-webhook URL) |
| Discord | FLEET_NOTIFY__DISCORD_URL (webhook URL) |
| Generic webhook | FLEET_NOTIFY__WEBHOOK_URL (optional FLEET_NOTIFY__WEBHOOK_AUTH_HEADER as Name: value) |
Example (email via Resend):
export FLEET_NOTIFY__RESEND_API_KEY="re_xxx"export FLEET_NOTIFY__EMAIL_FROM="fleet@yourco.example"export FLEET_NOTIFY__EMAIL_TO="compliance@yourco.example"What gets delivered
Section titled “What gets delivered”| Event | Delivered? |
|---|---|
| Release published, license revoked, repeated failed logins, inbound webhook | Yes |
| ENISA Art.14 notification filed (a staged revision submitted) | Yes |
| AI advisor / chat lifecycle events | No — dashboard-only (high-frequency; they would swamp a channel) |
Delivery is at-most-once (the bus guarantee). Durable queuing and retry are a planned production-hardening step.
ENISA report delivery
Section titled “ENISA report delivery”Filing a staged Art.14 revision emits a notification (above) so your team is
alerted. Separately, fleet_enisa_export (MCP) — or the export path — delivers
the form-ready document itself:
- When an email or webhook channel is configured, Fleet delivers the document through it (the email carries the rendered notification; the webhook receives the structured document) and records an append-only export receipt.
- When none is configured, Fleet records the receipt against a built-in stub.
ENISA’s Single Reporting Platform has no public submission API yet. When it ships, it slots in as one more delivery target — the rest of the pipeline (validation, carry-forward, chain-of-custody, receipts) is already in place. See ENISA Reporting.