ECP Emergency Communication Protocol

8 byte . Un'emergenza intera.

Il protocollo binario che riduce del 96% i dati per comunicazioni critiche — misurato su oltre 200.000 eventi operativi.

I protocolli attuali non sono stati pensati per le emergenze.

CAP/XML (Common Alerting Protocol) è lo standard OASIS usato nei sistemi di allerta pubblica: lo stesso allarme arriva a 669 byte perché XML include tag, namespace e metadati strutturati. JSON scende a 270 byte e Protobuf a 164, ma restano formati generici. ECP codifica lo stesso allarme in 8 byte.

Lo stesso allarme. Protocolli diversi.

CAP/XML 669 byte
JSON (HTTP) 270 byte
Protobuf 164 byte
ECP Envelope 45-100 byte
ECP Token (UET) 8 byte

Dati basati su un messaggio di emergenza standard

8 byte non è uno slogan: confronta i protocolli e verifica tu stesso.

4 componenti. Ognuno ottimizzato.

UET — Universal Emergency Token

8 byte

Un'emergenza completa: tipo, priorità, azioni, zona, timestamp. Progettato per canali a payload minimo.

Envelope

45-100 byte

Messaggio completo con payload, firma HMAC e metadati. Cifratura AES-GCM opzionale per la confidenzialità.

Cascade

O(log N)

Distribuzione peer-to-peer con fan-out adattivo: il server invia pochi messaggi, i dispositivi propagano tra loro. Scalabilità O(log N).

Conferme Aggregate

Conferma per zona

Le conferme vengono aggregate in un numero minimo di messaggi. Sai chi ha ricevuto, per zona, in tempo reale.

Tre righe. Un'emergenza. 8 byte.

ECP-SDK Core .NET 8: zero dipendenze esterne. Hot path a zero allocazioni.

EcpExample.cs
// Un allarme incendio in una riga
var bytes = Ecp.Alert(EmergencyType.Fire, zone, EcpPriority.Critical);
// bytes.Length == 8

// Envelope completo con firma HMAC
var envelope = Ecp.Envelope()
    .WithType(EmergencyType.Fire)
    .WithPriority(EcpPriority.Critical)
    .WithTtl(120)
    .WithPayload("Evacuare edificio A via scala B")
    .WithHmacKey(hmacKey)
    .Build();
// envelope.ToBytes() -> 45-100 byte

// Decodifica universale (UET o Envelope, auto-detect)
bool ok = Ecp.TryDecode(rawBytes, out var alert);

Non simulazioni. Dati reali.

Dati misurati su Emergency System, il sistema di gestione emergenze Egonex.

200K+

Eventi gestiti

96%

Risparmio dati misurato

3.8M msg/sec

Throughput decode + HMAC

200K+ eventi e 96% sono misurati in Emergency System (~76 MB risparmiati cumulati). 3.8M msg/sec deriva da benchmark SDK riproducibili su .NET 8.

Benchmark riproducibili. Eseguili tu stesso.

Performance misurate con BenchmarkDotNet

Operazione Tempo Alloc Throughput
UET Encode (zero-alloc)0.284 ns0 B3.5 miliardi/sec
UET Decode1.201 ns0 B833 milioni/sec
Envelope Decode + HMAC verify264 ns0 B3.79 milioni/sec

200+ test automatizzati · .NET 8 · BenchmarkDotNet · Codice benchmark nel repository.

Un protocollo. Qualsiasi canale.

ECP è transport-agnostic: lo stesso messaggio funziona ovunque.

WebSocket

Real-time bidirezionale

MQTT

IoT industriale

BLE

8 byte < 31 byte limit

LoRa

8 byte < 51 byte limit

Satellite

Copertura globale, anche in mare aperto

SMS

UET = 12 caratteri Base64

NFC

Tap-to-alert, badge e dispositivi

Ultrasuoni

Fallback acustico (brevetti depositati)

L'UET di 8 byte passa su qualsiasi canale, anche quelli con limite fisico di pochi byte. L'Envelope completa (45-100 byte) funziona su LoRa, satellite e tutti i canali IP.

Dove ogni byte conta.

IoT Industriale

Allarmi fermo linea, safety operai, sensori critici. UET di 8 byte su rete degradata. Conferma per reparto.

