ChronoVerify

EU AI Act Article 50: a practical checklist for your image pipeline

A field note from ChronoVerify, built and maintained by a veteran intelligence analyst.

Article 50 of the EU AI Act sets transparency duties for AI-generated and AI-altered media, and the regime applies from August 2, 2026. If you build systems that generate images, or you publish media that may be AI-generated or materially altered, at least one of those duties is likely to reach you. This is the operational version: who is affected, what the two duties require, and a checklist to get an auditable provenance step running in your image pipeline this week. It is a companion to our argument for why verifiable provenance, not detection, is the durable signal. Here the goal is narrower: what to do, in what order, and what to keep.

Who Article 50 affects

Article 50 places transparency duties on two different parties. Providers of systems that generate synthetic image, audio, or video output are expected to mark that output in a machine-readable, interoperable, and robust way, so downstream systems can detect it. Deployers who publish AI-generated or materially altered media are expected to disclose that it is artificial. The duties bind those parties, not a verification tool. If you generate images, publish media that may be AI-generated or altered, or ingest such media at scale, you probably sit under at least one of them. Stock and digital-asset platforms, content moderation and trust and safety teams, newsrooms, marketplaces, and any product that ingests or publishes image content are the common cases. Confirm your own status with qualified counsel.

C2PA Content Credentials are the leading interoperable approach to the marking, and the European Commission's Code of Practice on marking AI-generated content, finalised on June 10, 2026, points to provenance credentials of this kind and gives signatories a practical pathway to demonstrate conformity with the marking duties.

The two duties, and where a check fits

Each duty maps to a specific job you can run on an image. ChronoVerify does not discharge either duty for you: it gives you the check and the record.

DutyWho it bindsWhat you check on the image
Provider marking, Article 50(2)Providers of generative image, audio, or video systemsConfirm the marking is present and genuine: validate the C2PA credential against the official trust lists and read the IPTC digital source type. Check your own output before release, and inbound content from upstream providers.
Deployer disclosure, Article 50(4)Deployers who publish AI-generated or materially altered mediaProduce the evidence and a durable record for the decision: a typed verdict, the C2PA validation state and signer, and a signed, timestamped audit report for your review files.

The timeline, stated honestly

A checklist to get an auditable provenance step running this week

Ordered so you can start today and stop at the rung that fits your obligation.

  1. Inventory your image touchpoints. List where images enter and leave your product: uploads, generated output, third-party feeds, and anything you publish. For each, note whether you are the provider marking it or the deployer publishing it.
  2. Decide the two questions per image. Is it marked, and does the marking validate. Those are the questions a check answers, and they are the two you record.
  3. Run a keyless check today. Send one image and read the verdict. No signup, so there is nothing to procure first.
  4. Wire the check into your pipeline. Mint a free API key, then call the same endpoint from the Python or TypeScript SDK, or hand the tool to an AI assistant over MCP, so every image is checked automatically.
  5. Turn on signed, timestamped reports for anything you publish or may have to defend, so each decision has a record a third party can check.
  6. Write down the neutral case and human routing. Record a policy for images that carry no credential, since absence is neutral, not evidence, and route low-confidence or high-stakes cases to a human instead of auto-deciding.
  7. Keep the records. Retain the typed verdict logs and the signed reports in your review files as the durable, checkable record behind each disclosure decision.

The integration ladder

You can go from reading this page to a working check in one command, then wire it into your pipeline, then make every check auditable. Three rungs, reusing the real snippets from the compliance page.

Rung 1: Try it in 10 seconds. Free, no signup.

Drop an image into the free Article 50 marking checker and see whether it carries a validated Content Credential and an IPTC digital source type. Or run one keyless API call from a terminal:

curl -X POST https://chronoverify.com/v1/verify \
  -F "file=@photo.jpg"

Cost: free on the rate-limited public path, no key.

Rung 2: Wire it in. Free key, SDKs, and MCP for agent workflows.

Mint a free API key programmatically, then call the same endpoint from the first-party Python or TypeScript SDK, or hand the tool to an AI assistant over MCP.

curl -X POST https://chronoverify.com/v1/keys/free \
  -F "email=you@company.com"
# pip install chronoverify
from chronoverify import Client
client = Client("cv_live_...")
result = client.verify(file="photo.jpg")
print(result["verdict"], result["c2pa"]["validation_state"])

TypeScript: npm i chronoverify, then new ChronoVerify("cv_live_...").verify({ file: "photo.jpg" }). For agent workflows, add the MCP server to any MCP-capable assistant:

