Shwetank Ojha
Free Chrome Extension

See what ChatGPT & Gemini
actually cite.

Every hidden search query, every source read, every brand named behind an AI answer — captured locally. Nothing leaves your device.

A free citation checker and citation finder for ChatGPT and Gemini — formally listed as LLM Citation & Fan-Out Checker.

Analyze — live capturelive
ambient.ai/pricingcited
g2.com/reviews/ambientfetched
“ambient ai alternatives”fan-out

One prompt like “best trading app in India” can trigger 5+ hidden search queries and pull in 15+ sources.

You currently see none of it. CitoSkeleton shows all of it.

0

Network requests made

2

AI engines live today

11

Sheets per Excel export

3

Campaigns running at once

Under the hood

Built so a format change
never loses your data.

01

Read, don't interfere

Copies the network response as it streams past — never modifies, blocks, or delays your conversation.

02

Store raw, first

The untouched response is compressed and saved as an immutable record, before anything tries to parse it.

03

Then structure it

A separate adapter turns the raw record into the sources, queries, and brands you actually browse.

04

Reprocess, don't lose

If a site changes format, “Reprocess all” re-derives everything from raw — no re-browsing, ever.

Outcome 1 · Analyze

See exactly what
one AI answer
really did.

Open any captured conversation and see what the model searched, read, and credited — not just what it said.

Full reconstructed answer text, exactly as the model produced it
Every fan-out query the model ran before answering (ChatGPT only — Gemini's web app doesn't expose these)
Every source split into cited, fetched, or mentioned
Brand and entity detection with zero setup, in any industry — not a hardcoded tech-brand list
The specific reason a brand was named, when the answer states one ("fast charging," "lowest brokerage")
Products surfaced in shopping-style answers: name, price, rating, merchant, thumbnail
Local businesses for "near me" queries: rating, reviews, address, phone, hours, a working Maps link
Gemini Pro's visible reasoning trace, captured separately from the final answer
One-click download of the raw network payload, for anyone who wants to audit it
Outcome 2 · Dashboard & Compare

See patterns
across everything
you've captured.

One capture is a data point. A hundred captures are a pattern — if you can actually see across them.

Aggregate stats across every capture — total captures, searches triggered, fan-out queries, unique domains, citations, fetches
Every number is clickable and drills into the underlying list, filtered by whatever's currently active
Group captures into named Projects to scope the whole dashboard
Compare — run the same prompt over time, see every run side by side, with up/down arrows on who gained or lost ground
Delete individually or in bulk; every list exports
Outcome 3 · Campaigns — the flagship

Track your brand against
competitors, on a schedule.

A repeatable measurement system, deliberately kept separate from casual browsing — so the numbers stay comparable day over day.

Campaign data is structurally isolated from ordinary browsing — not filtered out, kept separate at the point of storage. An unrelated question you ask ChatGPT can never inflate a campaign's numbers, and a campaign can never pollute your casual history.

Up to 3 campaigns running at once
Add prompts one per line, or import a CSV/Excel sheet — columns matched by header name
Tag every prompt, filter every metric by tag, rename or delete a tag globally
ChatGPT and Gemini run today; Perplexity, Claude, and Grok show disabled with "coming soon"
Deleted campaigns sit in a 7-day recovery trash before permanent deletion

Running a campaign submits prompts through your real, logged-in account, at a human-like pace — never a burst. Before it starts, you see exactly how many submissions it will make, and get a clear warning past 60. Nothing runs unattended; every campaign needs a manual click to fire.

Brand comparison — this week tag: brand
Brand
Visibility
Share of Voice
Position
Your brand
45%
25%
2.1
Competitor A
61%
40%
1.6
Competitor B
29%
18%
2.9
Illustrative — Visibility and Share of Voice use Peec.ai's published formulas verbatim.

Plus a per-prompt breakdown — which specific prompts you're winning or losing, not just an averaged score — and a full CSV export of the metrics table.

Deleted campaigns get a 7-day recovery window — the response data is kept either way.

Five metrics.
No fabricated sixth.

