Standard
Certification schema
Every certification on this site, whether for a model, an agent built on one, or a physical autonomous bot, is one JSON document that follows the same contract. That contract is public, versioned, and free to reuse: build a form against it, validate a certification with it, or feed it to another registry.
Fields
subjectType is what makes the contract cover every case: set it to "model" for a base model, "agent" for a specialized agent built on one, or "autonomous-bot" for a physical autonomous bot, and disclose agentSpecialization or botCategory alongside it. Every other field applies to all three.
| Field | Type | Description |
|---|---|---|
| schema | "ai-charter-certification-v1" | Schema version marker. |
| certificationId | string (urn:ai-charter:cert:<uuid>) | Opaque, immutable identifier assigned once at issue time. Not derived from content, so disclosure updates never change it. Resolve it in the registry to cross-verify. |
| subjectType | "model" | "agent" | "autonomous-bot" | Whether this covers a base model, an agent built on top of one, or a physical autonomous bot. |
| company | string | Name of the certification holder. |
| ownerType | "company" | "individual" | "organization" | Who holds the certification. |
| originCountry | string | Country of origin. May be empty when undisclosed. |
| modelName | string | Name of the model, or of the agent when subjectType is "agent". |
| version | string | Version this certification applies to. |
| status | "planned" | "active" | "deactivated" | Current lifecycle state of the certification. |
| agentSpecialization | string | Required when subjectType is "agent": what the agent specializes in. Empty for a model. |
| botCategory | string | Required when subjectType is "autonomous-bot": its operating domain, e.g. "civil", "military", "industrial". Empty otherwise. |
| modalities | string[] | Capabilities disclosed, e.g. "Text Generation". Open-ended, see /placards for the closest reference set. |
| parameterScale | string | Freeform training parameter scale, e.g. "7B", "1.8T", or "Undisclosed". |
| fingerprint | { present: boolean, method: string } | Whether output is fingerprinted, and how. |
| trainingSources | string | Disclosure of what the model or agent was trained on. |
| agenticDecisionMaking | boolean | Whether the model or agent decides on its own, without a human confirming each decision. |
| hazardCategories | string[] | Hazard placard labels disclosed, HAZMAT-style. Open-ended, see /placards. |
| complianceStandards | string[] | Data-handling / regulatory standards the subject is certified to meet, e.g. "GDPR", "HIPAA (PHI)", "Classified / SECRET". Optional, open-ended. |
| operatingRegions | string[] | Regions the subject is cleared to operate in, e.g. "European Union (EU/EEA)", "Asia-Pacific (APAC)". Optional, open-ended. |
| riskTier | "unacceptable" | "high" | "limited" | "minimal" | EU AI Act risk tier the subject self-classifies under. Optional. |
| nistFunctions | string[] | NIST AI RMF functions addressed: Govern, Map, Measure, Manage. Optional. |
| energyProfile | string | Measured energy or compute profile, e.g. "0.8 kWh per 1M tokens". Optional. |
| incidentReferences | string[] | Public URLs to logged incidents behind unintendedConsequences. Optional. |
| nextDisclosureDate | string (YYYY-MM-DD) | Next yearly decision-disclosure due date. Optional. |
| signature | { algorithm, publicKeyUrl, value } | Issuer-provided detached signature over the certification, for provenance. Optional. |
| decisionCategorization | { category: string, subcategory: string }[] | Yearly categorization of decisions the model or agent took. |
| unintendedConsequences | string | Unintended consequences on record. Empty string means none reported. |
| issuedDate | string (YYYY-MM-DD) | Date this certification was issued. |
| effectiveDate | string (YYYY-MM-DD) | Date this certification takes effect. |
| endDate | string (YYYY-MM-DD) | Date this certification ends. Empty string means open-ended. |
This is version 1 of the contract. A breaking change to a field gets a new schema value, such as ai-charter-certification-v2, so existing certifications keep validating against the version they were issued under.