> Papyrus gives independent publishers a staff of agents: a researcher, a reporter, a copywriter and an editor. You steer what they find, what they write about and how it reads. Open source, runs in your AWS account.

Canonical: https://p.apyr.us/

::band{id="top" size="hero" eyebrow="Open-source newsroom platform" columns="wide"}
# A newsroom you steer.

Papyrus gives independent publishers a staff of agents: a researcher, a reporter, a copywriter and an editor. They find the sources, prepare the reporting and draft the stories. You steer what they find, what they write about and how it reads. Nothing publishes until an editor says so.

::button{href="#talk" label="Request access [Early access]" size="lg"}
::button{href="https://github.com/AnthusAI/Papyrus" label="View the source" size="lg" variant="secondary"}

*MIT licensed and free to run in your own AWS account. Managed for $20 a month.*

::island{name="KanbusBoard" height="30rem" summary="Animated Kanbus boards for four sample publications, one at a time, each pushed aside by the next: The Wet Weave, a monthly magazine about underwater basket weaving; Quillfeather & Rowe, a law firm's plain-language updates for small businesses; The Lower Fen Gazette, news for eleven fenland villages; and The Journal of Beekeeping and Urban Planning. Each board follows one story from left to right: a link a monitor found, in Found; the relevance Cyclotron's call and an editor's approval, in Triaged; a code name and a section, in Assigned; a reporting packet and a draft with a working headline, in Drafting; a copy check and the editor's fix and final headline, in Editor review; then Published, on the web and as a Markus twin."}

::band{id="product" tone="muted" eyebrow="Steer, don't do"}
## You guide the newsroom. The agents do the legwork.

Agents research, prepare reporting packets and draft from assignments. You don't hunt for sources or check citations yourself. You steer in three places.

:::card-grid{columns=3 label="The three places you steer"}
:::card{title="Steer what it finds [Beta]"}
Monitors and research agents bring in new references from the feeds you follow and the open web. Approve or reject each one. The Cyclotron, Papyrus's classifier for what belongs, learns your line and starts suggesting include or exclude.

::island{name="SteerMini" kind="finds" summary="Sample queue: a reed that stays flexible underwater, approved. A pool resurfacing sale, rejected."}
:::
:::card{title="Steer what it writes about [Beta]"}
Agents spot trends across your references and propose stories. Tell them what's worth pursuing and why. Your feedback shapes the next round of suggestions.

::island{name="SteerMini" kind="writes" summary="Sample story suggestion: three clubs this month switched from rattan to willow, from 3 references in Techniques."}
:::
:::card{title="Steer how it reads"}
Copy-editing agents check every draft against your written editorial policies and underline what to fix. Apply a fix, ask for rewrite options, or dismiss with a reason. Your decisions recalibrate the checks.

::island{name="SteerMini" kind="reads" summary="Sample sentence with two findings underlined: a passive construction and a filler phrase."}
:::
:::

::band{id="queue" tone="card" eyebrow="Up close: one call" columns="split"}
## The Cyclotron suggests. An editor decides.

Every new reference arrives with the Cyclotron's suggestion, how sure it is, and why it is in front of you: under the review line, or picked at random so an editor can check its work. Approve or reject, and the call teaches it what belongs. [Beta]

::column
::island{name="HeroCard" height="34rem" summary="Illustration with sample data: a new reference from a weaving-forum monitor: a dive club starts a weekly underwater basket weaving night. The Cyclotron suggests include, 82% sure, and it is in front of an editor as a random audit sample. The editor approves or rejects, and the call trains the Cyclotron."}

::band{id="explainable" tone="card" eyebrow="Explainable by design" columns="split"}
## Ask the Cyclotron why. [Beta]

An opaque pre-trained model can't tell you why it picked a story. A Cyclotron can. Every decision is tied to the exact version that made it, and you can read that version's rubric, questions and examples in plain words. Changes are measured on held-out decisions before they go live.

- Review its calls and see its agreement, precision and recall.
- Choose how many confident calls you still check yourself.
- Read what it has learned as a list of items, each traced to the approvals and notes that taught it, and edit or remove any of them. [Coming soon]

::column
::island{name="Learned" summary="Illustration with sample data: what a Cyclotron has learned for a sample blog, The Wet Weave. Include new techniques for weaving at depth (from 12 approvals). Exclude scuba gear sales (from a note). Include club meetups and weaving competitions. Exclude basket weaving on dry land unless it's about materials. Prompt: prefer how-tos from weavers over news coverage."}

::band{id="editors" eyebrow="Editors decide" columns="split"}
::island{name="Draft" summary="Illustration with sample data: draft v3 of an Events story with two findings. Must fix: name who acted (a rule check). Consider: filler words, 61% sure, your judgment. Claims, figures and quotes against their sources are coming soon. Open findings warn; they don't block publishing."}