Visibility and Share of Voice use Peec.ai’s published formulas verbatim — numbers you can defend to a client, not another invented score.

Visibility% of responses that mentioned your brand at all — mentions ÷ total responses.
Share of VoiceYour mentions as a % of every tracked brand's combined mentions.
PositionAverage rank by order of first appearance — averaged only where your brand actually appeared.
CitationsHow many responses cited your own domain directly.
Source VisibilityHow many responses had your domain surface as a source at all, cited or not.

Sentiment — deliberately not measured

A trustworthy 0–100 sentiment score needs either a second-pass AI judge or a hand-built lexicon — neither exists here yet. Shipping a fabricated number in a measurement tool would be worse than admitting the gap. This is a quality stance, not an oversight.

Export something you’d
actually send a client.

  • Excel workbook — 11 worksheets: summary, audit log, sources, domains, fan-out, brand mentions, products, local businesses, entities, and full answer text
  • Clean HTML or print-ready PDF — real selectable text, ChatGPT's inline citations rendered as numbered footnotes, product images embedded
  • Bulk PDF across multiple conversations with an automatic table of contents
  • Detailed CSV, raw bulk JSON, and one-click CSV on every dashboard drill-down
CSV exports are hardened against formula injection — safe to open in Excel.
SummaryAudit LogSourcesDomainsFan-OutBrand MentionsProductsLocalEntitiesAnswers
Search rate78%
Total citations142
Most-cited domaing2.com
Unique domains56
Why trust it

Provably safe.
Not just claimed.

01

Reads 3 domains. Never <all_urls>.

chatgpt.com, chat.openai.com, gemini.google.com — nothing else, ever.

02

Zero network requests.

Not “we don't sell your data” — there is no server to send it to. Check DevTools yourself.

03

Nothing runs unattended.

Every campaign fires only on a manual click. CitoSkeleton only reminds you once a day if a scheduled run hasn't happened yet.

04

No account, no cloud, no per-seat fee.

Compare to Peec.ai, Semrush AIO, or Profound — all require sending your strategy to their servers. CitoSkeleton has no server to send it to.

05

Storage is capped, not unbounded.

Defaults to the most recent 2,000 captures, configurable — plus a one-click “clear everything.”

Engine support, stated exactly.

Nothing rounded up. Nothing implied that isn’t built.

ChatGPTLive today

Fan-out queries, cited/fetched sources, products, local businesses, brand detection, full answer capture.

GeminiLive today

Everything except fan-out queries — Gemini's web app doesn't expose them. Includes the Pro reasoning trace where available.

On the roadmap — not yet functional
Perplexity · coming soonClaude · coming soonGrok · coming soonGoogle AI Mode · coming soon

Google AI Mode is a distinct surface from regular Google/Gemini search that does expose real fan-out data — the next major frontier for this tool. Sentiment scoring and visual trend charts aren’t built yet either (the underlying data for charts already exists, just not drawn).

Built for people who need a citation checker, not a subscription

Marketing & brand teamsSEO-turned-GEO specialistsFoundersSolo researchers

From “does ChatGPT even know my product exists?” to a structured, repeated competitive tracking program — without trusting a third-party SaaS with your competitive research strategy.

Questions, answered honestly

Including the things a marketing page usually leaves out — account safety, what happens when a platform changes format, and exactly what isn’t built yet.

Beginner(7)

What does CitoSkeleton actually do?

It's a free AI citation checker — a Chrome extension that passively records what ChatGPT and Gemini do behind an answer — the hidden search queries they run before responding, every source they read, which of those sources they credit by name versus quietly use without credit, and every brand, product, or local business they mention. You can look at any single answer in detail, or track your brand against named competitors across a fixed set of prompts on a repeatable cadence for ongoing GEO (generative engine optimization) visibility. Everything is stored locally in your browser.

What is an AI citation checker?

An AI citation checker — sometimes called a citation finder — is a tool that shows you which sources a large language model like ChatGPT or Gemini actually read and credited while generating an answer, instead of leaving you to guess. CitoSkeleton is a free citation checker built specifically for this: it passively captures the hidden fan-out queries, the sources read, and the sources credited behind every AI answer, entirely inside your own browser, then rolls that up into brand visibility and share-of-voice tracking against named competitors.

