◈︎

AIOSchema Security

Spec reference: Specification §18 Contact: [email protected]


Reporting a Vulnerability

Security vulnerabilities in AIOSchema implementations or the specification itself MUST be reported to:

Email: [email protected]

GitHub: https://github.com/aioschema/aioschema/issues ; label: security

The AIOSchema project commits to:

  • Acknowledging reports within 24 hours
  • Issuing a resolution or public advisory within 7 days

Security Model

AIOSchema’s security properties are architectural, not policy-based. Key properties:

Tamper-evidence by design. The core_fingerprint is computed over the five frozen Core Block fields. Any modification to any of them, however small, produces a different fingerprint. Any modification to the fingerprint itself is immediately detectable.

Asset substitution is detectable. hash_original is computed over the binary content of the asset. Any substitution produces a different hash. Multi-hash manifests require a simultaneous collision across every algorithm in the array.

Provenance cannot be fabricated retroactively. Once anchored, a manifest’s core_fingerprint is tied to a specific point in time independently of any authority controlled by the author. Re-anchoring a copied manifest produces a later timestamp, not an earlier one.

Threshold manipulation is prevented. soft_binding.threshold_info in the manifest is informational only. Verifiers MUST use their own configured threshold and MUST NOT read it from the manifest.

Full security and privacy analysis: Specification §12.


Implementation Requirements

Implementations MUST:

  • Use Ed25519 for all signatures
  • Use cryptographically secure RNG for UUID generation
  • Use timing-safe comparison for all hash and signature comparisons
  • Validate hash format before performing any comparison
  • Validate anchor_resolver return values before comparing

Implementations MUST NOT:

  • Trust soft_binding.threshold_info from the manifest
  • Accept signature verification without a caller-supplied public key
  • Store private keys in the manifest or sidecar

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