Index: src/routes/activitypub.js
===================================================================
--- src/routes/activitypub.js	(revision 837fc9c1dc50db6b6a042e84da63ed9989edf2fa)
+++ src/routes/activitypub.js	(revision 9e4e4ff6bb278ba6345cdd8e21bb9c6fd0d8f0c6)
@@ -67,5 +67,5 @@
   if (!site) return res.status(404).end();
   const posts = db.prepare(
-    `SELECT id, slug, title, content, cover_image_url, nsfw, published_at, created_at
+    `SELECT id, slug, title, content, cover_image_url, nsfw, content_warning, published_at, created_at
      FROM posts WHERE site_id = ? AND status = 'published' AND (fan_only IS NULL OR fan_only = 0)
      ORDER BY COALESCE(published_at, created_at) DESC LIMIT 20`
@@ -90,5 +90,5 @@
   // rank 1 last) → Mastodon flips it back to pin-rank ascending on the profile.
   const posts = db.prepare(
-    `SELECT id, slug, title, content, cover_image_url, nsfw, published_at, created_at
+    `SELECT id, slug, title, content, cover_image_url, nsfw, content_warning, published_at, created_at
      FROM posts WHERE site_id = ? AND status = 'published' AND (fan_only IS NULL OR fan_only = 0)
        AND pinned IS NOT NULL AND pinned > 0
