Compliance · AI Act Art. 50
AI Content Marking
How Keypra meets the transparency obligations of Article 50 of the EU AI Act (Regulation (EU) 2024/1689), and how we follow the Commission’s Code of Practice on Transparency of AI-Generated Content, which applies from 2 August 2026.
Last updated: August 2026
1. Which role does Keypra hold?
Article 50 splits its duties between providers of AI systems and deployers who use them. Keypra is:
- a deployer of third-party general-purpose AI models (Anthropic, OpenAI, Google, Mistral) that we call through our AI gateway — the marking of synthetic output in a machine-readable form under Art. 50(2) is the duty of those model providers, not ours;
- a provider of AI systems that interact directly with people — our coach and Rafy chat surfaces — which brings us in scope of Art. 50(1);
- a deployer publishing AI-assisted text and images on our own website, which brings us in scope of Art. 50(4).
We apply every duty below as a baseline, irrespective of whether it would be strictly mandatory at Keypra’s current scale. All disclosures are given at the first interaction or exposure, in a clear and distinguishable way, and are accessible to people with disabilities, as Art. 50(5) requires.
2. Art. 50(1) — you always know when you are talking to AI
Before a user begins an interaction with a Keypra chat-style AI surface — including Rafy (Classroom and Self Discovery), the prompt coach in the Composer and Practice Lab, and any in-product coach panel — we show an explicit notice that the user is interacting with an AI system.
This is implemented through a shared component (AiChatbotDisclosure) mounted at the top of every chat surface. The notice is visible from the first message and is not dismissed by user activity.
3. Point-of-output disclaimer (our own practice)
Wherever Keypra renders AI-generated text, suggestions, scores or analyses (Composer coach output, Practice Lab analysis, Skills feedback, onboarding outputs, generated curriculum previews), we render a persistent disclaimer (AiOutputDisclaimer) near the output reminding the user that AI content can be wrong and pointing to Terms §7. This is not a tooltip or modal — it sits on the same surface as the content and is visible without interaction.
This is not required by Art. 50(2); we do it because a person who re-uses an output takes editorial responsibility for it, and they should be told so at the moment of generation.
4. Art. 50(2) — machine-readable marking sits with the model providers
Art. 50(2) requires the provider of the generative system to mark synthetic output in a machine-readable format. Keypra does not train or provide generative models: we call third-party models through our gateway. Their watermarking and provenance signals (and their limits) are therefore theirs to implement.
We do keep our own provenance record for every generated artefact: the model identifier (e.g. google/gemini-3-pro-image-preview), the generation timestamp, and a hash of the prompt input. This metadata is carried into slide-export bundles where the receiving format supports custom keys. We do not yet embed C2PA Content Credentials at the bitstream level — that integration is on our roadmap and will be added when the underlying image providers expose C2PA-signed outputs in their public APIs.
5. Art. 50(4) — what we label on our own surfaces
As a deployer, Art. 50(4) requires us to disclose two things: that an image, audio or video is a deep fake, and that AI-generated or AI-manipulated text published to inform the public on matters of public interest is artificially generated. The text duty does not apply where the content has undergone human review or editorial control and a natural or legal person holds editorial responsibility for the publication.
Keypra publishes articles and product announcements that can touch on matters of public interest — EU AI Act obligations, GDPR, and workplace AI governance. We do not rely on the editorial-control exception silently. Instead we do both:
- We name a human editor of record for every AI-assisted publication, and publish who holds editorial responsibility on our Editorial responsibility page. Publish-time database triggers reject an AI-assisted article or announcement that has no disclosure text and no named human editor.
- We label anyway. Every AI-assisted article carries the visible label described in §6, at the top of the article next to the headline, plus a sentence-form disclosure in the body.
AI-generated slide imagery shipped inside decks, public share-links and PDF exports carries a visible “AI-generated image” caption. Keypra does not generate photorealistic media of identifiable people, so no deep-fake disclosure has been required to date; if that changes, the disclosure will be wired before launch. The same applies to audio and video generation, which are not user-facing features today.
6. What the label looks like
Our label follows Measure 1.1 of the Code of Practice on Transparency of AI-Generated Content: the main visual element is the capitalised acronym AI, with letters of equal height and fixed proportions when resized, in high contrast against its background, accompanied by one word stating the nature of the AI involvement.
The content itself was produced by an AI system.
An existing work was altered using an AI system.
The label is never hidden behind a hover or a click: it is visible on first exposure. Selecting it opens a second layer that explains in plain language what the AI system did, links back to this page, and offers the reporting channel in §7. Screen readers announce it as a button named “AI generated content” or “AI modified content”; the meaning never depends on colour alone.
Placement follows Sub-measure 1.2.2: at the top of the text for articles, in the caption or corner for images, and in the colophon-equivalent footer for exports.
7. Report a missing or incorrect label
If you encounter AI-generated or AI-modified content on Keypra that is unlabelled, mislabelled, or where the label is hard to notice, tell us. We review substantiated reports and correct them without undue delay, and we log each report so that recurring causes get fixed in the product rather than page by page.
[AI-LABEL]We aim to acknowledge within 72 hours. Reports about the substance of an article, rather than its labelling, go to the editor of record listed on the Editorial responsibility page.
8. Out of scope today
- Deep-fake detection in user-uploaded media — Keypra neither generates nor distributes photorealistic media of identifiable people.
- Labelling of private chat text — the Art. 50(4) text duty attaches to publication that informs the public on matters of public interest, not to private interaction inside the product. Art. 50(1) covers that case instead, as described in §2.
- Emotion recognition and biometric categorisation under Art. 50(3) — Keypra operates no such system.
See also: Editorial responsibility · AI Literacy Methodology · Fairness Methodology · Privacy Policy