Index: src/config/database.js
===================================================================
--- src/config/database.js	(revision c6cdce64569cbbd1a06b9525eb87dcc265db710c)
+++ src/config/database.js	(revision f2eacca5e0a92d8ef8516530c0a23ecd2b0a78ed)
@@ -96,4 +96,8 @@
   ensureColumn('audio_tracks', 'link_youtube',    'TEXT');
   ensureColumn('audio_tracks', 'link_soundcloud', 'TEXT');
+  // Per-track: federate the actual audio file as an AS2 Audio attachment so it plays inline
+  // in EVERY fediverse client (incl. the Mastodon apps). Default 0 = gated (web player only,
+  // file not exposed). Opt-in 1 = the file is served ungated + shared on the fediverse.
+  ensureColumn('audio_tracks', 'fedi_open', 'INTEGER DEFAULT 0');
 
   // Playlists (v9 feature) — first-class entity. CREATE IF NOT EXISTS is
