wyper.io ← back to wyper.io
Transparency

How we label AI content

We sell a tool that traces where things came from. It would be absurd not to say where our own material came from. This page is the full answer, including the parts that are inconvenient.

Last updated 16 August 2026.

The short version

WhatMade with AI?How it is labelled
Every image on this site
logos, icons, product art, promo graphics, blog illustrations
Yes. All of it is AI-generated.IPTC DigitalSourceType written into the file itself, plus this page and the note in the footer of every page.
Blog articlesDrafted by AI, then checked and released by a person before publication.A visible "AI transparency" box at the top of every post, plus machine-readable markup in the page.
Blog illustrationsYes, image model.The words "AI-generated" are burned into the picture, plus file metadata and a caption.
Short videos we publish on social platformsPartly. One is rendered from code with no generative model in it. Another mixes that with AI-generated background footage.Labelled individually, per video - see below. They are not embedded on this website.
The text you are reading now, and the rest of the site copyWritten with AI assistance, edited and signed off by a person.This page.
Fact-check verdicts and @Wyper_check repliesYes - that is the product. Two AI models produce them.Stated in the product itself: every verdict names the models and links its sources.

Why the video labels are not all the same

Because a blanket label would be a false statement, and we are not going to make one of those on a transparency page.

Same reasoning everywhere: we label what is actually generated, not everything within reach of the word "AI".

The same goes for the file markers described below: they are written into images. The two video files are labelled where they are published rather than inside the file, because writing a marker into an MP4 container needs tooling we do not currently run. We would rather say that than let you assume otherwise.

What is in the files

Human-readable labels get lost the moment an image is copied somewhere else. So the marker is written inside every image file, in the field the IPTC standard defines for exactly this:

Iptc4xmpExt:DigitalSourceTypetrainedAlgorithmicMedia
photoshop:CreditAI-generated - wyper.io

This is the same value Google writes into images from its own models, and the same one our AI Spotter reads.

We tested this against our own tool, and it is worth being precise about the result

Drop any picture from this site into the web app and the report lists the marker under file metadata. But the headline verdict still reads "not determinable" - and that is correct, not a bug.

A metadata marker is self-declared. Anyone can write one into any file, including into a genuine photograph in order to discredit it. So our scoring refuses to count it, exactly as it refuses to count an unverified signature. We label our images because the obligation is ours to meet - not because an unsigned label is proof of anything. We are not going to hold other people's files to a standard we quietly exempt our own from.

What we deliberately do not do

We do not sign our images with a Content Credential. A credential is a cryptographic signature, and a signature from a key that no trust list recognises verifies as untrusted everywhere it is checked. It would look like proof while proving nothing. A metadata marker claims less, and everything it claims is true.

What our tools can and cannot prove

Since this page is about honesty, here is the limit of the product itself.

Images: evidence, not a guess

The AI Spotter does not output "87% likely AI". It reports what can be shown: a verified signature, file metadata, where the exact file has appeared before, who documented it first. Where nothing is found, it says not determinable - because nothing found is not the same as nothing there.

NewsGuard ran 15 authentic photographs from the Iran war, published by credible outlets, through 5 detection tools. Together they declared 13.3% of those real photos AI-generated. One tool (ScamAI) got 6 of 15 wrong - 40%; two others (Hive, Sightengine) got all 15 right. Source

Read that carefully, because it is not "detectors are useless". It is: some are, and you cannot tell which one you are looking at. Fifteen images is also a thin study. It is enough to justify not shipping a classifier. It is not evidence that our own approach is sufficient - that is a separate claim, and this one does not carry it.

Text: we do not offer it, and here is why

We measured whether AI-written text can be detected reliably: 120 forum comments written and timestamped before ChatGPT existed (so provably human) against 120 freshly generated ones, matched for length.

A signal exists, but it is not usable. Set the threshold so that no real human is ever falsely accused, and only 14% to 29% of AI text is caught. Worse: adding one sentence to the prompt - "write so it cannot be told apart" - drove the suspicion score below that of real humans. Detection dropped to zero for exactly the case where a tool would be needed.

So we do not ship it. An image can carry a signature you can verify. A piece of text carries nothing - there is nothing to check, only something to guess at, and the guess can be switched off by whoever wants to fool it. Full method, every number and the raw per-text data - because citing someone else's study to a standard we did not hold our own to would be exactly the kind of thing this page is against.

The quote check: what it proves, and what it does not

When a report cites a sentence from a source, that sentence is matched character for character (after case and whitespace normalisation) against the source text. If it is not found, the finding is discarded rather than shown. That part is real and it is not decoration - it is what stops a model from inventing a supporting quote.

But the wording here used to be stronger than the code. Until 20 August 2026 this site said "every source is opened and read". That is not what happens. The sentence is checked against the text our search provider returned for that URL, and that excerpt is capped in length. We do not re-fetch the page ourselves.

So three things are not proven by a passing quote check:

  • that the sentence is on the live page right now - the page may have been edited since;
  • that the page was read in full - a quote past the excerpt cap is invisible to us;
  • that the cited URL is the original rather than a syndicated or mirrored copy carrying the same text.

This was found by reading our own code after an outside critique, not by a test catching it. The wording was corrected the same day - and the measurement now exists: 633 real citations re-fetched and judged, with the raw data. Short version: 73.1% verbatim on the page, 19.0% pages we cannot read at all, 6.43% of readable pages did not carry the quote - and a quarter of those failures turned out to be our own search provider's formatting, not a bad citation.

Why write this down instead of quietly rewording the site: a tool that judges other people's evidence has no business being vague about its own. And a claim that outruns its implementation is exactly the failure we refuse to ship in a detector.

Which sources we look at

We do not filter sources by origin. No bonus for legacy outlets, no shortcut through fact-checkers, no exclusion of positions because they are unpopular. That was a claim about ourselves until 21 August 2026, when we measured it against 24 claims whose primary document we named in advance.

63 % of everything the search returns is a primary source - courts, ministries, central banks, journals, datasets. Legacy media 14 %. Fact-checkers 1 %, a single hit across all 24 claims. Position 1 was a legacy outlet in 1 of 24 cases. Non-English roots were reached 6 out of 6, each time the responsible institution itself.

Heterodox positions get primary literature rather than a summary of the consensus - for the minimum-wage debate, the Card/Krueger papers themselves. The one place it did not reach: criticism of the WHO pandemic treaty, where the search returns reporting about the position instead of the position. Full method, every number, raw data - including the part where our own first evaluation was wrong.

The rule we hold ourselves to

Label what is generated. Do not label what is not. Do not claim more certainty than the evidence carries - about other people's content or about our own.

Something here inaccurate or incomplete? Write to support@wyper.io and we will correct it.

This page describes what we do. It is not legal advice, and it is not a statement on anyone else's obligations.