Prove Who Made It.
Block AI. Stop Fakes.

MetaImageUp signs your photos with a cryptographic RSA signature, an invisible watermark, a perceptual hash, and AI-rights protection — all embedded directly inside the image file, entirely in your browser.

100% browser-side No uploads ever RSA-2048 encryption AI training blocked

How It Works

No account needed. No server storage. Everything from key generation to verification runs in your browser.

1
Get Your Keys

Generate a personal RSA-2048 key pair — your private key signs images, your public key lets anyone verify them. Done in seconds, entirely in your browser.

Get Keys
2
Sign Before Sharing

Load your image and sign it. MetaImageUp embeds four protection layers — RSA signature, invisible watermark, perceptual hash, and AI-rights flags — all inside the PNG file. Share the file and the proof travels with it.

Sign Image
3
Anyone Can Verify

Drop any image to verify. The report shows who signed it, when, whether it was edited or screenshotted, and whether the AI-rights assertion is intact — no account, no login required.

Verify Image

Four Protection Layers

Every signed image carries all four layers simultaneously. Each layer detects a different type of attack.

RSA Cryptographic Signature

An RSA-2048 digital signature of the full image manifest proves you are the creator. Any change to the metadata — even a single byte — immediately invalidates the signature.

Detects: metadata tampering
Invisible LSB Watermark

A hidden message is embedded in the blue channel of image pixels. Invisible to the eye, it survives minor edits but is destroyed by screenshots — letting the app know when an image was re-captured.

Detects: screenshots & re-encoding
Perceptual Hash

Three image hashes (SHA-256, pHash, dHash) create an exact and near-exact fingerprint of the pixel content. Even a single edited pixel shifts the SHA-256 hash. pHash detects crops, filters, and colour edits.

Detects: pixel manipulation
AI Rights Protection

Three signals embedded together: XMP rights block (read by Adobe Firefly and XMP-aware tools), plain-text ai_training=notAllowed PNG chunks, and a signed manifest assertion — all declaring no AI training or data mining.

Signals: no AI training/mining

What Each Verdict Means

When you verify an image, MetaImageUp returns one of five verdicts.

AUTHENTIC

RSA signature is valid, pixel hash matches exactly, and invisible watermark is intact. This is the original, unmodified file exactly as it was signed.

LIKELY SCREENSHOT

Signature is valid and content looks similar, but the invisible watermark is gone — the image was probably screenshotted or re-exported, not shared as the original file.

MODIFIED

RSA signature is valid (signer is real) but the pixel hash has changed — the image was edited, filtered, cropped, or manipulated after it was signed.

TAMPERED

The RSA signature does not match — the metadata (creator name, email, timestamp, AI rights) was altered after signing. The image is not what it claims to be.

UNSIGNED

No MetaImageUp signature was found. The image has never been signed with MetaImageUp, so authenticity and AI rights cannot be verified.

TIP: Share the original file

For an AUTHENTIC result, always share the original signed PNG file — not a screenshot or re-save. The file itself carries the signature.

Use Cases

Photographers

Sign every photo before posting. Prove original authorship when images are stolen, cropped, or published without credit.

Journalists & Media

Prove a news photo was not altered. Timestamp and sign evidence images for publications or legal proceedings.

AI Protection

Embed XMP rights blocks and signed “no training” assertions that Adobe Firefly and other XMP-aware AI tools will read and respect.

Legal & Evidence

Cryptographically timestamp documents and images for use as tamper-evident digital evidence. The RSA signature proves the date of signing.

Brand & Marketing

Sign official marketing assets so clients and partners can verify they have the authentic, unmodified version directly from your brand.

Social Media & Chat

Sign images before sharing on WhatsApp, Telegram, or X. Recipients can drop the file into MetaImageUp to confirm it was not tampered with.

Your Data Never Leaves Your Device

Images are loaded and processed by your browser’s Canvas API — never uploaded.
Private keys are generated by WebCrypto and exist only in your browser tab.
Signatures are computed locally with your CPU — the server never sees them.
Verification runs entirely in your browser — no file is sent anywhere.
No account is needed. No tracking. No cookies beyond what Flask requires.
The server only serves HTML, CSS, and JavaScript — it is stateless.
Ready to protect your images? Three steps: generate keys, sign an image, share with confidence.