Article policies

Each article in your index has one of four policies. The same value is
enforced in two places: the MCP get_article tool, and the
oasy.<your-domain> HTML landing page that AI crawlers land on after the
WAF redirect.

The four policies

PolicyMCP behaviorLanding page behavior
ObserveReturns full article bodyRenders full styled HTML
AdvertiseReturns body with a sponsored line appendedSame, with sponsored line as trailing paragraph
PaywallReturns full body if under meter quota; upsell payload otherwiseReturns HTTP 402 with an MPP challenge (x402 / Stripe)
BlockReturns 403 errorReturns 403 with a publisher-branded "not available" page

Defaults

  • Every newly-ingested article starts at Observe.
  • You can bulk-flip every article to one policy from the Policy page in
    the dashboard ("Apply to all").
  • You can also create article groups — name a group, set a policy on it,
    and any article you add to that group inherits the group's policy.

Recommended starting setup

Most publishers find this mix works:

  • Free / index pagesObserve — let agents understand who you are.
  • Most articlesPaywall — count toward the metered quota.
  • High-traffic, recently-publishedAdvertise — capture sponsorship revenue.
  • Premium / subscriber-only investigationsBlock until you flip the
    switch for paying installs.

Where it's enforced

The single source of truth is Article.policy in our database. There's no
sync between MCP and the landing page — both read the same row at request
time. Change a policy in the dashboard and within 60 seconds the new
behavior is live on both paths.