When you run a tracked prompt, we ask Claude / OpenAI / Perplexity / Gemini for the answer plus a list of source URLs. v0.8 added citation source attribution: we extract every URL from the structured citations metadata AND from the prose, and split them into:
- Owned - URLs whose host matches your target domain (or any subdomain of it).
- Competitor - everything else.
For each URL we store the surrounding paragraph from the engine response. That paragraph is what the sentiment analyser sees and what the content-brief generator uses to understand the citation gap.
You can see owned + competitor citations on /app/prompts/{id} under each run. The counts show on the run summary (cited_url_count, owned_url_count). Pro and Agency tiers also get sentiment classification on each owned paragraph.