::column
## Agents draft. Your editor publishes.

Every draft is checked against your publication's own written policies. Findings are underlined in the editor and never applied without you. When you dismiss one, say why, and the checks recalibrate.

Every change an agent makes is a new version with its reason attached, and every move from assignment to draft to published is on the record. You can always see who changed what, and why.

::band{id="agents" tone="card" eyebrow="Readable by agents"}
## One page, two readers.

Every Papyrus page is published for people and as a Markus twin that agents can read: the same story at the same URL. Ask for `text/markdown` and that's what you get.

::island{name="Readers" summary="Illustration with sample data: the same Events story as a person sees it, with Copy as Markdown, View Markus and Open in Claude, ChatGPT or Perplexity, and as an agent gets it with Accept: text/markdown, as Markus with front matter."}

Every page has a Markus twin. Also published: `llms.txt`, `llms-full.txt`, `Accept: text/markdown` on the same URL, RSS and Atom, and a sitemap. An MCP server for your publication is next. [Coming soon]

::band{id="platform" eyebrow="The platform"}
## Everything a small newsroom runs on.

:::card-grid{columns=4 label="The platform"}
:::card{title="Agents in newsroom roles"}
Researcher, reporter, copywriter and editor agents work from assignments.
:::
:::card{title="Versions and reporting trail"}
Every agent change is a version with a reason. Every stage move is recorded.
:::
:::card{title="Monitors [Beta]"}
Watch sources on a schedule and fill your queue. Hacker News and USPTO TTAB decisions run today.
:::
:::card{title="Your own feeds [Coming soon]"}
Add any RSS or Atom feed and run as many monitors as you need.
:::
:::card{title="Send it a link"}
Paste a URL, email it to your publication's address, or mention it in Slack.
:::
:::card{title="Research agents"}
Research assignments search the web and find new candidate sources.
:::
:::card{title="Long memory"}
Accepted references, a topic tree and a graph of entities. Editors browse it as a concepts wiki.
:::
:::card{title="Public knowledge base [Beta]"}
The same knowledge, shown to your readers as a wiki, with weekly trends and emerging themes. [How it works](/public-knowledge-base.html).
:::
:::card{title="Newspaper-style editions"}
Front pages with exact continuations, solved before the page is drawn.
:::
:::card{title="Newsletter [Coming soon]"}
Issues composed from your publication and sent after an admin approves. [How it works](/newsletters.html).
:::
:::card{title="Export everything [Coming soon]"}
References, decisions, policies and archive, as files you keep.
:::
:::card{title="Open source, in your AWS"}
MIT licensed. Your account, your data, your sites.
:::
:::

::band{id="built-with" tone="muted" eyebrow="Built with Papyrus"}
## Running today.

These publications and sites are built and published with Papyrus. They're all Anthus's own, for now.

::island{name="Wall" summary="Publications built with Papyrus: Threat Intelligence, Shipped, Distinctive Mark, Biased Decisions, Hard Decisions, Apricity, Auritus and Pilobol.us. Every site is listed at /built-with/."}

::button{href="/built-with/" label="See every site" variant="secondary"}

::band{id="pricing" eyebrow="Pricing"}
## As much help as you want.

Papyrus is the same software at every tier. You choose who runs it.

:::card-grid{columns=4 label="Pricing tiers"}
:::card{title="Fork it"}
*Do it yourself*

**No cost**

MIT licensed. Deploy it yourself; Anthus does nothing and charges nothing.

::button{href="https://github.com/AnthusAI/Papyrus" label="View the source" variant="secondary"}
:::
:::card{title="Self-setup, managed"}
*We run it*

**$20 a month**

You run the CloudFormation template in your account; Anthus operates it and keeps it updated.

::button{href="#talk" label="Request access" variant="secondary"}
:::
:::card{title="Assisted setup, managed"}
*We set it up with you*

**$20 a month and $100 once**

Anthus runs the setup session with you, then operates it.

::button{href="#talk" label="Request access" variant="secondary"}
:::
:::card{title="Professional services"}
*We build it for you*

**Quoted**

Anthus builds and operates automated newsrooms adapted to your needs.

::button{href="#talk" label="Talk to us" variant="secondary"}
:::
:::

::band{id="talk" tone="muted" eyebrow="Talk to us" columns="top"}
## Running a publication? Let's talk.

Tell us about your beat, your sources and your team. We'll show you a Papyrus newsroom set up for something like yours.

Just want something for yourself? A [personal feed](/personal-feed/) that learns what you care about, or a [personal blog](/personal-blog/) that writes from what you read, is opening in small groups.

::column
::island{name="Form" kind="talk" id="home-talk" summary="A form to talk to Anthus about running a publication on Papyrus: name, email, organisation (optional) and a message."}
