◈︎

AIOSchema Official Extension Fields

Version: v0.5.6 Spec reference: Specification §11 Full registry: /registries/extensions/

Extension fields are placed in the extensions block of a manifest. They are optional unless the conformance level or regulatory context requires them. They are outside the core_fingerprint computation. When manifest_signature is present, all extensions are within its signature scope.

The total serialized size of extensions MUST NOT exceed 4KB.


Media Capture Fields

Field Type Description
camera_model String Device make and model (e.g. "Canon EOS R5")
exposure_time String Shutter speed (e.g. "1/120")
iso Integer ISO sensitivity value
software String Software used to create or edit the asset

Asset Classification Fields

Field Type Description
asset_name String Original filename or human-readable asset name
asset_type String Asset type: "document", "image", "video", or similar
description String (max 256 chars) Human-readable provenance context note. MUST NOT be used for machine-parseable metadata, rights declarations, or version history.
license String SPDX identifier (e.g. "CC-BY-4.0")

AI Disclosure Fields

ai_model_used

Property Value
Type String or null
null Asset is not AI-generated

AI model identifier string, or null when the asset has no AI involvement.

ai_model_version

Property Value
Type String or null

Version string of the AI model used, or null.

ai_declaration

Structured boolean record of AI involvement. When disclosure_required is true, all fields MUST accurately reflect the actual nature of AI involvement.

Field Type Requirement Description
disclosure_required Boolean MUST True if AI contributed to this content
ai_generated Boolean MUST Content is fully AI-generated
ai_manipulated Boolean MUST Existing content was substantially altered by AI
human_reviewed Boolean MUST A human reviewed the content before publication
standard_editing Boolean OPTIONAL Only standard editing applied (cropping, colour correction, noise removal). When true, disclosure_required MUST be false.
creative_work Boolean OPTIONAL Artistic, satirical, or fictional work.

When human_reviewed is true, compliance_eu_art50 SHOULD be present.

"ai_declaration": {
  "disclosure_required": true,
  "ai_generated": true,
  "ai_manipulated": false,
  "human_reviewed": true,
  "standard_editing": false,
  "creative_work": false
}

Soft Binding

soft_binding

Perceptual hash record for image and video assets. MUST be present at Level 2 for image and video assets.

Field Type Description
algorithm String Perceptual hash algorithm. Currently: pHash-v1
fingerprint String 16-character hex pHash digest
threshold_info Integer Informational only. Verifiers MUST NOT use this value for policy decisions.
"soft_binding": {
  "algorithm": "pHash-v1",
  "fingerprint": "f8e4c2a196b3d750",
  "threshold_info": 5
}

Conformance

compliance_level

Self-declared conformance level: 1, 2, or 3. Informational only. Not to be confused with compliance_eu_art50.


Regulatory Compliance Fields

compliance_eu_art50

Records that a qualifying editorial review occurred under EU AI Act Art. 50(4). Two fields are required when claiming the editorial exemption.

Field Type Required for exemption Description
editorial_responsibility String MUST Organisation name or role title of the person holding editorial responsibility. Not a personal name.
review_type String (enum) MUST "substantive" or "editorial-control"
reviewer_id String OPTIONAL Ed25519 public key fingerprint (ed25519-fp-<32hex>). Non-identifying.
"compliance_eu_art50": {
  "editorial_responsibility": "Editorial Team, Example Media Ltd",
  "review_type": "substantive"
}

Verification Field

public_key

Base64-encoded raw 32-byte Ed25519 public key. Enables self-contained verification without network access.

When present, the verifier MUST perform a fingerprint cross-check against creator_id:

  1. Decode the Base64 value to raw bytes.
  2. Compute SHA-256 and take the first 16 bytes (32 hex characters).
  3. Construct ed25519-fp-<32hex> and compare against creator_id using timing-safe equality.
  4. If mismatch: FAIL. If match: proceed with signature verification.
"public_key": "MCowBQYDK2VwAyEAj4VZRK5VJThKGx8LYXeF8YvjNWKpWnLqM3rXeV4Q9sM="

Vendor Extensions

Vendor-specific fields use registered prefixes. See Registry Governance and Extension Registry.


© 2026 Ovidiu Ancuta. AIOSchema™ and ◈™ are trademarks of Ovidiu Ancuta Specification: CC-BY 4.0 · Reference Implementations: Apache 2.0 · https://aioschema.org