Privacy-first · LLM-native · No cookies

Earn from every
AI conversation

Cognatu matches contextual ads to your LLM app's responses, on your device, without sharing user data. One line of middleware. Revenue from day one.

Start earning free See how it works
$3+
Estimated target CPM, standard tier
Your floor
You set the minimum RPM
1
Line of middleware
0
PII leaves your server
Built for whatever you're building
If your product talks to users through an LLM, Cognatu turns those conversations into revenue, without a paywall and without touching your users' privacy.
🤖

Chatbots & AI companions

Your free users cost you inference money on every message. One contextual ad per conversation turns your biggest cost centre into your first revenue line. No subscription wall needed.

🧑‍💻

Copilots & dev tools

Monetise the free tier of your coding assistant, CLI, or IDE plugin. Ads match what developers are actually working on (frameworks, deploy targets, infra) so they read as recommendations, not noise.

💬

Support & in-app assistants

Embedded product assistants answer thousands of questions a month. Relevant sponsor placements pay for the tokens, and your users keep getting free answers.

Three steps to your first impression
Cognatu sits between your LLM call and your response. Topic matching runs inside your own app. No conversation data ever reaches our servers.
1

Wrap your LLM call

Add the Cognatu middleware in front of your existing OpenAI, Anthropic, or any LLM call. Works with streaming responses.

2

Ads match on-device

An embedded model extracts topics and segments from the conversation in place: in the user's browser with the JS SDK, in your own server process with the Go and Python ones. Only an anonymised context vector ever leaves.

3

Earn per impression

Winning ads are returned with the LLM response. Earnings accumulate in your publisher portal, withdraw at any time.

Go
Python
JavaScript
REST
// Wrap your existing chat handler with Cognatu middleware.
import cognatu "github.com/cognatu/cognatu/pkg/sdk"

func main() {
  client := cognatu.New("YOUR_PUBLISHER_KEY")
  mux.Handle("/chat", client.Middleware(yourChatHandler))
}
# Drop into any FastAPI / Django / Flask app.
from cognatu import CognatuMiddleware

app.add_middleware(
    CognatuMiddleware,
    publisher_key="YOUR_PUBLISHER_KEY",
)
// Add one script tag — works on any page with LLM-generated content.
<script
  src="https://api.cognatu.com/sdk/v1.js"
  data-publisher-key="YOUR_PUBLISHER_KEY"
  data-slot="#ad-slot"
  async>
</script>
# POST the conversation context — get back a winning ad.
curl -X POST https://api.cognatu.com/v1/auction \
  -H "X-Publisher-Key: YOUR_PUBLISHER_KEY" \
  -d '{"messages": [...], "llm_text": "..."}'
Everything you need, nothing you don't
🔒

Zero PII architecture

Topic extraction runs inside your own app, in the user's browser or in your server process depending on the SDK. Either way, users' words never reach us.

🎯

Conversation-aware targeting

Ads match the actual topic of the AI response. Not the page title or a third-party cookie profile. Relevance = higher CPMs.

Never slows your app

The full auction waterfall (sponsorships, paced delivery, second-price network) runs in parallel with your LLM call, never on its critical path. Every SDK applies a hard deadline; if no ad is ready before it, none is shown and your response goes out unchanged.

📊

Fill rate dashboard

See hourly fill rate, lost-auction reasons, and CPM trends in your publisher portal. Know exactly what's earning and what isn't.

🧪

A/B format testing

Run split tests on ad formats, placements, and creative copy. Built-in variant assignment and per-experiment stats.

ZKP audience proofs

Advertisers optionally target users with verifiable audience proofs (Groth16 ZKP). Higher CPM for publishers whose users qualify.

Two tiers, your floor on both
Two tiers based on the audience signal quality. No minimum traffic, no lock-in. The CPMs below are estimated targets, modelled on comparable contextual networks.
Standard
$3+ est. CPM
you set the floor

Contextual ads matched on topic and conversation embedding. No conversation data shared. Works with all SDK integrations from day one.
Works with your stack
🐹
Go
HTTP middleware
🐍
Python
ASGI / WSGI
🌐
JavaScript
Browser + Node
📱
React Native
Zero native modules
🍎
iOS
Swift package
🤖
Android
Kotlin
🔌
WordPress
[cognatu_ad] shortcode
🔗
REST API
Any language

Ready to monetise your LLM app?

Sign up in 60 seconds. No credit card. Ads start appearing as soon as your first auction runs.

Create publisher account