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
| Name | Type | Description |
|---|---|---|
@context | string[] | REQUIRED. It MUST comply with OP VC Data Model. Additionally, the third value MUST be "https://originator-profile.org/ns/cip/v1". |
type | string[] | REQUIRED. It MUST be ["VerifiableCredential", "ContentAttestation"]. |
issuer | string | REQUIRED. It MUST be the OP ID of the CA issuer. |
credentialSubject | object | REQUIRED. A JSON-LD Node Object containing the following credentialSubject properties. |
allowedUrl | string | string[] | REQUIRED. Properties defined for Content Attestation. It MUST NOT be an empty array. |
target | object[] | REQUIRED. Properties defined for Content Attestation. It MUST NOT be an empty array. |
credentialSubject Properties
| Name | Type | Description |
|---|---|---|
id | string | REQUIRED. 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. |
type | string | REQUIRED. It MUST be Article. |
headline | string | REQUIRED. Title of the content. |
description | string | REQUIRED. A description of the content. |
image | object | OPTIONAL. 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. |
datePublished | string | OPTIONAL. The publication date and time. MUST be of the dateTimeStamp data type. |
dateModified | string | OPTIONAL. The last modified date and time. MUST be of type dateTimeStamp data type. |
author | string[] | OPTIONAL. An array of author names. |
editor | string[] | OPTIONAL. An array of editor names. |
genre | string | OPTIONAL. 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="
}
]
}