How it works

DetectMark is a static site with two consent-gated relays, one for provider verification and one for the rewrite. Scanning and cleaning run as code in your browser tab, and no server receives your content during a scan or a cleanup. The exceptions are the optional OpenAI requests described below, each of which runs only after you confirm in a dialog.

WHAT LEAVES YOUR DEVICE
Your text / image Browser memory Result, locally 0 B uploaded
  • No account required
  • No file storage
  • No text retention
  • Works offline after first load

The exceptions: provider verification and the rewrite

Some watermarks can only be verified by the provider that made them. One such check is live on this site: OpenAI's Content Provenance API, which verifies the SynthID watermark and the Content Credentials that OpenAI embeds in its own images. If you request it after a local image scan, DetectMark shows exactly what would be sent and where, and asks before sending. It never happens automatically, and it never runs on a cleaned copy. That check covers OpenAI-supported signals only: a not-detected result says nothing about other providers or about a file whose marks were stripped.

Send this image to OpenAI’s verifier?

the original file · its exact byte count · api.openai.com · nothing else included

This is the dialog that gates the check, filled in with the real file name and byte count of the image you selected. The same dialog gates the text rewrite, with the character and byte count of the text. Both pass through a relay on this domain that forwards to OpenAI and keeps nothing. Anthropic's text detector is in private preview; when DetectMark gains access, the same dialog will gate it.

01 · SCAN

Text is decoded to Unicode code points; images are parsed for EXIF, XMP, C2PA and format-specific chunks.

02 · CLASSIFY

Every finding maps to one of four states: Clean, Found, Unknown, Unsupported. No probabilities, ever.

03 · CLEAN

Removable marks are stripped and receipted. Anything not removable is labeled unchanged, never hidden.

04 · VERIFY OR REWRITE (OPTIONAL)

Two consent-gated requests, never automatic. Verify: the original image goes to OpenAI’s Content Provenance API, for OpenAI-supported signals only; a not-detected result says nothing about other providers. Rewrite: the text goes to OpenAI for a full rewrite, shown with a count of how much wording changed and no claim about what it removed.

What we cannot remove The honest limits, on their own page /what-we-cannot-remove

Questions about privacy