Satellite / Maritime

Offshore, navi, piattaforme petrolifere. Costo per KB elevato. UET in 8 byte minimizza il consumo di banda su ogni alert.

Smart City

10.000+ sensori, un allarme. Cascade tra nodi con propagazione O(log N). Conferma aggregata per zona.

Emergenze

Aeroporti, ferrovie, ospedali, edifici pubblici. Allertamento multicanale con conferma per zona e template multilingua.

Automotive V2X

Comunicazione veicolo-veicolo in scenari V2X. UET di 8 byte su canali a payload ridotto, con propagazione locale a pochi hop.

Energia / Utility

Sottostazioni, reti idriche e pipeline remote. UET di 8 byte su reti degradate, con conferma aggregata per area operativa.

Tecnologia protetta. Innovazione aperta.

4 brevetti depositati

Core — Open Source · Apache 2.0

Open Source · Apache 2.0

Comunicazioni di Emergenza

Protocollo per la codifica, trasmissione e conferma dei messaggi di emergenza su qualsiasi canale.

Open Source · Apache 2.0

Comunicazioni Critiche a Bassa Latenza

Algoritmi di ottimizzazione per reti a banda limitata e ambienti con latenza critica, inclusi scenari IoT e satellite.

Estensioni

Premium

Attivazione Offline e Catena Forense

Meccanismi di operatività senza connessione e registro immutabile per la tracciabilità certificata degli eventi.

Hardware · Brevetti depositati

Dispositivi di Emergenza Multicanale

Architettura hardware per sirene e relay con comunicazione multicanale, autonomia energetica e sicurezza integrata.

Operativo in 5 minuti.

Terminal
1. Installa
$ dotnet add package ECP.Core
EcpQuickstart.cs
2. Il tuo primo allarme
var bytes = Ecp.Alert(EmergencyType.Fire, zone, EcpPriority.Critical);

3. Decodifica
bool ok = Ecp.TryDecode(rawBytes, out var alert);

Perché open source

Un protocollo di emergenza funziona solo se è adottato. L'adozione richiede fiducia. La fiducia richiede trasparenza. Per questo ECP è open source: codice ispezionabile, implementazione libera, nessun vendor lock-in.

Common questions about ECP

Why does emergency alerting need its own protocol?

Alerts often travel over unstable links — IoT, LoRa, BLE, satellite — where bandwidth is tight and unreliable. ECP is built for that: the essential alert fits in 8 bytes, not hundreds.

How does ECP compare to CAP XML, JSON, or Protobuf?

Same alert, different size: CAP XML ~669 bytes, JSON ~270, Protobuf about 164. Those formats serve general data or full public-alert standards. ECP packs the essentials into 8 bytes (UET) because it was purpose-built for emergency alerts on constrained links.

What can you send in 8 bytes?

Alert type, priority, required actions, zone, and timestamp. For text, extra fields, or cryptographic signing, use the Envelope format (about 45–100 bytes) — suited to LoRa, satellite, and IP networks.

Can a message that small still be secure?

The 8-byte UET carries the core alert data. When integrity and authentication are required, use a signed Envelope — and encryption when needed — without sending hundreds of bytes per alert.

What transport layers does ECP work over?

ECP is transport-agnostic: one message works over WebSocket, MQTT, BLE, LoRaWAN, satellite, SMS, NFC, and more. The 8-byte UET is designed to fit typical reduced payloads on links such as LoRaWAN and BLE (exact limits depend on network configuration).

How much bandwidth does ECP save?

On the same alert, ECP uses up to 96% less data than CAP XML (669 bytes down to 8 with UET). In Emergency System operations we have processed 200K+ events. SDK benchmarks are in the public repository.

Can I integrate ECP into my project?

Yes. The .NET 8 SDK is open source, with examples, automated tests, and reproducible benchmarks. The ECP core is freely usable; advanced features (e.g. offline forensic chain) require a commercial license.

Does ECP replace MQTT or LoRaWAN?

No. ECP is the alert format; MQTT, LoRaWAN, WebSocket, and BLE are the pipes. Send an 8-byte UET inside an MQTT payload or LoRaWAN frame without replacing your existing stack.

© 2026 Egonex S.R.L. ECP Core: Apache 2.0. ECP Premium: licenza commerciale.