How can we validate that the API is interpreting correctly the encrypted_content that we provide back? The models appear to be deeply instructed to not discuss this topic, and when asked to validate if they received encrypted content, I could not get them to say yes. Well, I have had them respond yes from time to time, but I have no idea if this was just to please me… In my tests, I was able to confirm that a corrupted content would return an error.
This leads me to 2 questions:
- Is the
encrypted_contentmeant to be provided back in the same order it was received (i.e. just before the assistant’s response), or should it be used to condition the user’s reply? - If the
encrypted_contentis meant to be used before the assistant’s response, do newencrypted_contentreplace previous ones, or is it preferable provide the full sequence? In other words:
dev; user; reasoning; assistant; user; reasoning; assistant;user;
or
dev; user; assistant; reasoning; user; assistant; reasoning;user;
or simply:
dev; user; assistant; user; assistant; reasoning;user;
I am also growing skeptical about the benefit of providing reasoning back. In all my tests, I saw no improvement or bias from the encrypted_content(o3 or gpt-5).
For example, I tried this test:
curl https://api.openai.com/v1/responses -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d '{
"model": "gpt-5",
"input": [
{ "role": "user", "content": "I really love tortoises. Why do you think they are my favorite animal?" }
],
"store": false,
"include": ["reasoning.encrypted_content"],
"reasoning": {
"effort": "high",
"summary": "auto"
}
}
(extract encrypted_content and id)
Followed by:
curl https://api.openai.com/v1/responses -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d '{
"model": "gpt-5",
"input": [
{
"type": "reasoning",
"id": "rs_68b7bdf4e5d8819ab25be92948e32f86053208f064d6059b",
"encrypted_content": "gAAAAABot74GTtXuOd8gA2qhQIq...==",
"summary": []
},
{
"role": "user",
"content": "Guess my favorite animal, hint - it is either an octopus, a horse or a tortoise? One word only."
}
],
"store": false,
"reasoning": {
"effort": "minimal"
}
}'
In my test, this fails (it picks the octopus) - while I would expect the reasoning context to provide at least some kind of bias.
How can we test that the encrypted_contentis being used correclty?