OmniIndex Compliance:

How Boudica Marks AI-Generated Content


Everything Boudica writes or draws is generated by AI. Under Article 50 of the EU AI Act, AI-generated content must be marked in a machine-readable way so it can be recognised as AI-generated later. This guide explains how Boudica marks its output, what you will notice, and how anyone can check a piece of text or an image.

Output
How It Is Marked
Chat answers (on screen)


An "AI-generated" label under every answer


Chat answers (copied text)


An invisible marker inside the text, kept when you copy and paste


Chat answers (API)


An ai_generated field in the response and an X-AI-Generated: true header


Images


An invisible watermark that survives resizing and JPEG compression, IPTC metadata and, where your organisation has set up a signing key, C2PA Content Credentials


Generated files (PDF, DOCX, PPTX, XLSX, EPUB)


Document properties stating the file was generated by AI


Boudica also keeps a one-way fingerprint of every answer: short hashes of overlapping groups of words. A fingerprint cannot be turned back into the text, and it is deleted when the answer's audit record is deleted.


The invisible marker in copied text

When you select an answer and copy it, or use the Copy button, the copied text carries a short invisible marker (a few zero-width Unicode characters). It does not change how the text looks when pasted into documents, emails or chat.

  • It is never added inside code, commands, SQL, JSON or URLs, so copied code still runs.
  • Some tools strip invisible characters, and anyone can remove the marker on purpose. The fingerprint check below still works when that happens.
  • If you paste Boudica's own text back into a Boudica chat, the marker is removed before the model sees your message.



Checking whether text or an image came from Boudica

Text: send the text to /api/boudica/detect on your Boudica server:


curl -X POST https://<your-boudica-server>/api/boudica/detect --data-binary @text.txt


The answer says whether the text is AI-generated, which check matched (invisible_marker, log_match), how much of the text matched (matched_share) and the day it was generated (generated_on). It never returns the original answer, who asked for it, or the conversation. At least 8 words are needed for the fingerprint check. Heavily rewritten text may no longer match.


Images: send the image to /generated/detect on the same server. The answer reports the watermark, the metadata and any Content Credentials.


Answers written before September 2026 were not fingerprinted and will only be recognised by their invisible marker.



If you publish Boudica's output


If you publish AI-generated text to inform the public on matters of public interest, or publish images, audio or video that look real (deepfakes), the EU AI Act may require you, as the deployer, to say that the content is AI-generated. Boudica's markers help with this but do not replace a visible statement where one is required. Ask your organisation's compliance contact if you are unsure.

Written by Simon Bain, OmniIndex CEO.

All rights reserved © 2026 OmniIndex