{
  "mcpServers": {
    "chronoverify": {
      "command": "npx",
      "args": ["-y", "chronoverify-mcp"]
    }
  }
}

A hosted, keyless MCP endpoint runs at https://chronoverify.com/mcp/http; see one-click installs and framework recipes for OpenAI, Claude, LangChain, LlamaIndex, CrewAI, and n8n. Every check returns a typed verdict against a versioned response JSON Schema, so an agent can act on it without scraping prose.

Cost: free for 100 verifications a month with a free key, then $0.003 per image with a hard spend cap on by default. The hosted MCP endpoint and the npm server run free on the public path; add a key for metered use.

Rung 3: Make it auditable. Signed, timestamped reports and the Evidence tier.

For any check, request a signed PDF audit report: an Ed25519 signature over the exact findings and the file's SHA-256, an embedded RFC 3161 trusted timestamp token that verifies offline, and an embedded visual reference.

curl -X POST https://chronoverify.com/v1/report \
  -H "Authorization: Bearer cv_live_..." \
  -F "file=@photo.jpg" -o report.pdf

Cost: $0.20 per report from a prepaid balance, or included in a plan's monthly quota. The Evidence tier is $25 a month for 2,500 verifications with signed, timestamped reports drawn from that same quota. Instant checkout, key on screen.

What to keep in your review files

The deployer disclosure duty is a decision, and a decision is easier to stand behind when it has a record. Keep three things per image you act on.

A third party can verify the report offline without trusting us: recompute the file's SHA-256 and confirm it matches, verify the Ed25519 signature against ChronoVerify's published public key, and verify the RFC 3161 timestamp token with the exact openssl command the report prints. Or paste the signed payload into the free report verifier, which runs the signature check in the browser.

Honest limits

Regulatory language invites overclaiming, so the boundary is stated plainly.

Stand up an auditable provenance step this week. Start with a free check, then wire in a free key.

Check an image now Get a free API key

Common questions

Who does EU AI Act Article 50 actually affect?

Two roles. Providers of AI systems that generate synthetic image, audio, or video output carry the marking duty of Article 50(2). Deployers who publish AI-generated or materially altered media carry the disclosure duty of Article 50(4). If you build a generative system, publish media that may be AI-generated or altered, or ingest such media at scale, at least one duty is likely to reach you. The duties bind those parties, not a verification tool. Confirm your own status with qualified counsel.

What do the two Article 50 duties require in plain terms?

Providers are expected to mark generative output in a machine-readable, interoperable, and robust way, so downstream systems can detect it. Deployers who publish AI-generated or materially altered media are expected to disclose that it is artificial. C2PA Content Credentials are the leading interoperable approach to the marking, and the European Commission's Code of Practice on marking AI-generated content, finalised on June 10, 2026, points to provenance credentials of this kind and gives signatories a pathway to demonstrate conformity.

Do we have to have everything in place by August 2, 2026?

Article 50 applies from August 2, 2026. Under the AI Omnibus package, adopted in June 2026 and signed on July 8, 2026, generative AI systems already on the market before that date have until December 2, 2026 to meet the machine-readable marking requirement of Article 50(2). The other Article 50 duties, including deployer disclosure, still apply from August 2, and the Commission's interpretive guidelines are still pending. Treat August 2 as the date the regime applies, not a universal hard cutoff, and confirm your own timeline with counsel.

Does wiring in ChronoVerify make our organization compliant?

No. Article 50 binds providers and deployers of AI systems, not a verification tool. ChronoVerify is the read, validate, and audit layer your workflow uses. It gives you the check and the record; it does not discharge the duty, and it is not legal advice. There is no Article 50 certification for a product, and none exists.

Does ChronoVerify detect AI-generated images or deepfakes?

No. It validates C2PA provenance, reads EXIF and XMP metadata, reads the machine-readable AI marking, and runs conservative pixel-forensics triage. It does not score whether an image was made by AI. Absence of a Content Credential is neutral, since most images are unsigned and marking is commonly stripped by re-saving, screenshots, and most platforms.

What should we keep in our review files?

For each decision, keep the typed verdict, the C2PA validation state and signer, and, for anything you publish or may have to defend, a signed, timestamped PDF audit report. A third party can verify that report offline: recompute the file's SHA-256, verify the Ed25519 signature against the published public key, and verify the RFC 3161 timestamp with the openssl command printed in the report, or paste it into the free report verifier at /tools/report.

Sources and further reading: C2PA Specifications index; C2PA FAQ; EU AI Act Article 50 (transparency obligations); European Commission on the AI Act; Content Credentials Verify; ChronoVerify compliance and Article 50 page; Article 50 marking checker.