Article 50 of the European AI regulation requires generated content to be labelled so that both a human and a machine can tell. The requirement arrived; the tool did not.
The task
A WordPress site owner could either draw captions by hand in an image editor or label nothing at all.
Manual labelling breaks down at the first hundred images and produces no machine-readable signal — which is precisely what automated systems check.
The approach
Two labels rather than one. A visible badge over the image for people. A Digital Source Type = trainedAlgorithmicMedia entry in the file metadata for machines. The regulation speaks about machine readability directly, and a caption alone does not satisfy it.
The badge never touches the file. It is drawn as a layer over the image and remains its sibling rather than a wrapper around it — so it physically cannot change the image’s size, shift the layout or cause overflow, whatever the theme does with that image. For those who need the label inside the file there is a separate burn-in mode, with a backup of the original.
Bulk labelling in the media library. A thousand files are marked by selection, not one at a time.
Six interface languages: German, Russian, Ukrainian, Spanish, French and Polish.
The result
The plugin runs on client sites — including Omega Capital, where it labels the images on the home page. It is being prepared for release as a commercial product.
The side effect turned out to matter more than the main one. A requirement usually treated as a burden became a mark of seriousness: a site that honestly labels its AI images looks more grown-up than the neighbour pretending to have drawn them.