bundle.schema.json
The on-disk bundle layout a sender transfers: statements, attestations, schema closure, and final artifacts.
All schemas§13.3FieldsRaw JSON
demos/end-to-end/artifacts/positive-bundle/bundle.json, which validates against this schema.{
"artifacts": [
{
"digest": {
"sha256": "ecd821dbe6f4204c4aad64878643d7954cb8c94abbf8d0b28f9c2bfc272f781e"
},
"path": "artifacts/final/71895faa8bce0d0426b2e447bb12d15e50e9f9d27135ebabbb94bc9d59426d4e.bin",
"statementDigest": {
"sha256": "99aee76db46a720405da6d0015d427c791b0d4e02367b9e2bc36ce82ae812bce"
},
"subjectName": "customers.public.json"
}
],
"attestations": [
{
"path": "attestations/1f28b72bcd4c1e9b7df71403ac6bb1670c2f2b09628ca6d76a2fa384db9a0848.dsse.json",
"statementDigest": {
"sha256": "1f28b72bcd4c1e9b7df71403ac6bb1670c2f2b09628ca6d76a2fa384db9a0848"
}
},
{
"path": "attestations/56b7be4394fe09c62ec7a3d5763cecc251e9696f267f35b2acc717b0d170a27a.dsse.json",
"statementDigest": {
"sha256": "56b7be4394fe09c62ec7a3d5763cecc251e9696f267f35b2acc717b0d170a27a"
}
},
{
"path": "attestations/99aee76db46a720405da6d0015d427c791b0d4e02367b9e2bc36ce82ae812bce.dsse.json",
"statementDigest": {
"sha256": "99aee76db46a720405da6d0015d427c791b0d4e02367b9e2bc36ce82ae812bce"
}
}
],
"datasetEntries": [],
"manifest": "manifest.dsse.json",
"schemaCatalog": "schemas/catalog.json",
"version": "0.2"
}Fields
Top leveldigestpathattestationartifactdatasetEntry
Top level#
Shape object
- closed object
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| version required | string constant |
"0.2" |
| manifest required | path | "manifest.dsse.json" |
| attestations required | array of attestation | [{"path": "attestations/1f28b72bcd4c1e9b7df71403ac6bb1670c2f2b09628ca6d76a2fa384db9a0848.dsse.j… |
| artifacts required | array of artifact | [{"digest": {"sha256": "ecd821dbe6f4204c4aad64878643d7954cb8c94abbf8d0b28f9c2bfc272f781e"}, "pa… |
| datasetEntries optional | array of datasetEntry | [] |
| schemaCatalog optional | path | "schemas/catalog.json" |
digest#
Shape object
- closed object
Appears at artifacts[].digest, artifacts[].statementDigest, attestations[].statementDigest, datasetEntries[].digest, datasetEntries[].manifestStatementDigest
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| sha256 required | string |
"1f28b72bcd4c1e9b7df71403ac6bb1670c2f2b09628ca6d76a2fa384db9a0848" |
path#
Shape string
- min length 1
- max length 1024
Appears at artifacts[].path, attestations[].path, datasetEntries[].path, manifest, schemaCatalog
attestation#
Shape object
- closed object
Appears at attestations[]
artifact#
Shape object
- closed object
Appears at artifacts[]
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| statementDigest required | digest | {"sha256": "99aee76db46a720405da6d0015d427c791b0d4e02367b9e2bc36ce82ae812bce"} |
| subjectName required | string |
"customers.public.json" |
| digest required | digest | {"sha256": "ecd821dbe6f4204c4aad64878643d7954cb8c94abbf8d0b28f9c2bfc272f781e"} |
| path required | path | "artifacts/final/71895faa8bce0d0426b2e447bb12d15e50e9f9d27135ebabbb94bc9d59426d4e.bin" |
datasetEntry#
Shape object
- closed object
Appears at datasetEntries[]
Real documents that validate
demos/end-to-end/artifacts/positive-bundle/bundle.json
Raw JSON
The published document (2,275 bytes)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://usemakoto.dev/schema/v0.2/bundle.schema.json",
"title": "Makoto v0.2 Bundle Index",
"type": "object",
"required": ["version", "manifest", "attestations", "artifacts"],
"properties": {
"version": { "const": "0.2" },
"manifest": { "$ref": "#/$defs/path" },
"attestations": {
"type": "array",
"items": { "$ref": "#/$defs/attestation" }
},
"artifacts": {
"type": "array",
"items": { "$ref": "#/$defs/artifact" }
},
"datasetEntries": {
"type": "array",
"items": { "$ref": "#/$defs/datasetEntry" }
},
"schemaCatalog": { "$ref": "#/$defs/path" }
},
"$defs": {
"digest": {
"type": "object",
"required": ["sha256"],
"properties": { "sha256": { "type": "string", "minLength": 64, "maxLength": 64 } },
"additionalProperties": false
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 1024
},
"attestation": {
"type": "object",
"required": ["statementDigest", "path"],
"properties": {
"statementDigest": { "$ref": "#/$defs/digest" },
"path": { "$ref": "#/$defs/path" }
},
"additionalProperties": false
},
"artifact": {
"type": "object",
"required": ["statementDigest", "subjectName", "digest", "path"],
"properties": {
"statementDigest": { "$ref": "#/$defs/digest" },
"subjectName": { "type": "string", "minLength": 1, "maxLength": 4096 },
"digest": { "$ref": "#/$defs/digest" },
"path": { "$ref": "#/$defs/path" }
},
"additionalProperties": false
},
"datasetEntry": {
"type": "object",
"required": ["manifestStatementDigest", "manifestSubjectName", "entryName", "digest", "path"],
"properties": {
"manifestStatementDigest": { "$ref": "#/$defs/digest" },
"manifestSubjectName": { "type": "string", "minLength": 1, "maxLength": 4096 },
"entryName": { "type": "string", "minLength": 1, "maxLength": 1024 },
"digest": { "$ref": "#/$defs/digest" },
"path": { "$ref": "#/$defs/path" }
},
"additionalProperties": false
}
},
"additionalProperties": false
}
The published bytes, unmodified.