Newsible Vocabulary (newsible:)
This namespace extends schema.org with properties specific to Newsible's signed, verifiable news record format.
Base URI: https://newsible.ai/ns#
Declared in every Newsible record as
"newsible": "https://newsible.ai/ns#" inside the JSON-LD
@context, alongside "@vocab": "https://schema.org/".
How these terms appear in records
Two usage patterns are in play. Most newsible: terms appear as
PropertyValue entries inside the schema.org identifier
array, with propertyID set to newsible:<term> and the
data carried in value. A smaller set —
wordCount, resolvedText, footnoteRefs, and
claimAttribution — are used as direct properties on the record node.
Feed-level pagination terms appear on the feed wrapper, not on individual records.
Identity and provenance
Emitted as PropertyValue entries in the record's
identifier array. Present on every published record.
| Term | Type | Definition |
|---|---|---|
| releaseUUID | string (UUID) |
Unique identifier assigned by Newsible to this specific release record.
Example: 64c96963-2cfd-4750-af61-0fc69a92ce79
|
| provenanceId | string (UUID) |
Identifier linking this record to its provenance and verification chain within
Newsible's system. Omitted on archive-import records.
Example: b641580f-8916-452f-b0a2-195f744af2e1
|
| contentHash | string |
Cryptographic hash of the record's content, used to detect tampering. Format is
sha256:<hex digest>, computed over
content || title || subtitle.
Example: sha256:90a52f448e1f4a8ba891b361c97c5e0e88b000f761dfd0076bae498499d6e813
|
| hashAlgorithm | string |
Name of the hashing algorithm used to produce contentHash.
Example: SHA-256
|
| signedFields | string (comma-separated field list) |
The exact record fields covered by contentHash and
contentSignature, in hashing order. Fields not listed here
(keywords, topics, entities, location, classification, retrieval
eligibility and other derived metadata) are not signed, so
corrections to them legitimately leave the signature unchanged.
Example: content,title,subtitle
|
| canonicalization | string (identifier) |
Identifier for how signedFields are serialized before hashing.
utf8-concat-v1 means the listed fields are concatenated in order
as UTF-8 text with no delimiters and no normalization, with null or missing
fields treated as the empty string.
Example: utf8-concat-v1
|
| contentSignature | string (base64) |
Digital signature over the content hash, produced with the algorithm named in
signatureAlgorithm and verifiable against the public key at
verificationMethod.
|
| signatureAlgorithm | string |
Name of the signature algorithm used to produce contentSignature.
Example: ECDSA-P256-SHA256
|
| verificationMethod | string (URL) |
URL of the public key used to verify contentSignature.
Example: https://newsible.ai/.well-known/newsible-public-key.pem
|
| provenanceValidUntil | string (ISO 8601 datetime) |
The date and time after which the provenance signature should be considered
expired and re-verified.
Example: 2027-08-11T07:05:00+00:00
|
| clientSlug | string |
Stable short identifier for the publishing organization, used as the path segment
in that organization's Newsible feed and record URLs.
Example: nissan
|
Lifecycle and corrections
Emitted as PropertyValue entries in the identifier array, and
present only on records that have been corrected, superseded, or retracted. Newsible
never edits a published record in place: a correction is a new record, and the original
is marked and linked forward.
| Term | Type | Definition |
|---|---|---|
| lifecycleStatus | string |
Position of this record in its correction chain. One of
current, correction, superseded, or
retracted.
|
| correctionOf | string (URL) | Canonical URL of the earlier record that this record corrects. |
| supersededBy | string (URL) | Canonical URL of the later record that replaces this one. Present on the record being replaced. |
| correctionNote | string | Human-readable explanation of what was corrected or why the record was retracted. |
Direct record properties
Used as properties on the record node itself, not wrapped in a
PropertyValue. Present when Newsible's enhancement layer has produced the
corresponding data for a record.
| Term | Type | Definition |
|---|---|---|
| wordCount | integer |
Word count of the record's articleBody.
Example: 1217
|
| duplicatesArticleBody | boolean |
Set on a hasPart node whose text is a verbatim copy of a
span already present in the parent record's articleBody. The duplicate
is intentional: the segment text is what the segment's
newsible:contentHash attests to. Consuming systems should treat the
node as a structural view of existing content and index it once, using the node's
@id for deduplication.
Example: true
|
| resolvedText | string | The record's body text with footnote markers and inline references resolved in place, so a consuming system can read the content without following references. |
| footnoteRefs | array of newsible:FootnoteRef |
The footnotes appearing in the record, each paired with the marker it resolves. |
| claimAttribution | array of newsible:ClaimAttribution |
Statements in the record paired with the party they are attributed to, so a consuming system can cite a claim to its source rather than to the record as a whole. |
Feed-level properties
Emitted on the feed wrapper of a paginated Newsible feed (for example
https://api.newsible.ai/ai-feed), not on individual records.
| Term | Type | Definition |
|---|---|---|
| page | integer |
1-based index of the page of results represented by this response.
Example: 1
|
| totalPages | integer | Total number of pages available for the current feed query. |
| totalItems | integer | Total number of records matching the current feed query across all pages. |
| usageNote | URL |
Link to payload and signature-scope guidance for consumers of the feed.
Example: https://newsible.ai/ns#payload-guidance
|
Payload and signature-scope guidance
Each record carries its complete text in the canonical field for its
Schema.org type — articleBody for article-type records, and the
Person node's description for
ProfilePage records. The same text also appears in
hasPart, segmented into individually hashed passages for
retrieval systems. These are two representations of the same content:
consumers should use one or the other, not both.
Cryptographic signatures (newsible:contentSignature) attest to
the record as a whole. The signed payload is declared by
newsible:signedFields and serialized
as declared by
newsible:canonicalization.
Derived metadata — keywords, topics, entities, location, classification,
retrieval eligibility — is not covered by the signature, so metadata-only
corrections legitimately retain the original signature.
Per-segment newsible:contentHash values inside
hasPart are change-detection fingerprints for individual
passages. They are not standalone signatures and should not be treated as
independently attested claims about a passage.
Node types
Used as @type values on nested nodes, not as properties.
| Type | Used by | Definition |
|---|---|---|
| FootnoteRef | newsible:footnoteRefs |
A single footnote from the record: the marker as it appears in the body and the footnote text it refers to. |
| ClaimAttribution | newsible:claimAttribution |
A single claim from the record paired with the person or organization it is attributed to. |
Example
A trimmed Newsible record showing the context, three identifier entries, and one direct property:
{
"@context": {
"@vocab": "https://schema.org/",
"newsible": "https://newsible.ai/ns#"
},
"@type": "NewsArticle",
"headline": "Example announcement",
"newsible:wordCount": 1217,
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "newsible:releaseUUID",
"value": "64c96963-2cfd-4750-af61-0fc69a92ce79"
},
{
"@type": "PropertyValue",
"propertyID": "newsible:contentHash",
"value": "sha256:90a52f448e1f4a8ba891b361c97c5e0e88b000f761dfd0076bae498499d6e813"
},
{
"@type": "PropertyValue",
"propertyID": "newsible:signatureAlgorithm",
"value": "ECDSA-P256-SHA256"
}
]
}