Kaderlab AI Transparency Kit

Aprašymas

Article 50 of Regulation (EU) 2024/1689 — the AI Act — says a person must be told when they are
interacting with an AI system, and when what they are looking at was generated or manipulated by
one. This plugin renders those notices.

It renders one disclosure per piece of content, chosen on the page that carries it, because a
disclosure is a statement about that content and not about the site. There is no site-wide default:
which duty a page owes is a judgement about your own system, and this plugin does not make it for
you.

What it does not do. It does not tell you, or a reader, that your site meets article 50. Whether
it does is for a qualified professional to say. This plugin gives you information and structure; it
gives you no verdict, and it is not legal advice.

How you place a disclosure

  • A block. „AI disclosure”, in the block inserter. Choose the disclosure and the language in the
    block sidebar.
  • A shortcode. [kaderlab_ai_disclosure kind="ai-interaction" locale="en"], anywhere a shortcode
    runs.

Both read the wording from the plugin on every visit. Nothing is copied into your post, so a
corrected wording reaches pages that are already published — which is the whole reason the block
stores your two choices and none of the words.

The disclosures

One per duty the article names: an AI system a visitor is interacting with (art. 50(1)), generated
or edited image, audio or video (50(2)), a deep fake (50(4)), AI-generated text published as news
(50(4)), an emotion-recognition system (50(3)) and biometric categorisation (50(3)). Each ships in
English and Dutch.

Privacy

The plugin stores nothing about a visitor, sets no cookie and makes no network call. A disclosure is
read from a file inside the plugin and rendered on your server.

Who makes it

Kaderlab is a trade name of AVS Digital, a one-person Dutch business (KvK 67123783). The software is
written by one person working with AI automation. The disclosure wording is not written here at all:
it is the text of Article 50 itself — see the FAQ.

Source code

This plugin ships one compiled JavaScript file, blocks/ai-disclosure/editor.js, which registers
the block in the editor. Its human-readable TypeScript source ships inside this plugin too:

  • Source of blocks/ai-disclosure/editor.js: src/block/editor.ts
  • Build, from the plugin directory: tsc --target ES2020 --lib ES2020,DOM --module none --strict --removeComments --newLine lf --outDir blocks/ai-disclosure src/block/editor.ts

The build is plain tsc with module: "none" — no bundler and no minifier — and the plugin’s
test suite runs exactly that command on the shipped source and compares the result byte for byte
with the file shipped here.

The disclosure wording is not compiled from anything: it is copy/disclosures.json, read as it is.

Licence

GPLv2 or later. The canonical text is at https://www.gnu.org/licenses/gpl-2.0.html, and no copy of
it ships inside this plugin: a licence transcribed rather than fetched is a licence that might not
be the one it names.

Blokai

Šis įskiepis suteikia 1 bloką.

  • AI disclosure Shows one AI Act art. 50 disclosure. The wording is read from the plugin on every visit, so a correction reaches pages that are already published.

Diegimas

  1. Install and activate the plugin.
  2. Add the „AI disclosure” block to a page, or place the shortcode in a template.
  3. Choose which disclosure the content owes, and the language of the page it sits on.

There is nothing to configure site-wide, and the settings screen deliberately has no settings: it
reports the state of the disclosure wording and nothing else.

DUK

Where does the wording come from?

From the Regulation. Each disclosure is the operative wording of the paragraph of Article 50 that it
serves, taken from the official language version for its own locale — the English text from the
English version, the Dutch from the Dutch — with the form of address and the sentence structure
adjusted so that it reads as a statement to your visitor rather than as a duty on you. Every one of
those adjustments is recorded next to the text in the plugin’s own catalogue file as an edit, and the
plugin’s own test suite re-applies every one of them to the official quote and fails unless the
result is the shipped wording exactly. At run time the rule works the other way round: a disclosure
whose wording is not adopted from the Regulation renders nothing at all.

I placed a disclosure and nothing appears. Why?

Either the block is not configured, or its wording is not adopted from the Regulation. Neither the
block nor the shortcode has a default disclosure or a default language, so an unconfigured one renders
nothing and says so in the editor. Separately, the plugin renders nothing for any wording that is
not the Regulation’s own until a qualified professional has reviewed it: an unreviewed legal sentence
on your site in your name is worse than no sentence. The settings screen lists every disclosure and
says which languages it is shown in, so you can see the answer without a reader telling you.

Which disclosure does my page need?

That is a question about your own system and your own use of it, and this plugin will not answer it.
Neither the block nor the shortcode has a default disclosure: an unconfigured block renders nothing
and says so in the editor.

Does it check whether my site meets the AI Act?

No. It renders a notice; it does not inspect your site and it reaches no conclusion about it. Ask a
qualified professional.

Can I change the wording?

Not from the plugin, and that is the point of it. Both halves of this product read one catalogue file,
so the words on your page are the Regulation’s own and not a paraphrase — two transcriptions of one
legal text become two different claims, and only one of them can be the right one. If your notice
needs different words, that is a conversation to have with a qualified professional.

Is my visitors’ data collected?

No. No cookie, no request to any server, nothing stored.

Atsiliepimai

Įskiepis neturi atsiliepimų.

Programuotojai ir komandos nariai

“Kaderlab AI Transparency Kit” yra atviro kodo programa. Prie jos sukūrimo prisidėję žmonės surašyti toliau.

Autoriai

Pakeitimų istorija

0.2.2

  • The TypeScript source of the block editor script now ships inside the plugin, with the one
    command that rebuilds the compiled file from it.

0.2.1

  • The block editor reported the review state per disclosure rather than for the whole catalogue. A
    disclosure that is shown on the site no longer carries a warning in the editor saying it is not,
    and a disclosure that is not shown is still named as such.
  • The label and the sentence of a disclosure are separated without a stylesheet, so they read
    correctly on a theme that has no rules of its own for them.

0.2.0

  • The disclosure wording is adopted from the official text of the AI Act rather than drafted, so the
    review state is stated per disclosure instead of for the whole catalogue. A disclosure whose
    wording is taken over from the Regulation renders; one still in this plugin’s own words does not,
    and the settings screen says which is which.
  • Built and tested, never released: the two defects above were found before it was sent, so 0.2.1 is
    the first version the plugin directory is offered after 0.1.0.

0.1.0

  • First release: the AI disclosure block, the shortcode, six disclosures in English and Dutch, and a
    settings screen that reports the review state of the wording.