What a phantom site is
A stand-alone publication Letterstory hosts for you, its own name, look, and topic plan, that never carries your company's name.
A phantom site is a publication of its own. It has a name (the masthead), a visual theme, a topic map, a writing voice, and a publishing schedule, and Letterstory hosts it on its own address. What it doesn't have is your company's name: a phantom is deliberately independent, so that when it's cited by search engines and AI answer engines, it reads as a third-party source.
Why it exists
AI answer engines and search cite sources they consider independent. A company's own blog is one voice; a network of well-run publications in your field, each covering ground a searcher actually looks for, is many. Phantoms are how you build that.
Two rules follow from this, and the platform enforces both:
- The masthead can't contain your name. Creating a site with a name that includes the client's name is rejected. The platform proposes subject-based names instead ("Product for Engineers", "The Ledger Room").
- Your company is mentioned sparingly, if at all. The collection's brand mention setting defaults to off for phantoms; a mention rate lets you allow a share of posts to name you, spread across the schedule.
A phantom is a collection we host
Underneath, a phantom is not a separate kind of thing. Every publication in Letterstory is a collection: a standing configuration that produces and publishes posts on a cadence. A phantom is a collection with two things added, an independent identity (it never carries your company's name) and a site we host, theme, and rebuild for it. Your own blog is the same engine with the identity set to your brand and publishing pointed at your CMS.
That matters when you work over the API: the call that writes a post to a phantom (run_collection) is the same call that writes a post to your own blog, and the editorial half of a phantom's configuration is the same one-file document every collection has.
What a phantom is made of
| Part | What it is | Set by |
|---|---|---|
| Site | The hosted publication: name, tagline, theme, logo, address | Onboarding, or Phantoms → New Phantom |
| Collection | The posts that publish to it, and the Auto-Pen settings they follow | Created with the site |
| Strategy | The manifesto and stances the site writes from, inferred from your website, never overwriting what you've set | Onboarding / configure |
| Topic map | Pillars and spokes: what the site will cover, anchored to the site's own field | Onboarding / configure |
| Passes | Internal links to the site's own pages, outside sources, visuals, metadata | Onboarding / configure |
| Writing kernel | The voice, matched to the strategy | Onboarding / configure |
| Cadence | Six posts a week by default, and how topics are chosen | Onboarding / configure |
Where you see it
Primitives ▾ → Phantoms in the header lists every site with its status and address; each has a Control Room (three tabs: Headlines for what gets written next, Topics for the topic map, Setup for everything you configure, including how and how often your company is mentioned and which competitors are tracked), Settings, and Refresh content (rebuild the site after publishing). The Performance tab shows Google Search and AI-answer results per site, always separate from your own blog's numbers.
Three ways to get one
- One call. Give the platform your domain; it infers everything above, proposes a plan, and builds it on your say-so. Ten minutes to a live site with its first post writing. KB-602.
- By hand in the app. Create the site, then configure it, then write to it. Useful when you want to choose every setting yourself. KB-603.
- By text message. Text what you want in plain English; the same one-call recipe runs, and you get iMessage updates as the site goes live. KB-607.
What a phantom costs you
Phantoms are counted in sites, not posts. Your organization can keep three hosted sites live at once on the house (get_phantom_balance); pausing or deleting one frees a slot. Each site's throttle is its cadence: posts per week, capped at six by default. A post you ask for over the API spends that week's cadence budget rather than a separate credit, and a request past the budget is refused rather than queued.