# ADR-0006: BDI JWS profile — algorithms, critical header, thumbprint

# Context

Interoperability between heterogeneous operators only works if the JWS profile is narrow and explicit. RFC 7515 itself permits a wide range of algorithms and header behaviours, and most of those choices become attack surface the moment two operators disagree on them. At the same time, we don't want to be so restrictive that we rule out operators with reasonable production crypto stacks.

This ADR captures the line we drew.

# Decision

The profile is enforced by @transportial/kernel/crypto-types/jws-header.ts and @transportial/crypto/src/jws.ts:

The crit header is the important part: every verifier rejects any JWS that doesn't carry a known profile version. That's what gives us a safe upgrade path when we eventually need to roll out v2.

# Consequences