Record disclosure evidence
Add the following attributes to the span that represents the generated output:
The names use MeshAI’s provisional reverse-domain namespace while the relevant OpenTelemetry semantic conventions are not standardized.
Python
Enable evidence checks
Create policies from these built-in templates:article-50-ai-disclosure-evidencearticle-50-content-marking-evidence
Record the served model
For an auditable GPAI model inventory, emit the standardgen_ai.response.model attribute when the provider returns the model identifier it actually served. MeshAI stores that value separately from the requested model.
Python
response: the emitter suppliedgen_ai.response.model.request_fallback: MeshAI only knows the requested or directly reported model. This does not confirm the exact version served by the provider.
Generate an evidence pack
Professional and higher plans can generate an Article 50 recorded-evidence pack from the dashboard or API. In the dashboard, open Governance → Compliance, choose a 24-hour, 7-day, or 30-day window, then click Generate evidence pack. The dashboard does not request the report until you click Generate. It presents recorded gaps first, followed by the disclosure and content-marking track summaries and a compact model inventory. Any retention clamp, request-fallback attribution, or truncation warning remains visible. Click Download JSON to create a dated JSON file in your browser from the generated report. The download does not make a separate export request. For automation, callGET /api/v1/compliance/article-50/evidence-pack with the governance:read scope. See the Compliance API for date-range behavior and response semantics.
The evidence pack reports an explicit status for each track:
check_not_configured: no enabled check or evaluation was recordedno_recorded_evidence: no passing evidence was recordedgaps_recorded: one or more evaluated interactions recorded a failureevidence_recorded: passing evidence was recorded with no recorded failures
gaps array and the track statements rather than treating counts as a compliance score.
Requested dates are clamped to retained telemetry. The report preserves both requested and effective dates and sets retention_clamped when they differ.

