Required for the site to work (login, preferences, security). Always on.
Headless CMS, the Osprey way
A TypeScript loader pulls your published content into Astro at build time. No API key on the edge, no runtime calls.
<p>Connecting a static site to a headless CMS usually means shipping an API key to the edge or making a network call on every request. Neither is great. Osprey does it differently.</p>
<h2>Build-time, not request-time</h2>
<p>The <code>@osprey/astro</code> loader fetches your published entries during the build and hands them to Astro’s content collections. Your deployed site is static HTML; the CMS is a build dependency, never a runtime one.</p>
<h2>Public by opt-in</h2>
<p>A collection is only publicly readable when its <code>access.read</code> admits an anonymous caller. Private collections return a 404 — their existence is never disclosed. You decide what the world sees.</p>
<h2>SEO that is already done</h2>
<p>Every entry comes with a merged SEO object: title, description, Open Graph, Twitter, canonical, hreflang, robots. Render it into your <code><head></code> and move on.</p>