Text from the Grok API now carries an invisible watermark by default
Since November 7, text generated through the Grok API is watermarked unless a team turns it off. Here is which models are covered, how it works and who can opt out.
Since November 7, 2026, text generated through the Grok API carries an invisible watermark by default. It covers seven models, needs no change to your code, and can be switched off per model by a team admin who confirms a legal exemption applies. SpaceXSI says the reason is the transparency rules in the EU AI Act.
What changed on November 7
SpaceXSI added an “Output watermarking” page to its developer documentation, dated October 31. From November 7, every text response from the API is watermarked unless the feature has been turned off. This applies to plain text, structured output and the arguments of tool calls, on all API endpoints.
The models covered are Grok 4.7, Grok 4.6, Grok 4.5, Grok 4.3 and the three Grok 4.20 versions.
How the watermark works
Nothing is added to the text. The watermark is a slight, deliberate pattern in the words the model picks, so the text reads normally. Because it is in the word choice, copying the text or stripping hidden characters does not remove it.
Each API response also includes a header, x-watermark: true. That header is part of the response and does not travel with the text if someone pastes it elsewhere.
Who can detect it
SpaceXSI offers a detection tool that answers “watermarked,” “not watermarked” or “uncertain.” Longer text gives a clearer answer, and short replies may come back as uncertain. Access is by application. SpaceXSI has not published accuracy figures, or results for text that was edited or translated afterward.
Can you turn it off?
Yes, per model, in the developer console. Only a team admin can do it, and the admin has to confirm that a legal exemption applies. After that, any labeling duty is on the team.
The documentation is about the API. It does not say whether text from the Grok apps or Grok on X is watermarked.
Our take
If you build on the Grok API, nothing breaks and there is nothing to change. The thing to know is that text your product generates can now be identified as Grok output by anyone with access to the detector. If that matters for your use, read the documentation before deciding on the opt-out.