include_obfuscation is a new parameter that lets you shut off an additional key during streaming that has a string of randomization and an adaptive lengthening of the streaming chunk. It is offered on Chat Completions.
The include_obfuscation parameter is also on responses API, but only in the “get model response by id” as a URL query parameter, not in normal response streaming. That’s the endpoint for using an existing response_id in the URL path to get a previous or background AI output, when also using stream to get it. But: it’s not an accepted parameter when you POST a request and SSE stream like normal, and Responses will give you this key regardless.
It looks like it comes along with text content events without shutoff capability now, but your tool call doesn’t get the treatment of this obfuscation method against a side-channel attack on data security:
ResponseTextDeltaEvent(content_index=0, delta='Yes', item_id='msg_1234', logprobs=[], output_index=0, sequence_number=4, type='response.output_text.delta', obfuscation='vhJAhujwn4Urs')
ResponseTextDeltaEvent(content_index=0, delta=',', item_id='msg_1234', logprobs=[], output_index=0, sequence_number=5, type='response.output_text.delta', obfuscation='rL5vR1oXv0ehQNX')
If you’re using Responses, that’s a sign that you care little about bandwidth and want multiple copies of the full response sent to you.
What is peculiar is they say “normalize payload length” as what it does. If it was a completed previous response you are streaming by calling GET with ID, it should not be in token sized chunks, but can be delivered to you in evenly-sized bytes or glyphs. If it was normalizing the length token strings, the length that it extends a responses doesn’t have coverage of those 100 hyphen tokens…