Yavqo GuardID

A tool to watermark and identify content you create

Try in GuardID Detector

What is GuardID?

Your photos can be copied in a second and stripped of every caption, filename and metadata field. But it can be hard to prove which images are yours once they are out in the world.

GuardID is Yavqo's watermarking tool, built for images you create. It embeds an invisible digital signature directly into the pixels, empowering anyone to identify protected content — helping to foster transparency and trust in what you see online.

Images you create

GuardID adds an invisible digital watermark to any image you protect. The watermark doesn't change the image quality. It's added the moment the image is processed, and travels with the PNG wherever it goes.

Shared anywhere

Post it, message it, embed it. The signature lives in the pixels themselves — no metadata, no file name, no caption needed to keep proof of origin attached.

Verified in seconds

Anyone with the GuardID detector can check an image and read back the exact ID stamped into it — or confirm that no GuardID signature is present.

How GuardID works

GuardID embeds digital watermarks directly into images. The watermarks are encoded across the pixels themselves, are imperceptible to humans — but can be detected by GuardID's technology.

Each protected image carries a unique ID — a date plus a random signature — stamped into the least-significant bit of every color channel. Saving as PNG preserves the signature; lossy re-encoding like JPEG does not, which is why GuardID always hands you PNG output.

01

LSB embedding

The last bit of each R, G and B channel carries the payload. A ±1/255 change is far below what any screen or eye can resolve — the image looks identical.

02

Key-scrambled signature

A bit stream derived from GuardID's product key scrambles the payload, the way SynthID's key is baked into Google's tools. Without it, the hidden bits look like noise.

03

Detect, don't guess

The detector reads the bits, unscrambles them, and checks the GID1 signature header. It either recovers the exact watermark ID or reports the image as unprotected.

Detecting GuardID watermarks

Want to check if an image was protected by GuardID? Drop it into the detector and it will tell you if it finds a signature.

The GuardID Detector reads the hidden bits, verifies the signature and reports the exact ID stamped into the image — or confirms that the image carries no GuardID watermark. No accounts, no uploads to a server: detection runs on your device.

Drop a PNG hereor click to choose a file — detection runs in your browser

Watermark format reviewed with

Yavqo ResearchC2PAOpenSSFW3C

Hands-on

The watermarking engine is finished, tested, and running. The GuardID API is live on this site, and @yavqolabs/guardid is on npm — protect and verify images straight from your own pipeline.

Both share the same signature key and bit format, so an image protected with the npm package verifies through the API and vice versa. Sign up below for updates on the hosted detector and frequency-domain watermarks.

Live now

GuardID API

Two endpoints on this site take an image and return it stamped with a unique, invisible GuardID signature — plus a verify call that reads it back.

curl -X POST http://localhost:3000/api/v1/watermark \ -H "Content-Type: image/png" \ --data-binary @photo.png → { "id": "GuardID · 2026-11-01 · A7F3C2D1", "png": "<base64 watermarked PNG>" } curl -X POST http://localhost:3000/api/v1/verify \ -H "Content-Type: image/png" \ --data-binary @photo.png → { "watermark": "GuardID · 2026-11-01 · A7F3C2D1" }
Live now

@yavqolabs/guardid

The same engine as a zero-dependency npm package, so watermarking runs inside your own apps — in Node or the browser — with no server round-trip.

npm install @yavqolabs/guardid import { protect, verify } from "@yavqolabs/guardid"; const { png, id } = await protect(pngBytes); const found = await verify(maybeStamped);