Legal

Privacy

Short, because there is very little to describe.

Files you process

Your images and videos are read in your browser with the File API, decoded to a canvas, and processed by JavaScript running on your own device. In normal use they are never transmitted: there is no storage bucket and no processing queue.

Nothing is written to disk unless you press download, and the browser tab discards everything when you close it.

The one exception: codec conversion

Some videos cannot be opened in a browser at all. H.265/HEVC — the default recording format on most modern phones — has no decoder in Chrome on Android and several other browsers. No amount of local JavaScript can read those files.

When that happens, and only when it happens, you are offered a button to convert that single file on our server. Pressing it uploads that one file. Declining sends nothing at all.

If you use it, this is exactly what occurs:

  • The file is received into the operating system's temporary directory under a random name.
  • ffmpeg re-encodes it to H.264/AAC.
  • The converted video is streamed back to your browser.
  • Both the original and the converted file are deleted before the response completes. This runs on a shutdown handler, so it happens even if the conversion fails or errors.

Nothing about the file is logged, indexed or kept. No copy is retained, and the watermark removal itself still happens locally afterwards — the server only ever changes the container and codec.

The endpoint is /api/transcode.php. If you would rather it did not exist at all, set TRANSCODE_ENABLED to false in includes/config.php, or delete the file. The rest of the tool is unaffected; unsupported videos then simply report that they cannot be decoded.

What is stored on your device

  • unmarkai-theme in localStorage — whether you chose light or dark. That is the entire list.

No cookies are set. No session is created. No fingerprint is taken.

Analytics and third parties

There is no analytics script, no tag manager, no advertising pixel and no error-reporting service. The single external request the page makes is to Google Fonts for the typefaces; if you would rather not make that request, self-host the two font files and change the <link> in includes/header.php.

Server logs

Whoever hosts this deployment may keep standard web-server access logs — IP address, timestamp, requested path, user agent — as almost every web server does by default. Those logs record that you loaded a page. They cannot record what you processed, because what you processed never reached the server.

Verifying this

Do not take the above on trust. Open your browser's network tab, process a file, and watch the request list stay empty. Or load the page once, disconnect from the internet, and remove a watermark offline.

The only request you will ever see carrying your media is the conversion described above, and only after you press the button that warns you about it.

Contact

This is a self-hosted, open build. Questions about a specific deployment go to whoever runs that deployment.