Is it free? Do I need an account?

Free, no account, no login, no subscription. There's no server for an account to exist on — everything runs and stays inside your browser.

Which AI platforms does this actually work with?

ChatGPT works fully today: fan-out queries, cited and fetched sources, products, local businesses, brand detection, the complete answer text. Gemini works for everything except fan-out queries — Gemini's web app simply doesn't expose them, which is a limitation of Gemini itself, not a gap in CitoSkeleton. Perplexity, Claude, Grok, and Google AI Mode are on the roadmap and shown as "coming soon" where they appear — they are not functional yet, and CitoSkeleton doesn't pretend otherwise.

Does any of my data get sent to a server?

No. CitoSkeleton makes no network requests of its own — there's nothing to send data to, because there's no server behind it. It only reads network responses your browser already received because you were using ChatGPT or Gemini normally, and stores what it reads in your browser's local database (IndexedDB).

What's a "fan-out query"?

One question you type into ChatGPT often becomes several hidden searches behind the scenes — a prompt like "best trading app in India" can trigger 5 or more sub-queries and pull in 15+ sources before you see a single word of the answer. Those sub-queries are the fan-out. Until you can see them, you have no idea what the model actually went looking for on your behalf.

What's the difference between cited, fetched, and mentioned?

Cited means the model named that source directly in its answer. Fetched means the model read the source but never credited it. Mentioned means it's referenced without a live citation. The gap between fetched and cited is usually the single most useful thing in the tool — it's a site the model trusted enough to read, but not enough to name.

Intermediate(8)

How does the passive capture actually work?

A content script running in the page's own JavaScript context patches fetch and XMLHttpRequest before ChatGPT or Gemini's own code runs, then copies (tees) the network response as it streams past. It doesn't modify, block, delay, or interfere with your conversation in any way — it's a read-only copy of traffic your browser was going to receive regardless of whether CitoSkeleton was installed.

What happens when OpenAI or Google change their response format?

The raw, unmodified network response is compressed and stored first, as an immutable record — before anything tries to parse it. A separate adapter then turns that raw data into the structured view you actually use (queries, sources, brands, products). If a format change breaks the adapter, nothing you've already captured is lost: the raw records are still sitting there untouched, and a "Reprocess all" pass re-derives every one of them the moment the adapter is fixed — with zero re-browsing required.

What is a Campaign, and how is it different from just asking ChatGPT things normally?

A Campaign is a fixed, named measurement setup: your brand and URL, up to several named competitors and their URLs, a fixed set of prompts, and which engines to run them on. Once you lock a campaign, that definition stays fixed so results are comparable day over day — editing it afterward is treated as a "this breaks your trend line" action that CitoSkeleton warns you about, not something it lets you do silently. It's built for repeatable tracking, not one-off curiosity.

How is Visibility calculated? How is Share of Voice calculated?

Visibility is the percentage of responses that mentioned your brand at all — responses mentioning the brand divided by total responses. Share of Voice is your brand's mentions as a percentage of every tracked brand's combined mentions — your mentions divided by everyone's mentions. Both are calculated using the same published formulas as Peec.ai, a well-known paid GEO analytics tool, so the numbers are apples-to-apples comparable with anyone using that category of product.

Why isn't there a Sentiment score?

Because a trustworthy 0–100 sentiment score needs either a second-pass AI judge or a hand-built lexicon, and neither is in place yet. Shipping a fabricated number in a measurement tool would be worse than admitting the gap, so CitoSkeleton simply doesn't measure it. This is a deliberate quality stance, not an oversight — the same standard that keeps Position honest (see below) rather than showing every metric as "complete."

Can I import my own prompt list instead of typing prompts one by one?

Yes. You can type prompts one per line, or import a CSV or Excel (.xlsx) file directly. Columns are matched by header name — Prompt, Query, Tags, Industry, Category, and similar — so a real prompt sheet from a research team usually imports with zero reformatting.

