Content ops for dev-tool teams
Technical content that survives Hacker News.
Draft with your AI agent. Autoposter pins every claim to a source, blocks publishing until a human signs off, then syndicates everywhere with the canonicals set right — and keeps the receipt.
Open-source publishing core · Works from Claude, Cursor & ChatGPT via MCP · Every page on this site is signed
One wrong line costs more than a hundred good posts.
AI drafts get details wrong.
~1.7× more issues and ~2.7× more security flaws in AI-coauthored code vs human-only (CodeRabbit, Dec 2025).
Your readers will find yours — in the comments.
Cross-posting is a part-time job.
canonical_url on Dev.to, originalArticleURL on Hashnode, import-only on Medium.
Get one wrong and your own blog loses the ranking to a copy.
Unreviewed volume gets buried.
50–80% traffic drops for scaled, unedited AI content (Google core update, Mar 2026).
Provable human review is now a ranking asset, not overhead.
From changelog to everywhere, with a human in the loop.
Connect.
Point Autoposter at your repo, your blog (the canonical home), and your channels: Dev.to, Hashnode, WordPress, Ghost, Webflow, LinkedIn, Bluesky, Mastodon, X.
Draft.
Write in the editor — or from Claude or Cursor through the Autoposter MCP server. Shipped a release? The GitHub Action turns your changelog into a draft overnight.
Verify & sign.
The claims panel lists every factual statement in the draft. Unverified claims disable the Approve button. Signing appends hash, approver, timestamp, and model version to an append-only ledger and stamps C2PA metadata into the post.
Publish everywhere.
The canonical post goes live first. Copies fan out with the right canonical tags. Links on X go in the first reply automatically — $0.015 per post instead of $0.20.
Verify
Approve claims, not vibes.
Autoposter extracts every factual claim — version numbers, benchmarks, API behavior — into a checklist beside the draft. Each claim links to a source: a URL, a doc, or a file in your repo. Unverified claims block publishing. Reviewers stop skimming and start checking, because the interface counts what's checked.
Streaming exports now land at p99 latency 41ms, down from 220ms in v2.2.
Requires Node ≥ 20; older runtimes fall back to batch mode.
Early benchmarks suggest it's 3× faster than v1 for large workspaces.
| # | hash | approver | model | time | status |
|---|---|---|---|---|---|
| 0142 | 9f2c…a41b | Jana K. | claude-sonnet-4-6 | Aug 07 14:32 | ● published |
| 0141 | 4be1…77c0 | Jana K. | claude-sonnet-4-6 | Aug 05 09:12 | ● published |
| 0140 | c9a3…0d4e | M. Ortega | gpt-5.2 | Jul 30 17:48 | ● published |
| 0139 | 71fe…b2a9 | Jana K. | claude-opus-4-8 | Jul 24 11:05 | ● published |
| 0138 | e00d…4c11 | M. Ortega | claude-sonnet-4-6 | Jul 18 08:59 | ● published |
Sign
The receipt for every publish.
Every approval appends an entry: content hash, version, approver, timestamp, model and prompt version, source count. Hash-chained, append-only, exportable as JSON or C2PA-signed metadata. When Google asks whether a human was in the loop, or the EU AI Act asks for evidence of human editorial ownership — you don't argue. You export.
Evidence tooling, not legal advice.
Syndicate
One post, everywhere, no duplicate-content shrapnel.
Your blog is the single source of truth. Every copy — Dev.to, Hashnode, LinkedIn, anywhere — is a tracked node with its canonical status, live URL, and version. Update the original and Autoposter flags stale copies. If a copy would compete with your canonical, you know before Google does.
MCP
Your agent drafts. Autoposter keeps it honest.
Autoposter ships as an MCP server. Draft from Claude, Cursor, or ChatGPT; the agent files drafts, attaches sources, and requests review — but publishing waits for a human signature. Use us through your AI, not instead of it.
When you need us — and when you don't.
| Autoposter | Claude + MCP scripts | StoryChief | DIY GitHub Actions | |
|---|---|---|---|---|
| Claim→source gating | ✓ blocks publish | ◐ manual prompting | ✗ | ✗ |
| Signed audit ledger | ✓ hash-chained | ✗ per-session only | ✗ | ✗ |
| Canonical graph + stale detection | ✓ | ✗ | ◐ | ◐ manual |
| Team approvals & roles | ✓ | ✗ | ✓ | ✗ |
| Drive it from Claude/Cursor | ✓ native MCP | ✓ | ✗ | ✗ |
| X link-cost guard | ✓ first-reply default | ✗ | ✗ | ✗ |
| Setup | minutes | hours–days | minutes | days |
If you're one person posting to one blog, Claude and a script may be all you need. Autoposter starts paying for itself the day a second reviewer or a second channel shows up.
Priced for teams smaller than the problem.
Free
Prove it on your own blog.
Start free- 1 seat
- blog + 2 channels
- 4 signed posts / mo
- claims editor
- public ledger page
- GitHub Action & MCP
- community support
Starter
For the founder who is the content team.
Start free- 1 seat
- 5 channels
- unlimited signed posts
- private ledger
- claims editor
- GitHub Action & MCP
- email support
Team
A second reviewer changes everything.
Start free- 3 seats included, +$29/seat
- 10 channels
- approval chains & roles
- ledger export (JSON + C2PA)
- canonical stale alerts
- LinkedIn page publishing via our partner access
- priority support
Scale
Every channel, every audit.
Start free- 10 seats included
- unlimited channels
- SSO
- audit API
- retention controls
- priority support + shared Slack
All tiers: bring your own model key or use included credits; every entry logs model + version.
LinkedIn organization publishing runs through our approved partner access — no developer application on your side.
Questions we actually get.
Why not just use Claude with connectors?
For a solo happy path, you can — and we like it that way: point Claude at our MCP server. What a chat session can't hold is the shared part: approval states across teammates, a tamper-evident ledger across months, and a canonical graph across channels. Claude drafts; Autoposter remembers, gates, and proves.
Do you publish to Medium?
Medium closed its API to new integrations. We generate an import-ready canonical post, walk you through Medium's importer (which sets the canonical back to you), and track the copy in your graph like any other node.
What about X's $0.20 link fee?
Posts with links cost ~13× more on X's pay-per-use API. Our composer puts the link in the first reply by default, so a launch thread costs cents, not dollars. You can override it; it warns you first.
Is AI-assisted content against Google's rules?
No. Google's policies target scaled, unreviewed volume. Edited, accurate, source-backed content is explicitly fine — Autoposter exists to make that review real and provable, not to trick a ranking system.
What exactly is in the ledger — is it legal evidence?
Each entry: content hash, version, approver identity, timestamp, model + prompt version, and source list, hash-chained so edits are evident, exportable as JSON or C2PA-signed metadata. It's designed to serve as evidence of human editorial ownership (relevant under EU AI Act Article 50). We build evidence tooling; we don't give legal advice.
Can I export everything?
Yes. Posts as Markdown, graph and ledger as JSON, one click. The ledger verifies offline — it stays valid even if you leave.
Do you have SOC 2?
Not yet — we're a small team and honest about it. Our security practices are public at /security, and we'll complete SOC 2 with our first enterprise partner.
Which models do you use?
Yours, by default: bring an Anthropic or OpenAI key, or use included credits. Every draft records which model and version wrote it — that's part of the receipt.
Publish something you can sign.
Start free — no cardthis page's hash: 9f2c…a41b ✓