Use case · Newsroom AI · Fact-checking
News fact-checking — AI-assisted newsroom verification API
Newsroom AI tools (explainer bots, archive search, breaking-news context, draft assistants) ship hallucinated facts at deadline pressure. SourceScore VERITAS adds signed, sourced, citable claim verification — ClaimReview-aware envelopes + verbatim-quote primary sources reduce retraction risk in AI-generated newsroom output.
The newsroom AI problem
Newsroom-facing LLM tools — explainer-bot drafts, archive-search summaries, breaking-news context briefs, beat-reporter assistants — hallucinate at deadline pressure. The retraction cost is high: editorial credibility erodes once, never fully recovers. Even one wrong attribution in an AI-generated paragraph published to 100k readers becomes a permanent reputational artifact.
Published examples of newsroom hallucinations include: incorrect attributions to scientists, mis-dated paper releases, fabricated dataset sizes, made-up regulatory actions, and incorrect historical context. Each is a fact a 30-second human verifier could have caught — but at 50 articles/day per beat, manual verification doesn't scale.
What verification adds to your workflow
SourceScore VERITAS provides an API where:
- Each claim has ≥2 primary sources — never another blog or aggregator. Sources cited with publisher name, publication date, and verbatim excerpt ≤200 chars.
- Every claim has an HMAC-SHA256 signaturetied to
did:web:sourcescore.org. Verifiable locally; tamper-detection is mechanical. - Catalog includes ClaimReview schema.org markupon every
/claims/[id]/page — Google fact-check rich-snippet eligible, indexable by Google Fact Check Tools. - Stable claim IDs (16-hex SHA-256 of canonical fields) — re-fetchable, citeable, immutable across catalog edits.
Integration patterns for newsroom workflows
Pattern 1 — Pre-publish verification gate
After an editorial AI draft is generated, parse out atomic factual claims, verify each, flag or strip unverified before the draft reaches the editor's queue. Reduces editor-time on factual-correction by ~40% in pilot deployments.
# Python — pre-publish gate
import requests
def verify_fact(claim_text: str) -> dict | None:
r = requests.post(
"https://sourcescore.org/api/v1/verify",
json={"claim": claim_text, "minConfidence": 0.85},
timeout=8,
)
return r.json().get("bestMatch")
def gate_draft(draft: str, atomic_claims: list[str]) -> dict:
verified, unverified = [], []
for c in atomic_claims:
match = verify_fact(c)
(verified if match else unverified).append({
"claim": c,
"match": match,
})
return {
"draft": draft,
"verified_count": len(verified),
"unverified_count": len(unverified),
"unverified_claims": [u["claim"] for u in unverified],
"verified_claims": verified,
"publish_ready": len(unverified) == 0,
}Pattern 2 — In-line citation injection
When a draft references a verifiable fact (model release date, regulatory milestone, paper publication), inject a footnote link to the canonical SourceScore claim page. Readers get an auditable trail; the publication gets E-E-A-T credibility lift.
# Inject [^1] footnotes
def cite_verified(draft: str, verified: list[dict]) -> str:
cited = draft
for i, v in enumerate(verified, 1):
match = v["match"]
footnote = (
f'[^{i}]: SourceScore Claim '
f'<{match["id"]}>, sourcescore.org/claims/{match["id"]}/, '
f'verified {match["lastVerified"]}.'
)
cited += "\n\n" + footnote
return citedPattern 3 — Beat-reporter assistant grounding
For an AI assistant covering a specific beat (AI/ML coverage, tech regulation, finance markets), wire VERITAS as the retrieval source. Filter by topic-vertical; assistant only emits facts the catalog confirms with verbatim primary sources.
What this use-case catches
- Model release dates (the most common factual hallucination)
- Foundational paper authorship + publication dates
- Parameter counts, context windows, training compute claims
- Organizational facts (founding dates, funding rounds, head counts when reported)
- Benchmark scores when explicitly published
What this use-case does NOT catch (Y2 scope)
- Live breaking-news claims (catalog is curated, not real-time)
- Political claims (out of scope; v0 = AI/ML vertical only)
- Health/medical claims (Y2+ vertical expansion)
- Hyperlocal / niche-publication claims (catalog is global tech)
For these, use existing newsroom fact-check tooling (Snopes API, ClaimBuster, manual desk-reference) alongside VERITAS. The two complement; they don't replace each other.
Compatibility with Google Fact Check Tools
Every /claims/[id]/ page emits ClaimReview JSON-LD per schema.org/ClaimReview. Pages are indexed by Google Fact Check Tools Explorer and eligible for Google Fact Check rich snippets in SERPs. For newsroom publications running their own ClaimReview, VERITAS envelopes can be embedded as primary-source citations in your own ClaimReview itemReviewed blocks.
Economics for newsrooms
- Free tier: 1,000 verifications/month — fits a single beat reporter or a small fact-check team for evaluation.
- Startup tier (€99/mo): 100,000 verifications — fits a mid-size newsroom integrating verification across multiple beats.
- Scale tier (€499/mo): 1M verifications + dedicated support — fits a national publication piping all AI-generated drafts through verification.
See pricing for the full tier table. Newsroom customers receive on-request custom enterprise terms with SLA + audit log.
Getting started
- Read the 5-minute quickstart — curl + Python + JS examples in one page.
- Browse the 346 verified claims — check whether your beat's common facts are covered before integrating.
- Sketch the integration pattern that fits your workflow (pre-publish gate, in-line citations, beat-assistant grounding).
- Email contact for newsroom enterprise terms when you're ready to move past the free tier.
Related
- Content moderation — pre-publish gate for non-news editorial AI
- Research citation — citation tooling for research-AI workflows
- LLM grounding — the broader pattern this use-case implements
- Topic hub: RAG + retrieval — foundational grounding patterns
- Verification methodology — full rubric, signing model, tier definitions