Publishers set the terms for how AI uses their articles

AI crawlers read publishers’ articles with no terms and no record. We built a platform where AI splits each article into pieces that carry their own licence, AI systems request them through a keyed API, and the publisher sees exactly who read what.

Client
AI content-licensing start-up
Sector
Digital publishing
Kind of work
AIWebOps

The situation

Publishers want to know which AI systems read their work, and on what terms. On this platform a publisher adds a brand with its RSS feed, sets licence terms, and serves content to AI systems on those terms.

What made it hard

Licence terms have to travel with each piece of content, and a publisher has to be able to prove afterwards which AI system received which text.

What we did

  1. Split each article from the publisher’s feed into short pieces with Gemini. Each piece carries its own licence flags: training, retrieval, summarisation, derivative use and attribution.
  2. Built a keyed API for AI systems, and logged every request down to the exact pieces it returned.
  3. Gave publishers a dashboard of indexed articles, AI requests and AI consumers, plus an editor for the robots.txt rules that AI crawlers read.
  4. Built team access with organisations, invitations and an organisation switcher.
  5. Ran the backend as separate services on Google Cloud Run.

Before and after

BeforeAfter
AI crawlers read with no termsLicence flags on every piece
No record of useEvery request traced to the piece
One rule for a whole siteTerms set per brand

What we would do differently

We restructured the codebase twice in the first weeks, from one repository to separate backend and frontend repositories. Settling that split on day one would have saved a round of rework.

Built with

Next.js · Express · Prisma · Google Gemini · Clerk · Google Cloud Run

Ready to build something great?

Tell us what’s breaking, or what you need built. You talk to the engineer who does the work.