AI Reporting Specification Draft 1.0

Declare the report.
Trust the host.

AIRspec is a portable JSON format for AI-generated dashboards and reports. A model writes the document; your application validates and renders it with trusted code. Nothing the model produces is ever executed.

report.airspec.jsonwritten by the model
your applicationtrusted renderer

Sales Overview

Year to date ▾
Revenue
$1.28M
▲ 12.4%
Orders
4,213
▲ 6.1%
Revenue by region
West
East
North
South
OrderStatusTotal
ORD-8841Open$12,400
ORD-8836Delivered$8,150

The left side is the entire artifact the AI produces — declarative JSON, validated against a published schema. The right side is yours: trusted components, your data broker, your authorization. Charts use AIRMark, the spec's built-in mark-and-encoding grammar.

The one rule

The AI produces configuration. Your app owns all execution.

An AIRspec document cannot call an API, reference a URL, embed a credential, run a formula, or inject HTML. Those capabilities are structurally absent from the format — not merely discouraged. Every document passes five validation layers before a single pixel renders.

Model

Writes the document

Any model, any provider. Structured output against the AIRspec JSON Schema, guided by your Source Catalog.

Your app

Validates it

Schema, semantic, authorization, and AIRMark checks. Machine-readable errors let the model self-correct.

Your app

Renders it

Trusted components interpret the layout tree. One broken component never takes down the report.

Your app

Fetches the data

A server-side data broker executes stored datasets with the viewer's authorization. Credentials never leave the server.

Anatomy of a document

Six top-level parts describe any report.

Every element is declarative, allowlisted, and independently validated.

meta

Metadata

Title, description, and tags for the report as users see it.

parameters

Parameters

Date ranges, selects, and toggles users adjust at run time — validated server-side.

datasets

Datasets

Logical data requests by source and field name. Never a URL, never a query string.

layout

Layout

A responsive 12-column grid of trusted components — including charts, described in AIRMark, the spec's own mark-and-encoding grammar.

theme

Theme

Palette, density, and locale preferences — advisory, and always subordinate to your app's accessibility overrides.

interactions

Interactions

Drilldowns, navigation to registered routes, and exports — from a fixed action vocabulary.

Conformance classes

Adopt it in three steps.

Each class is a superset of the last, so a Class A host can grow into AVI without breaking a single stored document.

A

Core

Layout, text, metrics, tables, filters, and datasets. A complete working reporting system with no charting at all.

The foundation
AVI

Interactive

Everything in Visualization plus cross-component interactions: chart-to-filter drilldowns, record navigation, exports.

Adds interactions
Security by construction

Structurally absent, not merely discouraged.

Validators reject any document containing executable or addressable surface. There is no flag to turn these on.

eval() data.url <script> credentials fetch() SELECT * ${expression} href="https://…" dangerouslySetInnerHTML