You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Expose JA4 through a standard request interface #283
Expose the incoming request’s JA4 fingerprint through a standard EdgeZero interface. The existing Fastly raw-request hook lets applications define their own extension type, but does not provide a neutral JA4 type or cross-adapter API.
Observe that the example defines an application-local Ja4(String) and calls the raw Fastly SDK.
Look for an equivalent neutral accessor and adapter population contract; none is present on main.
Expected behavior
Handlers and middleware can read optional JA4 metadata through one documented interface, with explicit unavailable behavior where a provider cannot supply it.
Impact
Applications duplicate provider-specific extraction and cannot consistently consume JA4 across adapters.
Proposed fix
Define a neutral optional JA4 request metadata/accessor contract and populate it from supported provider signals. Preserve provenance and absence semantics; do not infer a fingerprint from ordinary client-supplied headers.
Done when
Add and document the standard JA4 interface.
Populate it on adapters whose trusted provider APIs expose JA4.
Return explicit absence/unsupported behavior on other adapters.
Cover present, absent and unsupported metadata paths with adapter/core tests.
Related
PR #306 supplies the Fastly extension hook only; it is related, not a closing implementation.
Activity
[-]Expose JA4 through standard interface[/-][+]Expose JA4 through a standard interface[/+][-]Expose JA4 through a standard interface[/-][+]Expose JA4 through a standard request interface[/+]aram356 commentedon Nov 10, 2026
Explore foxio for potential integration
Correct ticket order, priority, size and MVP scope in the identity plan
aram356 commentedon Nov 13, 2026
CREATOR: This issue is now part of #468, server-side identity on every adapter. It is planned in wave 3 (MVP: Fastly and Axum); priority P1, size M.
Blocked by:
Blocks:
Related pull requests:
Design: spec; order and dependencies: plan.