OpenAI announces textGrain, its own text watermark, with a gated detector
Published 7 October 2026
On 5 October 2026 OpenAI published its approach to text watermarking under the EU AI Act. Its scheme is called textGrain and is OpenAI's own, not SynthID. From that day API customers worldwide can opt in for select models, with watermarking off by default; over the coming weeks OpenAI will add the mark to eligible ChatGPT and Codex text in the EU only. The detector is not public: approved researchers and expert organisations can apply, case by case[14].
What changed
Until this post, OpenAI's provenance page covered images and audio and did not mention text. On 5 October it gained an update note pointing to the new post[9]. textGrain adds an invisible statistical signal to the model's word choices and inserts no hidden characters[15]. OpenAI publishes detection figures: at a 1% false positive rate, about 80% of 200-token passages and 95% of 400-token passages were detected; replacing 25% of words with synonyms cut detection to 17%, and mathematics is detected substantially less often than prose[14]. API customers switch the mark on per organisation or per project and choose the models. Enabling it does not grant detector access[15].
What it means
OpenAI's text row in our tracker moves from None to Partial, with a Gated detector. For the public, nothing changes yet. There is still no text watermark detector anyone can run for OpenAI or Anthropic; Google's open SynthID library remains the exception[14][1][4]. OpenAI also states what a watermark does not show: who the user was, how much a person contributed, or whether the text is accurate. A missing watermark does not prove human authorship[14]. The tracker.
What is still not known
Which models are "select" is shown only inside the API settings, which we have not seen. OpenAI's help centre already describes EU ChatGPT text as watermarked, while the post says the rollout takes weeks; we do not know when it completes[15]. OpenAI says it plans to open-source textGrain and gives no date[14]. What to do if a detector flags your text.
Sources
Last verified against primary sources: