Without a separator, UA='foobar'+AL='' and UA='foo'+AL='bar' produced the same HMAC input, allowing a token fingerprint to match a different header split. Fix: use '\x00' as separator between user_agent and accept_lang fields. Regression test added: test_fgp_no_concatenation_collision (FGP-05). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>