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 fixesIf you’re integrating via the API, the path structure mirrors this tree exactly.