Name: Factchecker
Tagline: Professional fact-checking tool for WordPress that analyzes content quality, verifies claims with Tavily API, and provides actionable recommendations based on journalism standards.
Current status: Live
First commit / project start: January 9, 2026 (v1.0.0 initial release per CHANGELOG)
Factchecker is a WordPress plugin that brings professional journalism-grade fact-checking to the content editing workflow. It integrates into both Classic and Block (Gutenberg) editors, allowing writers and editors to analyze full documents or selected text for factual claims, source credibility, content structure, and citation quality. When the optional Tavily Search API is enabled, it verifies extracted claims against trusted web sources with tiered credibility scoring. The plugin produces an overall credibility score with categorized recommendations (critical, important, suggested) grounded in SPJ, AP, IFCN, and Poynter journalism standards.
Most AI writing tools focus on grammar, tone, or SEO — Factchecker focuses on accuracy and credibility. Its claim extraction uses pattern-matching to identify factual assertions (percentages, dates, monetary figures, “according to” attributions), then optionally verifies each against curated web sources using Tavily’s AI-oriented search API with a tiered source credibility model. The plugin operates within the WordPress editor workflow rather than as a separate tool, and its journalism-standards framing (SPJ, IFCN) positions it as a professional editorial tool rather than a generic content checker.
Platform: WordPress plugin (PHP 7.4+, WordPress 5.8+)
Deployment: Self-hosted WordPress, single-site
Primary interface: Classic Editor buttons (“Factcheck All” / “Factcheck Selection”) and Block Editor integration; admin settings for Tavily configuration, statistics, and debug logs
Primary user: WordPress content creators — writers, editors, and publishers who need pre-publish accuracy checks
Secondary users: Site administrators managing editorial quality standards; B2B media and journalism organizations; AI news and content sites (e.g., ainews.cafe, per knowledgebase discovery docs)
User environment: WordPress editorial workflow — Classic or Block editor, writing and reviewing content before publication
Content credibility is a growing concern in the age of AI-generated text and rapid publishing cycles. Editors lack efficient tools to verify factual claims before publication — manual fact-checking is time-consuming and inconsistent, and most AI writing assistants don’t distinguish between style and accuracy. Factchecker addresses this by automating claim extraction, source verification, structure analysis, and citation quality assessment directly within the editing workflow where content is created.
| Need | How the product addresses it | Source of evidence |
|---|---|---|
| Automated claim extraction from content | Pattern-matching identifies factual assertions (percentages, dates, monetary values, attributions) — up to 15 claims per analysis | class-analyzer.php claim extraction regex patterns |
| Source credibility assessment | Three-tier credibility model (tier1: .gov, .edu, Reuters, AP; tier2: established outlets; tier3: other) applied to verification sources | class-tavily-api.php assess_source_credibility() |
| Pre-publish accuracy workflow | Integrated into Classic and Block editors — no context switching to external tools | class-editor-integration.php, assets/js/block-editor.js |
| Content structure analysis | Evaluates heading/paragraph counts, list usage, table usage, and flags long paragraphs | class-analyzer.php structure analysis |
| Journalism-standards alignment | Recommendations grounded in SPJ, AP, IFCN, and Poynter standards | documentation/README.md credits section |
Editors manually googled claims one at a time, relied on writer self-reporting of sources, used general-purpose AI tools that couldn’t distinguish factual claims from opinions, or simply published with minimal verification under deadline pressure. No WordPress-native tool provided structured claim-by-claim verification with source credibility scoring.
Primary category: Editorial quality and fact-checking tools for content management systems
Market maturity: Early — dedicated fact-checking plugins for WordPress are rare; the market is dominated by SEO and grammar tools
Key dynamics: Growing demand for content credibility as AI-generated text proliferates. Journalism organizations are adopting AI-assisted verification workflows. WordPress dominates the CMS market (~40% of web) but has few editorial accuracy tools. [CLAUDE NOTE: inferred from market context]
| Product / Company | Approach | Strengths | Key gap this project addresses | Source |
|---|---|---|---|---|
| Grammarly / Hemingway | Grammar, tone, readability | Strong writing quality features | No factual claim verification or source credibility scoring | ⚡ General market knowledge |
| Yoast SEO / Rank Math | SEO optimization | Keyword and readability analysis | Focus on search rankings, not factual accuracy | ⚡ General market knowledge |
| Full Fact / ClaimBuster | Dedicated fact-checking platforms | Research-grade verification | Not WordPress-integrated; designed for journalists, not content creators | ⚡ General market knowledge |
| Generic AI chatbots | Ask-and-answer verification | Broad knowledge | No structured claim extraction, no source tier scoring, no editor integration | ⚡ General market knowledge |
Factchecker is positioned at the intersection of editorial workflow tools and journalism-grade verification, uniquely targeting WordPress content creators who need accuracy assurance without leaving their editor. Unlike SEO tools that optimize for search engines, Factchecker optimizes for truth. Unlike full fact-checking platforms designed for newsrooms, it’s accessible to any WordPress site. [CLAUDE NOTE: inferred from product design and documentation]
Defensibility comes from the curated trusted-domain list (targeting ≤100 vetted sources across verticals), the tiered credibility scoring model, Tavily integration with caching and quota management, and deep WordPress editor integration (both Classic and Block). The knowledgebase discovery documents show systematic curation of trusted outlets across tech, marketing, finance, business, manufacturing, and fact-checking verticals. [CLAUDE NOTE: inferred from codebase and knowledgebase]
Requirements were driven by modeling the professional fact-checker’s workflow: extract claims, verify against trusted sources, assess credibility, score structure, and produce actionable recommendations — then embedding that workflow into the WordPress editor where content is actually created. [CLAUDE NOTE: inferred from system prompt and analyzer design]
Hard constraints:
Explicit non-goals:
| Decision | Alternatives considered | Rationale | Evidence source |
|---|---|---|---|
| Rule-based claim extraction (regex) | LLM-based extraction | Deterministic, fast, no API cost for extraction; factual patterns (%, dates, money, attributions) are reliably detectable | class-analyzer.php regex patterns |
| Tavily as verification backend | Direct web scraping, Google API | AI-oriented search returns answer summaries; structured results with source URLs; cost-effective per-query pricing | class-tavily-api.php integration |
| Three-tier source credibility | Binary trusted/untrusted | Nuanced credibility scoring recognizes that .gov differs from established media differs from unknown sources | assess_source_credibility() domain rules |
| Transient-based caching (24h) | Database table, Redis | Lightweight, WordPress-native, auto-expiring; no additional infrastructure | class-cache-manager.php |
| XOR+base64 key obfuscation | OpenSSL encryption, plain text | Works on all PHP installations (no OpenSSL dependency); better than plain text storage | class-tavily-api.php obfuscation |
KB type: File-based system prompt + curated domain lists + role documentation
Location in repo: includes/default-system-prompt.txt, guardrails/default-system-prompt.txt, knowledgebase/
Estimated size: ~5 files totaling several KB of role definitions and domain curation
includes/
└── default-system-prompt.txt # Canonical system prompt (loaded on activation)
guardrails/
└── default-system-prompt.txt # Duplicate of system prompt
knowledgebase/
├── Factchecker Role # Professional fact-checker responsibilities
└── discovery/
├── urls discovery.md # Curated domain list by vertical (~100 target)
└── * We are building... # Variant of domain curation brief
training-data/ # Placeholder (empty, README only)
disambiguations/ # Placeholder (empty, README only)
| Category | Files / format | Purpose | Update frequency |
|---|---|---|---|
| System prompt | .txt (loaded into wp_option on activation) | Defines factchecker role, Tavily usage guidance, tier definitions, tone | Per release |
| Factchecker Role | Markdown | Professional fact-checker responsibilities: verification, sourcing, quotes, context, legal/ethical, documentation, independence | Reference document |
| Domain curation | Markdown in discovery/ | Target ≤100 trusted domains across verticals (tech, marketing, finance, business, manufacturing, fact-checkers) with tier definitions | Active curation |
| Trusted domain defaults | Hardcoded in class-tavily-api.php | .gov, .edu, reuters.com, apnews.com, bbc.com and more | Per release |
The system prompt was authored to define the fact-checker persona with specific Tavily integration guidance and source credibility tier definitions. The domain curation effort (documented in discovery/ files) systematically identified trusted outlets across B2B verticals — tech, marketing, finance, general business, vertical trades, manufacturing, and established fact-checking organizations — targeting a curated list of ≤100 high-credibility domains for Tavily verification queries.
System prompt approach: Single-file prompt loaded into WordPress option on first activation. Defines the factchecker role with Tavily usage guidance and source tier definitions. Option is registered in settings but not yet exposed in admin UI tabs.
Key behavioural guardrails: Verification against trusted sources only; three-tier credibility scoring; journalism-standards framing (SPJ, AP, IFCN, Poynter).
Persona / tone configuration: Professional editorial assistant tone; factual and constructive recommendations.
Tool use / function calling: Not applicable — the analyzer is deterministic PHP; Tavily is called as a search API, not as an LLM tool.
Built as a modular WordPress plugin with separated concerns: analyzer (claim extraction + scoring), Tavily API client (verification + caching), editor integration (Classic + Block), admin settings (configuration + statistics + logs), and logger (debugging). The project followed rapid iteration cycles with quick bug-fix releases (v1.0.0 → v1.0.3 in 4 days) followed by a stability-focused v1.1.0 release.
| Phase | Approximate timeframe | What was built | Key commits or milestones |
|---|---|---|---|
| v1.0.0 | January 9, 2026 | Core analyzer, Tavily integration, Classic + Block editor, settings, caching, documentation | Initial release |
| v1.0.1–1.0.3 | January 13, 2026 | API key encryption/save fixes, test connection with unsaved key, clear-factchecker-key utility | Rapid bug-fix releases |
| v1.1.0 | January 13, 2026 | Logger system, Debug Logs tab, try/catch + logging throughout, Tavily XOR encryption (no OpenSSL), plugins_loaded init, AJAX log management, PHP 7.x const fixes | Stability and observability release |
| Repo reorganization | February 9, 2026 | Directory restructuring documented in RENAME-REMAP-LOG.md | Organizational cleanup |
Development context includes CLAUDE.md with product positioning and ITI shared library references. The project references the ITI Agent System for development workflow support but does not integrate Claude as a runtime dependency in the shipped plugin.
| Challenge | How resolved | Evidence |
|---|---|---|
| API key security without OpenSSL | XOR + base64 obfuscation with AUTH_KEY-derived material and fc_ prefix | class-tavily-api.php obfuscation implementation |
| Tavily API cost management | 24h transient caching, monthly quota tracking per YYYY-MM option key, max 10 Tavily calls per analysis, max 3 results per query | class-cache-manager.php, class-tavily-api.php quota logic |
| Reliable claim extraction without LLM | Regex-based factual pattern detection (percentages, years, money, “according to” attributions) with 20-char minimum and 15-claim cap | class-analyzer.php claim extraction |
| Debug visibility in production | Dedicated Factchecker_Logger with rotating log file (~5MB), .htaccess protection, admin Debug Logs tab with download/clear actions | class-logger.php, admin Debug Logs tab |
| Dual editor support | Separate integration paths: Classic Editor buttons via class-editor-integration.php; Block Editor via localized script block-editor.js | admin/class-editor-integration.php, assets/js/block-editor.js |
| Model / API | Provider | Role in product | Integration method |
|---|---|---|---|
| Tavily Search API | Tavily | Claim verification via AI-oriented web search; optional answer field surfaced as ai_summary | HTTPS POST via wp_remote_post with caching and quota management |
| Tool | Category | Purpose |
|---|---|---|
| Tavily Search | Verification | Per-claim web search with stopword-trimmed queries; max 10 queries per analysis |
| Transient cache | Performance | 24h WordPress transient cache for Tavily results |
| Usage tracker | Cost control | Monthly quota enforcement per option key pattern factchecker_tavily_usage_YYYY-MM |
| Source credibility scorer | Trust | Three-tier domain classification applied to verification results |
| Tool | How used in build |
|---|---|
| Cursor IDE | Primary development environment with CLAUDE.md context |
| Claude AI | NOT FOUND — add manually (CLAUDE.md references but runtime does not use Claude) |
| Antigravity | Autonomous test execution, browser QA, visual regression testing — used per global CLAUDE.md tool lane |
| Version / Phase | Date | Summary of changes | Significance |
|---|---|---|---|
| 1.0.0 | 2026-01-09 | Initial release: analyzer, Tavily integration, Classic + Block editors, settings, caching, usage tracking, documentation | Feature-complete MVP |
| 1.0.1 | 2026-01-13 | API key encryption fix, unsaved key test connection | Bug fix |
| 1.0.2 | 2026-01-13 | Additional encryption fixes | Bug fix |
| 1.0.3 | 2026-01-13 | Key save workflow improvements | Bug fix |
| 1.1.0 | 2026-01-13 | Factchecker_Logger, Debug Logs tab, try/catch throughout, XOR encryption (no OpenSSL), plugins_loaded init, AJAX log management, PHP 7.x const fixes | Stability and observability |
The system prompt is registered as a WordPress option and included in settings registration, but no admin UI tab exposes it for editing — suggesting a planned user-facing prompt configuration feature that was deferred. The hooks/filters documented in README (ea_before_analysis, etc.) are not implemented in the current PHP codebase, indicating a planned extensibility layer that has not shipped.
| Artifact | Path | Type | What it shows |
|---|---|---|---|
| Admin settings CSS | assets/css/admin.css | Stylesheet | Settings page styling |
| Settings JS | assets/js/settings.js | JavaScript | Settings interaction, API test, tab switching |
| Block editor integration | assets/js/block-editor.js | JavaScript | Gutenberg factcheck button integration |
| Document | Path | Type | Status |
|---|---|---|---|
| Documentation README | documentation/README.md | Markdown | Comprehensive — installation, Tavily setup, troubleshooting, credits |
| CHANGELOG | documentation/CHANGELOG.md | Markdown | Current through v1.1.0 |
| START-HERE | documentation/START-HERE.md | Markdown | Quick-start guide |
| Release notes v1.0.1 | releases/RELEASE-NOTES-v1.0.1.md | Markdown | Detailed fix narrative |
| INDEX | INDEX.md | Markdown | Project overview and fix narrative |
| RENAME-REMAP-LOG | RENAME-REMAP-LOG.md | Markdown | Feb 9, 2026 directory reorganization |
| Artifact | Path | Description |
|---|---|---|
| Default system prompt | includes/default-system-prompt.txt | Seeded into WordPress option on activation |
| Factchecker Role knowledge | knowledgebase/Factchecker Role | Professional fact-checker responsibilities reference |
| Domain curation | knowledgebase/discovery/urls discovery.md | Curated trusted domain list by B2B vertical |
| Release ZIPs | releases/ | Versioned plugin packages |
| Key clearing utility | clear-factchecker-key.php | Companion plugin for pre-upgrade key cleanup |
The product emerged from the convergence of two trends: the explosion of AI-generated content creating credibility concerns, and the availability of AI-oriented search APIs (Tavily) that could power automated verification workflows. WordPress’s dominance in content publishing made it the natural platform, and professional journalism standards (SPJ, AP, IFCN) provided the evaluation framework. [CLAUDE NOTE: inferred from product design, documentation credits, and knowledgebase discovery docs]
Research approach used: Domain curation research documented in knowledgebase/discovery/ — systematic identification of trusted outlets across B2B verticals
Key market observations:
What existing products got wrong: They either focus on style (Grammarly) or SEO (Yoast) rather than factual accuracy; dedicated fact-checking tools require separate workflows outside the content editor. [CLAUDE NOTE: inferred]
If we embed professional-grade claim extraction and source verification directly into the WordPress editor — using Tavily for AI-powered search and a curated trusted-domain list for credibility scoring — content creators will produce more accurate content without the friction of separate fact-checking workflows. [CLAUDE NOTE: inferred from product architecture]
The initial v1.0.0 release delivered the core analyzer with Tavily integration, editor buttons, and settings UI. Rapid iteration through v1.0.1–1.0.3 addressed API key security and save workflow issues discovered in real-world deployment. The v1.1.0 release focused on production stability with a dedicated logging system, comprehensive error handling, and improved encryption. The knowledgebase shows active curation of trusted domains across verticals, suggesting ongoing investment in verification quality. Placeholder directories for training data and disambiguations indicate planned expansion into richer analysis capabilities.
What works well: Core claim extraction and credibility scoring pipeline is functional. Tavily integration with caching, quota management, and source credibility tiers provides genuine verification capability. Dual editor support (Classic + Block) covers the WordPress user base. Logging system in v1.1.0 provides production observability.
Current limitations: Claim extraction is regex-based, missing nuanced factual assertions that don’t match patterns. System prompt exists but is not user-editable in admin UI. Documented hooks/filters are not implemented. No Claude or other LLM integration despite CLAUDE.md references. Maximum 15 claims per analysis may be insufficient for long-form content.
Estimated completeness: Beta — core verification pipeline works, but extensibility and advanced features remain unimplemented.
_Manual input required — this section cannot be populated automatically._
| File / Path | What it contributed |
|---|---|
| factchecker.php | Sections 1, 4, 5, 6, 7 — plugin metadata, activation defaults, AJAX handlers, usage table, system prompt seeding |
| includes/class-analyzer.php | Sections 2, 4, 7 — claim extraction regex, structure analysis, citation analysis, credibility scoring, recommendation generation |
| includes/class-tavily-api.php | Sections 4, 5, 7 — Tavily integration, key obfuscation, quota tracking, source credibility tiers, trusted/blocked domains |
| includes/class-cache-manager.php | Section 7 — transient caching implementation |
| includes/class-logger.php | Section 6 — logging system architecture |
| includes/default-system-prompt.txt | Section 5 — system prompt content |
| admin/class-admin-settings.php | Sections 4, 8 — settings tabs, registered options, system prompt option registration |
| admin/class-editor-integration.php | Section 4 — Classic Editor button integration |
| CLAUDE.md | Sections 1, 6 — product positioning, ITI shared library references |
| INDEX.md | Section 8 — project overview and fix narrative |
| documentation/README.md | Sections 1, 2, 3, 7 — product description, journalism standards credits, installation guide |
| documentation/CHANGELOG.md | Section 8 — authoritative version history |
| documentation/START-HERE.md | Section 9 — quick-start documentation |
| knowledgebase/Factchecker Role | Section 5 — professional fact-checker responsibilities |
| knowledgebase/discovery/urls discovery.md | Sections 3, 5 — trusted domain curation, B2B vertical coverage |
| guardrails/default-system-prompt.txt | Section 5 — duplicate system prompt |
| releases/RELEASE-NOTES-v1.0.1.md | Section 8 — detailed fix narrative |
The fact-checking and content verification space has undergone a transformation since Factchecker’s January 2026 launch. AI-generated content is now pervasive — 41% of all code and a growing share of published text is AI-generated — and the tools to detect, verify, and authenticate content are proliferating in response. The vibe coding explosion means anyone can build a “fact-check my article” wrapper around a frontier LLM in an afternoon. FactMatters, Verilight, Webcite, and Fact AI Checker all appeared in the first quarter of 2026, each offering some variation of AI-powered claim verification with source citations.
What distinguishes serious fact-checking tools from wrappers is the same thing that distinguishes professional journalism from content mills: methodology, source curation, and editorial judgment. Factchecker was built on SPJ, AP, IFCN, and Poynter journalism standards — not because those acronyms look good in marketing copy, but because professional fact-checking has established practices for source evaluation, claim verification, and credibility assessment that random LLM calls don’t replicate. The three-tier source credibility model (Tier 1: .gov, .edu, Reuters, AP; Tier 2: established outlets and think tanks; Tier 3: industry publications) reflects considered editorial judgment about source reliability.
However, the LLM convergence trend creates a specific problem for Factchecker: its claim extraction is regex-based. It detects percentages, dates, monetary values, and “according to” attributions through pattern matching. This was a defensible design choice in January 2026 — deterministic, fast, no API cost. Three months later, competitors like FactMatters and Factiverse use LLM-powered claim extraction that catches nuanced assertions, hedged claims, implied facts, and sarcasm that regex patterns miss entirely. Factchecker’s extraction approach has gone from pragmatic to limiting. The Claude API client already exists in the ITI Shared Library; activating it is the highest-priority technical change.
The fact-checking tool landscape has shifted from niche to contested in three months.
New entrants since Factchecker’s January 2026 launch:
| Competitor | What They Do | Threat Level |
|---|---|---|
| FactMatters | Claim-level text analysis for publishing teams; categorizes issues as “misleading,” “questionable,” “incomplete”; real-time web verification with source citations; full check history; encryption | High — most direct competitor to our editorial workflow positioning |
| Verilight | AI-generated content verification; Green/Yellow/Red trust scores; flagged risky claims; suggested citations; exportable PDF reports | Medium — overlaps on claim verification |
| Webcite | Verification API for AI apps; extracts source passages; classifies citations; credibility scoring | Medium — API-first approach could reach WordPress via third parties |
| AP Verify | Unified verification dashboard from The Associated Press; AI geolocation, object detection, generative AI text detection | Low — targets newsroom journalists |
| Factiverse Live | Real-time transcription with speaker ID; 110+ languages; automated controversial statement detection | Low — focused on live broadcasts, not CMS content |
| Snopes FactBot | AI-powered Q&A against Snopes article database; uses Claude via Amazon Bedrock; REST API | Low — consumer-facing Q&A, not editorial workflow |
| Fact AI Checker | Instant AI verification; credibility score percentage; no sign-up required | Medium — frictionless consumer tool that sets user expectations |
| CheckIt | Browser extensions (Chrome/Firefox) + iPhone Shortcut; compares statements against millions of sources using OpenAI | Medium — browser extension approach is platform-agnostic |
Eroded differentiators:
| Feature We Claimed as Unique | Who Now Also Has It |
|---|---|
| AI-powered claim verification with source citations | FactMatters, Fact AI Checker, CheckIt, Webcite |
| Source credibility tiering | Webcite (journal/news/government classification), Verilight (trust scores), FactMatters (categorized sources) |
| Real-time web search during analysis | Nearly all competitors now do this |
What remains unique to Factchecker:
The roadmap addresses three priorities: upgrading from regex to LLM-powered claim extraction, integrating with the global fact-checking ecosystem, and building features no competitor has.
Tier 1 (next build cycle) contains five items. Claude API claim extraction (M) replaces the regex-based approach with Claude via the existing class-iti-claude-api.php shared library, maintaining regex as a fast-path fallback for simple patterns. This is the most important technical change — it transforms claim detection from pattern-matching to semantic understanding. Google Fact Check Tools API integration (M) cross-references extracted claims against fact-checks from 100+ verified organizations (Snopes, PolitiFact, FactCheck.org, AFP, Full Fact). System prompt editor in admin UI (S) exposes the already-registered-but-hidden prompt option. Hooks and filters API (S) implements the six documented-but-unshipped extensibility points (factchecker_before_analysis, factchecker_after_analysis, etc.). Verification audit trail per post (M) stores fact-check results as post meta with timestamped history.
Tier 2 builds white-space differentiation. ClaimReview schema output (M) auto-generates ClaimReview structured data (JSON-LD) from fact-check results for Google Fact Check Explorer indexing — no WordPress plugin does this. Exportable verification reports as PDF/HTML (M). Per-author accuracy dashboard (L) tracks fact-check results by author over time and surfaces patterns. Multi-source consensus scoring (M) combines Tavily + Google Fact Check API + Claude synthesis into weighted confidence scores. Pre-publish quality gate (S) optionally blocks publication when unresolved critical issues exist.
Tier 3 adds contextual claim importance ranking (M), vertical-specific trusted domain packs (L), AI-generated content detection integration (L), proactive source recommendation engine (M), and batch analysis for existing content archives (XL).
Tier 4 explores multi-language verification, browser extension companion, collaborative fact-checking workflow, image/media verification, real-time editing annotations, and a public-facing verification badge.
Sequencing logic: Claude API extraction comes first because the regex approach is now the product’s most significant technical limitation — it misses hedged claims, implied facts, and nuanced assertions. Google Fact Check API comes second because it connects Factchecker to the global fact-checking ecosystem rather than operating in isolation. The system prompt editor and hooks/filters are quick wins that unlock extensibility.
These Skills from the April 2026 roadmap cycle are directly relevant to Factchecker’s development:
Current strengths: Factchecker is the only WordPress plugin that combines claim extraction, source verification via Tavily, and credibility scoring within the editor workflow. The three-tier source credibility model is grounded in actual editorial judgment, not arbitrary scoring. The journalism-standards framing (SPJ, AP, IFCN, Poynter) is genuine — the system prompt and analysis pipeline were designed to model a professional fact-checker’s workflow. The logging system added in v1.1.0 provides production observability. And the curated trusted-domain list (targeting ≤100 vetted sources across B2B verticals) represents systematic editorial curation.
Acknowledged gaps: The regex-based claim extraction is Factchecker’s most significant limitation. It catches explicit factual patterns (percentages, dates, monetary values, “according to” attributions) but misses hedged claims, implied facts, sarcasm, and nuanced assertions that LLM-based extraction handles. The system prompt exists but has no admin UI for editing. The documented hooks/filters are not implemented in PHP. There’s no Claude or other LLM integration despite CLAUDE.md references. The maximum of 15 claims per analysis may miss important assertions in long-form content. Training data and disambiguation directories are empty placeholders. There’s no verification history, no exportable reports, no ClaimReview schema output, and no integration with the global fact-checking ecosystem (Google Fact Check Tools API).
What we’re watching: The speed at which FactMatters is gaining traction — it’s the most direct competitor to our editorial workflow positioning. The maturation of AI content detection APIs (Grammarly at 99% accuracy on the RAID benchmark, Pangram 3.2 with improved humanizer detection) — this is an adjacent capability our users will expect. The Google Fact Check Tools API adoption — if ClaimReview becomes standard for fact-checked content, plugins that generate it will have a structural advantage. And the browser extension approach (CheckIt) — platform-agnostic fact-checking could undermine the WordPress-native positioning if users prefer checking content wherever they are.
This product demonstrates how we approach editorial accuracy as a product problem — not just “send it to an LLM and ask if it’s true,” but structured claim extraction, curated source verification, and credibility scoring grounded in professional journalism standards. The regex-to-Claude upgrade is the most important next step, and the shared library infrastructure means it can happen without building the AI integration from scratch.