ACF
acfstandard.io
Developer docs
FR
READ

acf.regulation.article

Fetch the verified text of a regulatory article (AI Act, GDPR, DORA, NIS2, ISO 42001) and its operational translation into ACF®: activated principles, stressed maturity dimensions, cards that operationalise it, autonomy-level ceiling.

iNote
READ tools return signed corpus content with no inference layer. verified_text is reproduced as the standard timestamped it — for a regulatory filing, always cite the official source (OJEU/CELEX, ISO, ANSSI…) in addition.

When to use

Use this tool when a regulator, auditor or board references a specific article and you have to return (a) the verified text and (b) its ACF® operational reading. Examples: “AI Act Art. 9 — how do you cover it?”, “GDPR Art. 35 — does your DPIA include the agent?”, “DORA Art. 28 — critical third parties?”. The tool returns the text and the bridge to your cards in one shot.

The output has a pedagogical and scoping intent: it explains which ACF® principles the article activates, which maturity dimensions it stresses, and which methodological cards operationalise it. This is the “translator” angle between hard law and operations — it does not replace legal advice.

Input parameters

Three fields. regulation is a strict enum; article follows each regulation’s canonical format.

regulation"ai-act" | "gdpr" | "dora" | "nis2" | "iso-42001"required
Canonical regulation identifier. Five guides published in V1.0; any other value is rejected.
articlestring (2-40)required
Article reference in canonical format: “Art. 9”, “Art. 14(1)” (AI Act), “Art. 35” (GDPR), “Art. 28” (DORA), “Art. 21” (NIS2), “§6.1” (ISO 42001). The value is validated against the regulation-articles.json mapping.
locale"en" | "fr"default: "en"
Locale of the served guide. Fallback chain applies if the translation is not published.

Output schema

Verified article text + ACF® operational translation + signed footer. All codes (P-XX, D-XX, ACF-XX) are resolvable via the other READ tools.

regulationstring
Canonical identifier of the queried regulation.
regulation_labelstring
Human-readable long label (“EU AI Act (Regulation 2024/1689)”).
articlestring
Article reference as received.
article_titlestring
Official article title (“Human oversight” for AI Act Art. 14).
served_locale"en" | "fr"
Locale actually served after fallback chain.
is_fallbackboolean
true if the requested locale is not available.
verified_textstring
Article text as timestamped in the doctrine snapshot. To be cited alongside the official source.
applicable_datestring (ISO date)
Effective applicable date (Digital Omnibus deferrals included for the AI Act).
acf_translation{ summary, activates_principles[], stresses_dimensions[], operationalised_by_fiches[], autonomy_level_ceiling }
ACF® operational reading. Each entry in the three arrays carries a code (P-XX / D-XX / ACF-XX) and an explicit why.
doctrine_versionstring
Doctrine version frozen for this call.
doctrine_hashstring
SHA-256 hash of the served corpus.
doctrine_signaturestring
Ed25519 signature of hash + version.
doctrine_archive_urlstring
URL of the immutable archive matching doctrine_hash.
generated_atstring (ISO-8601)
UTC timestamp of the response.
disclaimerstring
Constant reminder: this is not legal advice.

Example call

The agent prepares a regulator-question answer on AI Act Art. 14 (human oversight):

regulation-article.tstypescript
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const transport = new StdioClientTransport({
  command: "npx",
  args: ["-y", "acf-mcp"],
});
const client = new Client({ name: "demo", version: "1.0" }, {});
await client.connect(transport);

const result = await client.callTool({
  name: "acf.regulation.article",
  arguments: {
    regulation: "ai-act",
    article: "Art. 14",
    locale: "en",
  },
});

console.log(JSON.stringify(result.content, null, 2));

Response

response.jsonjson
{
  "regulation": "ai-act",
  "regulation_label": "EU AI Act (Regulation 2024/1689)",
  "article": "Art. 14",
  "article_title": "Human oversight",
  "served_locale": "en",
  "is_fallback": false,
  "verified_text": "High-risk AI systems shall be designed and developed in such a way, including with appropriate human-machine interface tools, that they can be effectively overseen by natural persons during the period in which they are in use. […] Human oversight shall aim to prevent or minimise the risks to health, safety or fundamental rights that may emerge when a high-risk AI system is used in accordance with its intended purpose or under conditions of reasonably foreseeable misuse.",
  "applicable_date": "2026-08-02",
  "acf_translation": {
    "summary": "Art. 14 mandates that any high-risk system be designed so a human operator can intervene effectively at run-time. In ACF® vocabulary, this is the kill-switch + escalation-thresholds duo, plus the design constraint that the interface itself must support oversight (not just allow it).",
    "activates_principles": [
      { "code": "P-04", "title": "Reversibility", "why": "Oversight is impossible without a bounded recovery window." },
      { "code": "P-07", "title": "Human-in-the-loop integrity", "why": "Art. 14 is the regulatory anchor of P-07." }
    ],
    "stresses_dimensions": [
      { "code": "D-03", "title": "Operational control", "why": "Kill switch + degraded modes live here." },
      { "code": "D-05", "title": "Human governance", "why": "Defines who has authority to intervene and when." }
    ],
    "operationalised_by_fiches": [
      { "code": "ACF-06", "why": "Defines the kill switch and the degraded mode required by Art. 14(1)-(4)." },
      { "code": "ACF-12", "why": "DDAO mandate — names the natural person empowered to oversee." },
      { "code": "ACF-04", "why": "Agent identity card — declares the oversight surface to internal and external stakeholders." }
    ],
    "autonomy_level_ceiling": "N2 by default; N3 requires explicit derogation with reinforced oversight and is not recommended for high-risk under the AI Act."
  },
  "doctrine_version": "ACF framework v1.0 / rules 2026-06",
  "doctrine_hash": "sha256:bf0b6d8e4731ebdc58f6d6338702c5b74af47874cf0ad3dc958cde5c5b30b9dc",
  "doctrine_signature": "ed25519:…",
  "doctrine_archive_url": "https://acfstandard.io/doctrine/v1.0/archive.json",
  "generated_at": "2026-06-14T11:47:22.318Z",
  "disclaimer": "Verified text reproduced for reference — always read the official OJEU/CELEX source before quoting in a regulatory filing."
}

Common errors

  • InvalidEnumValue regulation out of enum (e.g. "aiact", "rgpd"). Use "ai-act", "gdpr", "dora", "nis2" or "iso-42001".
  • ArticleNotMapped the requested article is not in the regulation-articles.json mapping published in V1.0. Initial coverage targets agent-critical articles; scope expands in V1.1.
  • DoctrineSnapshotMismatch the requested doctrine_hash is not loaded. Update acf-mcp or point at the archived version.
  • acf.fiche.lookup fetch the cards listed in acf_translation.operationalised_by_fiches.
  • acf.search when the exact article is unknown, run a text search to locate it.
  • acf.map-ai-act-obligations for the AI Act, get the exhaustive set of articles applicable to a high-risk agent, not just one.