Skip to content

ClientInfo contract: portable client IP and TLS metadata #475

Description

@aram356

Summary

ClientInfo contract: portable client IP and TLS metadata with explicit absence, the contract part of #89.

Behavior

One accessor returns the trusted client IP, and one the JA4 fingerprint where a trusted provider supplies it (#283), on every adapter, Fastly and Axum first. JA4 is an EdgeZero abstraction, ctx.ja4(), that each adapter fills from its own source: Fastly from runtime TLS, Cloudflare from Bot Management, Axum from a trusted proxy header such as CloudFront's CloudFront-Viewer-JA4-Fingerprint set by a hop EdgeZero's checked ingress trusts, and Spin never (NotExposed). Trusted Server reads JA4 only through it.

Acceptance criteria

  • The same accessors work on each adapter as its part lands, and a JA4 header from an untrusted peer reads as absent

Dependencies

Blocked by:

Blocks:

Related

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions