Fact Integrity · CitePulse.ai — by GeoFlow Solutions
How to detect wrong prices and brand facts in AI answers
Feature facts and the example below as of 9 September 2026. Fact Integrity is part of every monitoring plan.
Short answer. You approve a short registry of facts about your brand: prices, metrics, features (10 facts on Shield, 20 on Protect, 30 on Scale). Every weekly run compares two things against that registry: what the AI engines answered to your buying questions, and what your own website says. Each fact gets a status, match, partial_match, conflict or missing, with a severity derived from the size of the difference, shown in your dashboard and report. It never claims "the AI is wrong"; it says "the AI, or your site, diverges from the fact you approved". Sometimes the fact is the stale one. Section 3 shows that happening to us.
1. Scope: what is checked and what is not
| Fact type | Auto-checked? | Example |
|---|---|---|
| Pricing | yes | "Shield costs $89 per month" |
| Metric | yes | "The free audit asks 5 buying questions, 3 times each" |
| Feature | yes | "Full Audit adds Claude as a fourth engine" |
| Positioning, founder quotes, legal, comparisons | no, registrable only | kept in the registry and published in your signed facts feed, not diffed automatically (too much room for false precision) |
Check surfaces: ai_answer (the engines' live answers from the weekly run), web_crawl (your own site and the pages the engines cite), partner_listing (directory and partner pages that describe you). The comparison is one bounded call to Claude with your approved registry as the ground truth (about 600 tokens), measured at under one cent per check. Severity is derived deterministically from the kind and size of the difference, not chosen by the model.
2. What you see
- Dashboard → Fact Integrity: every approved fact with its latest status per surface, the observed value verbatim, and the source URL when the drift came from a page.
- Statuses: a
conflictis marked critical or warning by the size of the difference;partial_matchis a warning. Both stay visible until the fact or the surface changes. Drift does not send a separate e-mail today; it is part of the weekly run's results. - Report: a Fact Integrity section with a score (share of facts matching across surfaces) and the drift list.
- Your facts feed: the approved registry can be published as a signed JSON feed, so anyone, including AI crawlers, can read the version you stand behind (we publish our own).
3. A documented example, on our own domain
Approved fact (feature): "Queries ChatGPT, Perplexity, Gemini, and Google AI Overviews" for the free audit. Surface: web_crawl of citepulse.ai. The checker returned:
| Checked (UTC) | Status | Severity | Observed value, verbatim |
|---|---|---|---|
| 2026-08-23 06:02 | partial_match | warning | "ChatGPT, Perplexity, Gemini (Google AI Overviews not explicitly mentioned)" |
| 2026-08-31 06:02 | partial_match | warning | "ChatGPT, Perplexity and Gemini named; Google AI Overviews not explicitly mentioned" |
| 2026-09-05 20:28 | partial_match | warning | "ChatGPT, Perplexity, Gemini" |
| 2026-09-06 06:04 | partial_match | warning | "ChatGPT, Perplexity, Gemini mentioned for free audit" |
What was actually true. The fact was the stale one. Between 12 July and 8 September 2026 our Google AI Overviews source was silent (the data provider's balance had run out) and the site copy had quietly stopped promising it. The checker kept flagging the gap for two weeks. Handling: the provider was restored on 8 September, the older duplicate fact was deprecated, and the site copy and the approved fact were re-aligned. A second example from the same period: "Full Audit adds Claude as a 4th engine" came back partial_match because Claude was mentioned on the demo page but not tied to the Full Audit; the copy, not the fact, was fixed.
What this example does not show: a conflict from an AI answer (an engine stating a wrong price). On our domain the engines do not mention us at all yet (research study), so there is no answer to diverge. Counts across all customers to date: 172 match, 14 partial_match, 0 conflict, 0 missing.
4. Limits
- Caps: 10 / 20 / 30 approved facts by plan; only pricing, metric and feature facts are diffed automatically.
- A fact is checked against the answers the weekly run happened to get; an engine that did not mention you that week yields no
ai_answercheck for that fact. - The observed value is an excerpt as the engine or page stated it; we store excerpts, not full answers.
- Approval is the one human step: nothing is checked until you approve the fact, and a wrong approved fact produces wrong drift, as in the example.
5. Price
Included in Shield ($89 / month), Protect ($169) and Scale ($349, per client domain). No per-check fees. Full list: pricing.