From cfe6ea46e220e277a743f0057f7514b3863d14a5 Mon Sep 17 00:00:00 2001 From: Jabber Developer Date: Fri, 1 May 2026 17:05:44 +0000 Subject: [PATCH] feat(ai): disable request storage via store:false parameter Add store:false to AI API requests to prevent OpenAI, Perplexity, and other providers from storing conversation data or using it for training. Both the OpenAI Responses API and Perplexity API support the store parameter to control whether requests are persisted. Setting it to false ensures conversations remain private and are not retained by the provider. Privacy: - Requests are not stored by AI providers - Conversations are not used for model training - Aligns with CProof's privacy-first design --- src/ai/ai_client.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ai/ai_client.c b/src/ai/ai_client.c index 9bc6b176..be902f90 100644 --- a/src/ai/ai_client.c +++ b/src/ai/ai_client.c @@ -546,8 +546,9 @@ static gchar* _build_json_payload(AISession* session, const gchar* prompt) { - /* OpenAI-compatible format with messages array: - * {"model": "...", "messages": [...], "stream": false} */ + /* OpenAI-compatible Responses API format: + * {"model": "...", "input": [...], "stream": false, "store": false} + * store:false prevents providers from storing/using requests for training */ GString* messages_json = g_string_new(""); GList* curr = session->history; @@ -574,7 +575,7 @@ _build_json_payload(AISession* session, const gchar* prompt) auto_gchar gchar* escaped_model = ai_json_escape(session->model); gchar* json_payload = g_strdup_printf( - "{\"model\":\"%s\",\"input\":[%s],\"stream\":false}", + "{\"model\":\"%s\",\"input\":[%s],\"stream\":false,\"store\":false}", escaped_model, messages_json->str); g_string_free(messages_json, TRUE);