# Article 50 — Transparency Obligations for Providers and Deployers of Certain AI Systems

> **Authoritative source:** [Article 50 — Regulation (EU) 2024/1689 on EUR-Lex](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=OJ:L_202401689) · [Article 50 — artificialintelligenceact.eu](https://artificialintelligenceact.eu/article/50/) · [Article 50 — AI Act Service Desk](https://ai-act-service-desk.ec.europa.eu/en/ai-act/article-50)
>
> **Applicability date:** 2026-08-02.
>
> **Applies to GraQle?** YES — directly. The transparency obligations of Article 50 apply broadly to systems that interact with humans, not just high-risk systems. The Commission opened a [public consultation on draft Article 50 guidelines](https://digital-strategy.ec.europa.eu/en/consultations/consultation-draft-guidelines-transparency-obligations-under-ai-act) on 2026-05-08; GraQle is tracking those drafts and will update this document as guidelines are finalised.

> **Forward-reference notice:** The AI-disclosure banner and MCP-envelope `ai_disclosure` field referenced here are **planned in PR-009d of this CR-009 batch**. Article 50 becomes applicable on **2026-08-02**, so the obligation kicks in after PR-009d's merge target. Until PR-009d lands, downstream pipelines that need an Article 50(1) bucket-1 disclosure can wrap their `graq_reason` / `graq_chat_turn` outputs in a deployer-level "this response is AI-generated" banner — the underlying GraQle envelope already carries enough metadata (version, backend) to compose one.

## What the Article requires

Article 50 covers four bucketed obligations:

1. **AI systems that interact with people:** providers shall ensure that the natural persons concerned are informed that they are interacting with an AI system (unless this is obvious from the perspective of a reasonably well-informed, observant, and circumspect natural person).
2. **AI systems generating synthetic image / audio / video content:** providers shall ensure that the output is marked in a machine-readable format and detectable as artificially generated or manipulated.
3. **Emotion-recognition / biometric-categorisation systems:** deployers shall inform the natural persons exposed to it.
4. **AI systems generating or manipulating image / audio / video constituting a "deep fake" + AI-generated text published for public-interest information:** deployers shall disclose that the content has been artificially generated or manipulated.

## What GraQle provides

### 1. AI-disclosure banner on first session call (PR-009d — bucket 1)

When `GRAQLE_EU_AI_ACT_MODE=on` is set, the first reasoning call in each session prints an explicit disclosure:

```
⚠ This response was generated by an AI system (GraQle v0.55.0 using {backend} backend).
   It may be inaccurate. Confidence: 0.82. Always verify before relying on it.
   AI Act Article 50(1) disclosure | Suppress with GRAQLE_AI_DISCLOSURE=off
```

This addresses Article 50(1). The banner:

- Appears **once per session** (subsequent calls don't repeat — addressing the "unless this is obvious" carve-out for users who clearly know they're using an AI tool).
- Names the **specific model + backend** so the user understands which third-party model produced the underlying generation.
- Surfaces the **confidence score** alongside the disclosure so the user sees the quality signal at the same time as the AI-ness signal.
- **Suppressable via `GRAQLE_AI_DISCLOSURE=off`** for technical integrators who use GraQle in machine-to-machine pipelines where a human will never see the banner. (Suppression is logged in the audit trail.)

### 2. MCP envelope AI-disclosure field

Every MCP envelope under `GRAQLE_EU_AI_ACT_MODE=on` includes:

```json
{
  "ai_disclosure": {
    "is_ai_generated": true,
    "system": "GraQle",
    "version": "0.55.0",
    "backend": "anthropic/claude-sonnet-4-6",
    "ai_act_article_50_paragraph_1": true
  }
}
```

This is the **machine-readable** counterpart for the four buckets:

- Bucket 1 (interacts with persons): `is_ai_generated: true` flag.
- Bucket 2 (synthetic media): N/A for GraQle — we don't generate images, audio, or video.
- Bucket 3 (emotion / biometric categorisation): N/A — we don't do that.
- Bucket 4 (deep fakes + public-interest text): we recommend integrators wrapping `graq_reason` output in public-interest contexts (journalism, public communications) **add their own additional disclosure** — our `is_ai_generated: true` is necessary but not sufficient for bucket-4 use cases.

### 3. Synthetic media marking — not applicable

GraQle does **not** generate images, audio, or video. Therefore bucket 2 (machine-readable marking of synthetic media per Article 50(2)) does not apply.

The Commission published the [second draft of the Code of Practice on marking and labelling of AI-generated content](https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content) on 2026-03-05; we are tracking this Code in case GraQle ever adds a content-generation surface that would trigger bucket 2.

### 4. Emotion / biometric categorisation — not applicable

GraQle does not perform emotion recognition or biometric categorisation. Bucket 3 (Article 50(3)) does not apply.

### 5. Deep fake / public-interest text — partial applicability

GraQle's `graq_reason` and `graq_chat_turn` produce text. Most use is in private developer workflows (writing code, understanding code, reviewing code) — not "publishing text for the purpose of informing the public on matters of public interest" per Article 50(4).

If you, as a deployer, are using GraQle output as the basis for public-interest content (journalism, public communications, legal opinions etc.), **you must add your own deployer-level disclosure** that the content has been artificially generated or manipulated. GraQle's `ai_disclosure.is_ai_generated: true` signal makes that disclosure cheap to wire on your side, but the **obligation to disclose to the public is yours**, not ours.

## How to quote this in your compliance file

When documenting your own Article 50 obligations as a deployer / provider of an AI system that uses GraQle:

> "Our AI system that uses GraQle ({version}) interacts with developers via {channel}. We have set `GRAQLE_EU_AI_ACT_MODE=on` to enable the AI-disclosure banner per Article 50(1), and we read the `ai_disclosure` field from every MCP envelope into our deployment-level pipeline. Per the integration guidance at [github.com/quantamixsol/graqle/blob/master/docs/compliance/eu-ai-act/article-50-transparency.md](https://github.com/quantamixsol/graqle/blob/master/docs/compliance/eu-ai-act/article-50-transparency.md), GraQle does not generate synthetic media (so bucket 2 N/A) and does not perform emotion / biometric categorisation (so bucket 3 N/A). For any use of GraQle output in public-interest publications, we add our own deployer-level disclosure per Article 50(4) at our system layer."

## Tracking forthcoming guidance

The Commission is finalising guidelines on Article 50 transparency obligations. We track:

- [Consultation on draft Article 50 guidelines](https://digital-strategy.ec.europa.eu/en/consultations/consultation-draft-guidelines-transparency-obligations-under-ai-act) (opened 2026-05-08)
- [Draft guidelines library page](https://digital-strategy.ec.europa.eu/en/library/draft-guidelines-implementation-transparency-obligations-certain-ai-systems-under-article-50-ai-act)
- [Code of Practice on AI-generated content marking](https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content)

When the final guidelines are published, this document will be updated and a CHANGELOG entry will note the date of the guidance refresh.

## What GraQle does NOT do

To avoid overstating: GraQle does not provide a watermarking solution for AI-generated text, does not check whether public-interest content actually requires bucket-4 disclosure, and does not implement any of the bucket-2 / bucket-3 obligations (because they don't apply to GraQle's surface). If your deployment scenario triggers buckets 2, 3, or 4 in ways GraQle doesn't address, you must implement the required transparency at your system layer.

## Related GraQle documents

- [Article 4 — AI Literacy](./article-04-ai-literacy.md) — the broader human-in-the-loop literacy context that the bucket-1 disclosure supports
- [Article 13 — Transparency to Deployers](./article-13-transparency-to-deployers.md) — the structured signals (`graph_health`, `confidence`) that complement the AI-disclosure banner
- [Article 14 — Human Oversight](./article-14-human-oversight.md) — how the disclosure works alongside the confidence-threshold gate

## Sources

- [Regulation (EU) 2024/1689 — EUR-Lex](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=OJ:L_202401689)
- [Article 50 — artificialintelligenceact.eu](https://artificialintelligenceact.eu/article/50/)
- [Article 50 — AI Act Service Desk](https://ai-act-service-desk.ec.europa.eu/en/ai-act/article-50)
- [Chapter IV transparency obligations](https://artificialintelligenceact.eu/chapter/4/)
