httpjames
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.
Could you clarify this a bit more? What I think you mean is preventing someone else from loading the thread history, even if they have a thread URL that you created. Because otherwise, there would be no point in loading a thread with no history.
Due to the complexity of assistant features, the entirety of thread data cannot be transferred with cookies. The size limitations make this impossible (4KB). Using i.e. localstorage would work, however this would lock the "incognito" feature to requiring JavaScript, among other downsides.
Assuming I have all the above correct, then there are other ways we can prevent unintended loading/leaking of threads, for instance having a separate "thread session" signature in cookies that we verify - something along those lines - that would tether the thread to only being readable by the current browser session, impossible for anyone else to read.