Starting November 7, text returned by the Grok API carries an invisible watermark by default. The response looks identical, there's no hidden character to strip, and no code change is needed. The mark sits in the words the model chose.
What Changes on November 7
xAI added an "Output Watermarking" page to its developer documentation, with a footer date of October 31. It says that from November 7, text generated through the Grok API will be watermarked by default.
The word default carries weight here. This isn't something a developer switches on. There's no new parameter to pass, no field in the request body, and no change to the structure of what comes back.
Seven models are named in the document: grok-4.7, grok-4.6, grok-4.5, grok-4.3, plus the three variants of grok-4.20 covering reasoning, non reasoning, and multi agent use.
Where It Applies
Coverage is broader than a chat window. xAI says all API endpoints fall under the rule, including the global endpoint at api.x.ai and the regional ones. Both the Responses API and the Chat Completions path are included.
The material being marked is broader than prose as well. Ordinary text, structured output, and the arguments a model writes when it invokes a tool all get the treatment.
That last item is worth pausing on. If your application asks Grok to produce a JSON payload for a function call, the payload sits under the same rule as a paragraph of explanation. Nothing about the mechanism treats machine readable output as exempt.
How the Mark Is Applied
Most people picture a watermark as something inserted. A string appended to the end, a zero width character wedged between letters, a comment hidden in a JSON field. Those are all removable, because they're separate objects sitting inside the text.
What xAI describes works differently. The watermark is applied while the model generates, and it slightly shifts the model's preference among tokens at each step. A token is the unit a language model reads and writes in, roughly a word fragment. There are usually several tokens that would all make sense at a given position, and the watermark nudges the pick among them.
The result is a passage that reads normally and contains no extra bytes. Copy it into another editor, run it through a formatter, strip invisible Unicode, and the mark survives, because there was never a separate object to remove. Finding it requires measuring the statistical pattern of the word choices, which in turn requires knowing what that pattern should look like.
The Header Is the Only Visible Sign
So how would anyone know which completions were marked? xAI put the signal in a header instead of the text. Responses now include an x-watermark: true header, indicating that this output was marked.
That header is useful for logging. It tells you which of your stored completions came from a watermarked call, which matters if you later need to answer a disclosure request.
It also has limits. The header belongs to the HTTP response, so it doesn't travel with the text. Paste that text into a document, and the header stays behind in your logs. Downstream, the distinction between marked and unmarked Grok output is invisible unless someone runs a detector.
Detection Returns Three Answers
xAI says its detector produces one of three outcomes: watermarked, not watermarked, or uncertain.
The third one is doing real work. A statistical watermark needs enough tokens to build a signal, and xAI states plainly that longer text yields stronger evidence. A one line reply or a compact JSON object can land in the uncertain bucket even when it was produced by a watermarked model.
Two numbers are missing from the documentation. xAI hasn't published an accuracy rate or a false positive rate for the detector. Without them, no one outside the company can say how often "watermarked" is right, or how often clean text gets flagged.
There's also no published result for text that has been edited or translated after generation. Rewriting and translation are the standard weak points for this class of watermark, since both change the token sequence the detector relies on. The document doesn't claim the mark survives either operation.
The Detection Endpoint Isn't Open
Reading the documentation, the obvious follow-up question is how to run a check. The answer is that you apply.
xAI says access goes through a form. The page doesn't say who qualifies, whether general availability is planned, or whether there's a cost. For now, the practical ability to verify whether a piece of text came from a watermarked Grok model sits with xAI and the organizations it approves.
That asymmetry shapes what the policy can do. A platform enforcing a disclosure rule can build the check into its own pipeline. An individual reader who suspects a paragraph was machine written has no equivalent tool.
Admins Can Switch It Off, With Conditions
Team administrators have a control. The console lets them disable the feature per model.
The condition attached isn't cosmetic. An admin has to confirm that a legal exemption applies to their use, and the documentation places the remaining labeling and disclosure obligations on them. Turning the switch off removes the technical mark without removing whatever duty the deployment carries.
For teams operating in the European Union, that's the part to read twice. The watermark exists to meet transparency requirements under the EU AI Act, so a team that disables it asserts that those requirements don't reach its use case.
What xAI Says, and What It Hasn't Shown
The stated purpose is compliance with the EU AI Act's transparency rules. xAI also says the watermark doesn't affect output quality or generation speed.
That second claim is company reported, and it arrives without supporting figures. The documentation presents no comparison between watermarked and unwatermarked versions on benchmark scores, on whether structured output still validates against a schema, or on how often tool calls produce correct arguments. Those are the three places where nudging token selection could plausibly show up, and none of them is quantified.
Treat the quality claim as a statement of intent rather than a measured result. It may well hold. Nobody outside xAI has published evidence either way.
What This Means If You Ship Grok Output
Three practical consequences stand out.
First, audit where Grok text ends up. If your product surfaces model output to end users, or publishes it as editorial content, the marking decision now applies to you by default rather than by choice. Knowing that before a compliance review is easier than discovering it after.
Second, don't plan on cleaning the mark out. Tools that strip zero width characters and normalize whitespace solve a different problem. There's nothing of that kind in this output.
Third, plan around the short text gap. If your use case produces two sentence answers or small JSON responses, detection may return uncertain regardless of origin, which cuts both ways. You can't rely on it to prove your output was marked, and nobody can rely on it to prove your output wasn't.
The change itself is quiet, which is the point of a statistical watermark. Nothing in a saved response will look different on November 8 than it did on November 6, and that's exactly why the documentation page matters more than the output does.






