Build2 distinct publishers3 min readPublished
A reverse engineer says Cocreator embeds a 16-byte GUID handed out by a Microsoft moderation endpoint into images the NPU generates locally. Local inference and private inference are not the same purchase.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
Network monitoring is the wrong instrument for this, and it fails in a specific direction. It would catch the outbound leg: Paint sends the prompt and the chosen style to a Microsoft moderation endpoint before the local model runs, and rejects the reply if either returned ID is all zeros [4][20]. Microsoft's own documentation already says the feature needs a signed-in account and an internet connection while the NPU does the generation [9]. What no egress rule catches is the return leg, because the server's chosen value leaves the process as pixels in a file [5].
The encoding tells you how hard it is meant to be to remove. Li describes a 144-bit message assembled from the GUID plus a prefix and a checksum, distributed through small changes to selected image blocks with each bit written at least three times, imperceptibly rather than as metadata [7]. A 16-byte identifier is 128 bits, so 16 bits of that message are framing [24], and the triple-placement rule puts a floor of 432 bit writes into the image [25]. That is a design intended to survive re-encoding, which is exactly what C2PA calls a soft binding: provenance that can still be matched after embedded file metadata is stripped [12]. The same watermarkId also appears in the signed C2PA manifest, in an assertion naming the algorithm com.microsoft.invismark.1 [11].
Then there is the failure philosophy, which is where the invariant gets interesting. In Paint, a watermarking failure is converted into a failure of the whole generation, so by design an unmarked image does not exist [6][18]. The same Watermarker.dll turns up in Microsoft Photos, where the dev.to writeup reports the code logs the error and carries on returning the image [15][19]. One library, two contracts. Anyone reasoning about "all output from this pipeline is marked" is reasoning about a per-app decision, not a platform guarantee. The user-facing control does not help either: the toggle for the visible Copilot logo runs a different code path and does not govern the pixel-level mark [8].
On sourcing, be careful. Both accounts trace to one analysis, published on August 24th by Xusheng Li, a core developer of Binary Ninja who leads its debugger work at Vector 35 [1][2], against Paint 11.2605.71.0, which ships encrypted ONNX models including a 302.4 MB image generator [3]. The dev.to writeup says its author does not own a Copilot+ PC and did not reproduce the work [22]; it reached the top of Hacker News with more than 500 points [21]. Li does not claim the GUID identifies a person, and describes the end-to-end reuse of one server-assigned value as the stronger finding [16]; nor does the analysis establish that the shipped code matches Microsoft's published InvisMark repository [13].
The gap that matters for anyone writing assurances is narrower than the headline. Microsoft discloses the C2PA manifests, the cloud filtering, and the collection of prompts with device and user identifiers, but not the pixel-level encoding, and not that the moderation response supplies the value written into local output [14]. So the audit target is the saved artifact, in every format the app writes [23], and the question is whether anything in it came from a server.
Ranked by verification strength, evidence, and original report placement.
Microsoft Paint and Microsoft Photos embed server-issued identifiers into the pixels of AI images generated on a user's device, according to reverse engineering published on August 24th by security researcher Xusheng Li.
Before the on-device model runs, Paint sends the prompt and selected style to a Microsoft moderation endpoint; the response includes a revised prompt, a prompt-generation ID and a separate watermarkId, each formatted as a GUID.
After the device's neural processing unit generates the image and output safety checks run, Watermarker.dll writes the 16-byte watermarkId into the image pixels.
Paint treats a watermarking failure as a failure of the entire generation rather than returning an unmarked image, Li found.
Paint's visible-watermark menu follows a different code path: users can choose whether Paint adds a Copilot logo to the corner, but that preference does not control the pixel-level watermark.
Microsoft's documentation says the NPU generates images locally while Azure services perform safety checks, and Microsoft requires a signed-in account and internet connection and says it collects prompts plus device and user identifiers for abuse prevention and monitoring.
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Specific reverse engineering, single primary chain
The technical detail is unusually concrete and checkable in principle: named binaries (Watermarker.dll, PaintAIManager.dll, AIServices.dll, ProvenanceHelper.dll), app versions, a 302.4 MB ONNX model, a 16-byte GUID, a 144-bit message with prefix and checksum, and a c2pa.soft-binding assertion naming com.microsoft.invismark.1 that was observed in an actual PNG. It also aligns with Microsoft's own documented requirement for sign-in, connectivity and cloud safety checks. What holds the score down is dependence: both cluster sources trace to one researcher's writeup, the dev.to author says he did not reproduce it, no Microsoft response appears, and the report itself declines to claim parity with Microsoft's published InvisMark code.
Shipping in two default Windows apps, no usage figures
The behavior is not a prototype: it is present in shipping, versioned Microsoft Paint (11.2605.71.0) and Microsoft Photos (2026.11060.2004.0) builds on Copilot+ PCs, is on by default, and has no documented user-facing off switch, which implies every image generated through the normal path carries the mark. Against that, no source provides install counts, Copilot+ PC volumes, generation volumes or any enterprise deployment data, and the Hacker News traction measures practitioner attention rather than adoption of the feature.
Framing runs ahead of the identification evidence
The mechanism is real and well specified, but the strongest framing in the cluster, dev.to's 'stamps a tracking ID', asserts tracking capability that the underlying analysis does not demonstrate. runtimewire.com states plainly that a GUID alone does not prove an image identifies a particular person and that the durable finding is end-to-end reuse of a server-assigned value; neither source shows server-side linkage of watermarkIds to accounts, and Microsoft's documentation says inputs and generated images are not stored. The chaining of lastPromptGenerationId makes the concern plausible rather than proven, so the overstatement is modest and partly self-corrected within the cluster.
Vendor provenance mandate plus derivative engagement-seeking coverage
Microsoft has a disclosed institutional interest in durable AI provenance as a C2PA participant that publishes InvisMark research and labels manifests 'Microsoft Responsible AI', which explains a fail-closed watermark with no opt-out and is stated in the sources rather than inferred. On the reporting side, the dev.to piece is an admittedly unreproduced retelling pegged to a Hacker News hit with an alarm-toned headline, giving it an attention incentive; runtimewire.com is more restrained and foregrounds limits. The primary researcher's affiliation with a commercial reverse-engineering tool vendor is disclosed but no source characterizes any motive, so that is context rather than a measured distortion.
Mechanism credible, corroboration shallow
Confidence is moderate because the technical account is internally coherent, artifact-grounded and partly consistent with Microsoft's own documentation, and because both publishers converge on identical details. It is capped well below high because the two sources are not independent, no vendor comment or third-party reproduction exists, one publisher hedges Photos behavior with 'appears to', and the privacy consequence that drives the story's framing remains an inference from identifier reuse rather than an observed linkage.
build
A 14,000-star watermark remover, and no detector to test it against1 distinct publisher
build
C2PA proves who signed, not what was true: Content Credentials are provenance, not AI detection1 distinct publisher
build
Mojo's compiler went Apache 2.0 fifty-five days after Qualcomm's $3.92bn deal1 distinct publisher
build
Google Makes the Visible Watermark Optional. Your Pixel Check Is Now Decoration.1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 24, 2026
runtimewire.com
1 article · August 24, 2026