Is running a Campaign safe for my ChatGPT or Gemini account?

Campaign runs submit prompts through your real, logged-in account, at a human-like pace with randomized delays rather than a burst — and CitoSkeleton is upfront that this is a real automated action with real account-safety implications, not something to treat casually. Before a run starts, it shows you exactly how many submissions it will make (prompts × engines) and warns you if that number is large — 60 or more. Nothing ever fires unattended; every run needs a manual click, and the most CitoSkeleton does on its own is remind you once a day if a scheduled run hasn't happened yet.

What do I actually get when I export?

Several formats depending on what you need. A full Excel workbook with 11 separate worksheets covering everything captured — summary, audit log, source analysis, unique domains, the complete source list, every fan-out query, every brand mention, every product, every local business, every entity, and the full answer text of every response. A clean HTML document or a print-ready PDF for single conversations or a bulk-selected set, with ChatGPT's inline citations rendered as real numbered footnotes and product images embedded where shown. Detailed CSV and raw bulk JSON. And every drill-down table in the dashboard has its own one-click CSV export.

Advanced(7)

Why keep the raw network payload at all instead of just storing the parsed result?

Because Chrome Web Store rules prohibit remotely-hosted executable code — CitoSkeleton can't push a server-side fix when OpenAI or Google changes their response format. If only parsed data were kept, a format change would silently corrupt or lose new captures until a new store submission passed review, which can take days. Keeping the raw payload immutable means the parser can be wrong today and correct tomorrow without losing a single capture in between — "Reprocess all" re-derives everything from data that was never touched by the broken parser in the first place.

How is Campaign data kept isolated from my regular ChatGPT browsing?

Structurally, not by a filter you can accidentally leave off. A response captured as part of a campaign run carries that campaign's identity as part of its stored record; a response from ordinary browsing doesn't. That distinction is enforced at the point of storage, so a campaign's numbers can never be quietly inflated by an unrelated question you happened to ask that day, and casual browsing can never contaminate a tracked metric. It's engineered in, not bolted on as an afterthought.

How is Position handled for a brand that never appears in a response?

Honestly, rather than with a fake rank. Position is the average rank by order of first appearance, averaged only across the responses where the brand actually showed up. A brand that never appears isn't assigned a last-place rank to fill in a number — it's excluded from that average and the gap shows up correctly in a lower Visibility score instead. Inventing a rank for a brand that was never mentioned would misrepresent what actually happened.

Are the CSV exports safe to open in Excel?

Yes — they're hardened against formula injection. A CSV cell that starts with =, +, -, or @ can be interpreted by Excel as a live formula rather than plain text, which is a genuine, under-discussed way exported data can be turned against whoever opens it. CitoSkeleton's exports are built to prevent that.

Exactly what can the extension access on my machine?

Network access is scoped to three domains and nothing else: chatgpt.com, chat.openai.com, and gemini.google.com. It has no broader host permissions, makes no requests of its own, and there's no account or cloud infrastructure for it to phone home to. Compare that to the paid GEO tools in this category — Peec.ai, Semrush AIO, Profound, and similar — which require sending your prompts and competitive strategy to their servers and charge a recurring fee for the privilege. CitoSkeleton has no server to send anything to.

Does the local database grow forever?

No — storage is automatically capped, defaulting to the most recent 2,000 captures, and the cap is configurable if you want to keep more or fewer. There's also a one-click "clear everything" if you want to start over.

What's explicitly not built yet?

Stated plainly rather than left ambiguous: Perplexity, Claude, Grok, and Google AI Mode are visible on the roadmap but not functional — Google AI Mode in particular is a distinct surface from regular Google or Gemini search that does expose real fan-out data, making it the next major target. Sentiment scoring isn't measured, for the reasons above. Visual trend charts over time aren't drawn yet either, though the underlying data for them already exists in every capture. Anything shown as "coming soon" in the product is exactly that — not a working feature with a label slapped on it.

Free. Local. Yours.

No account, no pricing tier, no data leaving your browser.