Schema
OSDF metadata is JSON, validated against published JSON Schemas and canonicalized with JCS before hashing or signing. This page summarizes the core objects.
Manifest
The manifest enumerates every object in the container with its media type and digest. No object may exist in the container without a manifest entry.
json
{ "osdf_version": "0.4", "profile": "osdf-verified", "objects": [ { "path": "content/body.osdfc", "type": "application/osdf-content", "sha256": "9f2c…" }, { "path": "render/document.pdf", "type": "application/pdf", "sha256": "1ab7…" } ], "content_digest": "SHA-256:7d41…"}Signature object
json
{ "alg": "Ed25519", "signer": "did:osdf:org:co-dor#k1", "payload_digest": "SHA-256:7d41…", "created": "2026-02-11T17:04:00Z", "signature": "base64url…"}Revision record
json
{ "doc_id": "01J9…", "n": 7, "parent": "SHA-256:c0de…", "merkle_root": "SHA-256:beef…", "created": "2026-02-11T17:04:00Z"}Validation rules
- Unknown fields in a mandatory object cause rejection under strict profiles.
- All timestamps are RFC 3339 UTC.
- All digests carry an explicit algorithm prefix.
See the full machine-readable schemas in the conformance test vectors.