EventBridge
EventBridge is the local interface into a running Synapse agent. Your own software can subscribe to what the agent is seeing, or ask it a direct question about one connection and get an answer back.
That closes a gap nothing else does. Your application knows the socket it is serving. It does not know the client's TLS fingerprint, its SNI, or how its TCP stack behaved — the agent does, and this is how you get it without implementing any capture yourself.
Two interfaces
| What it is | Reach for it when | |
|---|---|---|
| Event stream | Events pushed as they happen — HTTP requests and packets, with their fingerprints | You want a live feed to consume or display |
| Control socket | A request/response query about a specific connection | You have a connection in hand and want to know what the agent saw |
Both are local sockets on the host — a Unix domain socket on Linux and macOS, a loopback address on Windows. Neither is exposed to the network, so the interface is available to processes on the box and to nothing else.
Asking about a connection
You identify a connection by its source address, optionally narrowing with source port, destination address and port, or a fingerprint you already hold. The agent answers from its cache of recent connections.
What comes back is everything it captured for that connection:
| TLS | JA4 and JA4S, plus the raw JA4 string |
| TCP | JA4T and JA4TS, with the hash form |
| Latency | JA4L and JA4LS |
| HTTP | JA4H |
| Certificate | JA4X |
| Handshake detail | SNI, ALPN, and the negotiated TLS version |
| Context | The connection four-tuple and when it was captured |
You can ask for a summary or the full event detail.
The SNI and ALPN are worth calling out. Your application sees the request; it does not see what hostname the client asked for at the TLS layer, or what protocol it offered. Those are frequently the interesting part of a mismatch.
What you can build with it
- Enrich a request in your own handler — look up the connection you are serving and attach the client's fingerprint to your own logs or risk scoring.
- Step up authentication on an unfamiliar client by treating the fingerprint as one factor.
- Confirm during an incident that the connection you are looking at is the one you think it is, rather than inferring from timestamps.
- Build your own view on the event stream — the terminal client that ships with Synapse is itself a consumer of this interface.
Limits worth knowing
- The cache is bounded and recent. A connection old enough to have been evicted returns nothing. This is a live interface, not a history — for anything retrospective use Security Event Export.
- Local only, by design. There is no network listener to secure, and equally no remote access; anything off-host has to go through the export path instead.
- Answers are best-effort. Fields are absent rather than wrong when a view was never captured — a connection that never completed a TLS handshake has no JA4, and says so by omitting it.
See also
- Live Traffic View — the terminal client built on this interface
- Security Event Export — the durable, off-host counterpart
- JA4+ — what each fingerprint in the answer means
- Configuration — socket paths and enablement