It's important that Kagi is mindful of user data privacy when they are using Search Assistant with confidential documents, intellectual property or generally sensitive questions. Currently, it saves thread data associated with the user for authentication for 7 days, however, this is not enough for the above usecases.
In order for Search Assistant to stay compliant, there should be an "Incognito Mode" toggle, similar to how you can disable chat history on ChatGPT.
ChatGPT's "disable history" feature will disable visible history in the dashboard and exempt it from training data, but it will still keep the thread alive for 30 days for "abuse" monitoring. Search Assistant can do better.
I propose the following when the user enables Incognito Mode in Search Assistant:
- Decrease the thread TTL to 1 hour or shorter AFTER the last message. Reset this timer every time the thread is modified.
- Instead of associating the thread with the user, remove this association in the database by replacing it with bogus or a null value.
- Modify authentication for incognito threads to accept the thread ID as a token to prove that they are the intended user. Don't allow receiving history for this thread (this can probably be stored in cookies with a TTL to allow refresh persistence). Only permit appending messages to the chat.
- Increase the complexity and length of the thread ID to account for the fact that it will be the method of authentication.
By implementing the above, you will accomplish a much more private experience for sensitive queries because you will not have the information of which thread belongs to who, and since the TTL is much shorter, the user will be able to continue the conversation in a reasonable timeframe without leaving a long lasting trail in Kagi's database.