Core concepts

The seven nouns that make up CiteFoundry — project, prompt, monitor, run, citation, brand, persona.

CiteFoundry has a small object model. Once you know these seven nouns, the rest of the dashboard and the API read naturally.

Project

A project is one brand you monitor. It owns prompts, monitors, runs, detected brands, content gaps, and the brand-book. Members of your organization can be granted access per project — useful for agency workspaces where one team member should only see one client.

A project is identified by its projectId (a ULID). Almost every API path is scoped under /v1/projects/{projectId}/....

Prompt

A prompt is a question or task you want to track. Good prompts look like things your customers actually type into ChatGPT — open-ended, high-intent, often without your brand name in them. Each prompt has a canonical text and a version history (drafts let you edit safely before publishing).

Prompts come from five sources: manual, CSV upload, paste, AI-generated from a brief, or signal sources — real queries pulled from Google Search Console or Google Ads.

Monitor

A monitor binds a prompt to a (model, surface, cadence). The same prompt can run on multiple models at once — that’s the point. Monitors own the schedule; runs are what they produce.

Surfaces today: ChatGPT, Claude, Gemini. Cadences: daily or weekly.

Run

A run is one execution of a monitor — the actual call to the model and the parsed result. Each run captures:

  • The raw model answer.
  • Every URL the model cited (the citations).
  • Every brand or product mentioned (the mentions).
  • Token usage and timing.

Runs are immutable. To compare snapshots over time, you query the run history for a monitor.

Citation

A citation is a single URL the model trusted enough to reference, extracted from a run. Citations roll up at the domain level — that’s how share-of-voice and competitor analysis is computed. The Citations view in the dashboard lets you drill into one domain to see every run where it was cited.

Brand

A brand is a tracked entity inside a project. Your own brand is seeded from the project’s domain. Detected brands are competitor brands the model named in your runs; you can promote them to be tracked explicitly, merge duplicates, or dismiss noise.

Persona

A persona is an audience profile — “a marketing lead at a 50-person B2B SaaS” — used to generate prompts and weight relevance. Personas are optional but make AI-generated prompt ingestion much more targeted.


How they fit together

organization
└── project (= brand)
├── brand-book (voice, claims, products)
├── personas
├── prompts ── versions, drafts, sources
├── monitors (prompt × model × cadence)
│ └── runs ── citations, mentions
├── detected brands ── competitors
└── content gaps ── losing prompts + suggested fixes

If you’re integrating via the API, the path structure mirrors this tree exactly.