IsccNote Protocol Schema¶
An ISCC Declaration record submitted to an ISCC-HUB for timestamping and registration. IsccNote is the permanent, self-describing log entry that binds an ISCC-CODE to its content hashes and a cryptographic signature. Stored in an append-only log, declarations are immutable once accepted, so the record is version-pinned and carries resolvable schema and context URLs.
JSON Schema: iscc-note.json
Minimal declaration
{
"$schema": "http://purl.org/iscc/schema/iscc-note-0.7.0.json",
"iscc_code": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
"datahash": "1e20253d0f3460085c276f038de345c8e953a306f4a07f9fa77f5af8563c3d7274c5",
"nonce": "0013a3c214c05796673503e6e549446d",
"signature": {
"version": "ISCC-SIG v1.0",
"controller": "did:web:example.com",
"pubkey": "z6MkmeDbeC5BecFmVnTHA5PWEBaVUrGLdB3weGE2KYnXfHso",
"proof": "z5j9nrpPw3oYSAN4XbCvk2sUtkwrueTD6V2Y35gS1KFTode2ED2YQWokPmoXw6QBYtYEFxtAQfzBhdNyr8PMwP79G"
}
}
Complete declaration (all fields)
{
"$schema": "http://purl.org/iscc/schema/iscc-note-0.7.0.json",
"iscc_code": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
"datahash": "1e20253d0f3460085c276f038de345c8e953a306f4a07f9fa77f5af8563c3d7274c5",
"nonce": "0013a3c214c05796673503e6e549446d",
"timestamp": "2025-08-12T14:30:00.123Z",
"signature": {
"version": "ISCC-SIG v1.0",
"controller": "did:web:example.com",
"keyid": "key-1",
"pubkey": "z6MkmeDbeC5BecFmVnTHA5PWEBaVUrGLdB3weGE2KYnXfHso",
"proof": "z5j9nrpPw3oYSAN4XbCvk2sUtkwrueTD6V2Y35gS1KFTode2ED2YQWokPmoXw6QBYtYEFxtAQfzBhdNyr8PMwP79G"
},
"units": [
"ISCC:IADSKPIPGRQAQXBHN4BY3Y2FZDUVHIYG6SQH7H5HP5NPQVR4HVZHJRI",
"ISCC:GADUCK27AIQUBLC3ALIINORUJ6JEC4GHRWXSXLIO5VLKRE65RM6A5RI",
"ISCC:AADWN77F727NXSUSUVDFOUS64JFPMZ4GAR5NJ3O5P563LTMXWS5XNSQ"
],
"metahash": "1e208bad08ad56b5517e09bc8bc5e2281b2d8f21d096939a310f539cf5007d443772",
"gateway": "https://gateway.example.com/declaration/{iscc_id}"
}
Required fields: $schema, iscc_code, datahash, nonce, signature
Field Reference¶
@context¶
| Name | Type | Default | Definition |
|---|---|---|---|
| @context | string-uri |
http://purl.org/iscc/context | The JSON-LD Context URI for ISCC metadata. |
@type¶
| Name | Type | Default | Definition |
|---|---|---|---|
| @type | string |
IsccNote | The type of protocol metadata. |
$schema¶
| Name | Type | Default | Definition |
|---|---|---|---|
| $schema | string-uri |
http://purl.org/iscc/schema/iscc-note-0.7.0.json | The JSON Schema URI for ISCC Declaration metadata. |
iscc_code¶
| Name | Type | Default | Definition |
|---|---|---|---|
| iscc_code | string |
none | The ISCC-CODE identifying the digital content being declared. Mapped to JSON-LD @id, making it the RDF subject of the declaration. Supports full-length 256-bit ISCC-CODEs. Example: ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY |
datahash¶
http://purl.org/iscc/terms/#datahash
| Name | Type | Default | Definition |
|---|---|---|---|
| datahash | string |
none | A blake3 multihash of the digital content, hex-encoded with the 1e20 multihash prefix (blake3, 32-byte digest). Binds the declaration to the exact content bytes.Example: 1e20253d0f3460085c276f038de345c8e953a306f4a07f9fa77f5af8563c3d7274c5 |
nonce¶
http://purl.org/iscc/terms/#nonce
| Name | Type | Default | Definition |
|---|---|---|---|
| nonce | string |
none | Cryptographic nonce for replay protection. A 128-bit random value encoded as lowercase hexadecimal. Example: 0013a3c214c05796673503e6e549446d |
timestamp¶
http://purl.org/iscc/terms/#timestamp
| Name | Type | Default | Definition |
|---|---|---|---|
| timestamp | string |
none | RFC 3339 timestamp of declaration creation in UTC with millisecond precision. Optional on submission - an ISCC-HUB assigns the authoritative timestamp on receipt. Example: 2025-08-12T14:30:00.123Z |
signature¶
http://purl.org/iscc/terms/#signature
| Name | Type | Default | Definition |
|---|---|---|---|
| signature | object |
none | Cryptographic signature over the IsccNote, conforming to the iscc-crypto signing protocol. Uses EdDSA (Ed25519) with JCS canonicalization. |
units¶
http://purl.org/iscc/terms/#units
| Name | Type | Default | Definition |
|---|---|---|---|
| units | array |
none | The individual full-length ISCC-UNITs that compose the declared ISCC-CODE, enabling similarity matching against the declaration. One to four 256-bit ISCC-UNITs. Example: ['ISCC:IADSKPIPGRQAQXBHN4BY3Y2FZDUVHIYG6SQH7H5HP5NPQVR4HVZHJRI'] |
metahash¶
http://purl.org/iscc/terms/#metahash
| Name | Type | Default | Definition |
|---|---|---|---|
| metahash | string |
none | A blake3 multihash of the seed metadata, hex-encoded with the 1e20 multihash prefix (blake3, 32-byte digest). Same format as datahash.Example: 1e208bad08ad56b5517e09bc8bc5e2281b2d8f21d096939a310f539cf5007d443772 |
gateway¶
http://purl.org/iscc/terms/#gateway
| Name | Type | Default | Definition |
|---|---|---|---|
| gateway | string |
none | An HTTP(S) URL or RFC 6570 URI template of a gateway that serves metadata for the declared ISCC. Used by ISCC resolvers to discover content metadata. Example: https://gateway.example.com/declaration/{iscc_id} |