Skip to main content

Content Attestation of Article Type

Terminology

For terms not explained in this document, please see Terminology.

  • Content Attestation (CA)

Article Data Model

Complies with Content Attestation.

Property

Article Properties

NameTypeDescription
@contextstring[]REQUIRED. It MUST comply with OP VC Data Model. Additionally, the third value MUST be "https://originator-profile.org/ns/cip/v1".
typestring[]REQUIRED. It MUST be ["VerifiableCredential", "ContentAttestation"].
issuerstringREQUIRED. It MUST be the OP ID of the CA issuer.
credentialSubjectobjectREQUIRED. A JSON-LD Node Object containing the following credentialSubject properties.
allowedUrlstring | string[]REQUIRED. Properties defined for Content Attestation. It MUST NOT be an empty array.
targetobject[]REQUIRED. Properties defined for Content Attestation. It MUST NOT be an empty array.

credentialSubject Properties

NameTypeDescription
idstringREQUIRED. MUST be a CA ID. CA ID is a UUIDv4 URN format string. There is a one-to-one correspondence between content and CA IDs.
typestringREQUIRED. It MUST be Article.
headlinestringREQUIRED. Title of the content.
descriptionstringREQUIRED. A description of the content.
imageobjectOPTIONAL. A thumbnail image for the content. RECOMMENDED if a thumbnail image is available. It MUST be a JSON-LD Node Object of type image datatype. This property allows you to verify the CA.
datePublishedstringOPTIONAL. The publication date and time. MUST be of the dateTimeStamp data type.
dateModifiedstringOPTIONAL. The last modified date and time. MUST be of type dateTimeStamp data type.
authorstring[]OPTIONAL. An array of author names.
editorstring[]OPTIONAL. An array of editor names.
genrestringOPTIONAL. Genre.
note

The properties in credentialSubject were decided based on https://schema.org/Article. We plan to decide the extent to which we will comply with schema.org regarding the interpretation of each property and whether it is necessary or not, based on exchanges of opinions with companies that use OP.

Appendix

example

This section is non-normative.

Below is an example of Content.

{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://originator-profile.org/ns/credentials/v1",
"https://originator-profile.org/ns/cip/v1",
{ "@language": "en" }
],
"type": ["VerifiableCredential", "ContentAttestation"],
"issuer": "dns:example.com",
"credentialSubject": {
"id": "urn:uuid:78550fa7-f846-4e0f-ad5c-8d34461cb95b",
"type": "Article",
"headline": "<Title of the Web page>",
"image": {
"id": "https://media.example.com/image.png",
"digestSRI": "sha256-WNn1owxcJX6uwrNFOhPX+npz4j46s3a1cExjX5wWVxw="
},
"description": "<A description of Web page>",
"author": ["Jane Smith"],
"editor": ["John Smith"],
"datePublished": "2023-07-04T19:14:00Z",
"dateModified": "2023-07-04T19:14:00Z",
"genre": "Arts & Entertainment"
},
"allowedUrl": ["https://media.example.com/articles/2024-06-30"],
"target": [
{
"type": "VisibleTextTargetIntegrity",
"cssSelector": "<CSS Selector>",
"integrity": "sha256-GYC9PqfIw0qWahU6OlReQfuurCI5VLJplslVdF7M95U="
},
{
"type": "ExternalResourceTargetIntegrity",
"integrity": "sha256-+M3dMZXeSIwAP8BsIAwxn5ofFWUtaoSoDfB+/J8uXMo="
}
]
}