The BadgeFed Project<p>Hey Fediverse! 👋<br>
Two weeks have passed and here we have another update from the BadgeFed burrow!
Here’s what’s new, brewing, and how you can jump in if you’re feeling adventurous.</p>
<p><strong>Early Bits of Decentralization</strong></p>
<p>We’ve started the very first steps toward decentralization! 🛰️
Right now, we’re planning to add <strong>two more test instances</strong> to push federation further.</p>
<p>That said—<strong>there are still no controls for blocking, defederating, moderating, or deleting</strong> yet. So we’re <em>not</em> opening it up publicly just yet (BadgeFed isn’t ready for the wild west).</p>
<p><strong>BUT</strong>—if you’re comfortable around <strong>SQL</strong> and <strong>servers</strong>, <strong>don’t mind losing data</strong>, and want to help us test the early messy bits, <strong>let us know</strong>! We’d love to have more fearless testers on board.</p>
<p><strong>OpenBadges Export is Live! 🎉</strong></p>
<p>Big milestone: <strong>you can now export your badges to OpenBadges format!</strong></p>
<p>This is a huge step toward real portability. Right now, you can only export badges tied to <strong>profile URLs</strong> (think Mastodon profiles, etc.), <em>not emails</em> yet.</p>
<p>That means you <em>can’t</em> directly import them into platforms like <strong>Badgr</strong> or <strong>Credly</strong> (unless they someday support URL-based verification).<br>
We’re going to push for that—because identity shouldn’t be chained to an email address.</p>
<p>Also: <strong>we have zero interest in storing emails</strong>. Privacy first. Always.</p>
<p><strong>UX/UI Improvements + Search 🔍</strong></p>
<p>A few small but mighty improvements:</p>
<ul>
<li><strong>New search page</strong>! Now you can search your past badges easily.</li>
<li><strong>Badges are now an attachment to a regular ActivityPub note</strong>, instead of a separate document type.
<ul>
<li>We tried doing a new document type, but… <em>Mastodon just ignored it.</em></li>
<li>Like it or not, we need to be Mastodon-compatible to reach people. But attachments are a <strong>fine</strong> way to extend the ActivityPub spec.</li>
</ul>
</li>
</ul>
<p>Little things, but they add up to a smoother experience.</p>
<p><strong>Follow Other Issuers! (and Bridgefed!)</strong></p>
<p>Issuers can now <strong>follow other issuers</strong>!<br>
We think this is a critical building block for decentralization. 🛠️</p>
<p>Plus, if you follow <strong>Bridgy Fed</strong>, it will <strong>bridge to Bluesky</strong>!</p>
<p><strong>Lots of Other Nerdy Bits</strong></p>
<p>Under the hood:</p>
<ul>
<li>Tons of minor improvements and cleanups</li>
<li>More internal support for federating badges across different servers</li>
<li>Prepping groundwork for instance-level controls later</li>
</ul>
<p><strong>Wanna Test With Us? 🧪</strong></p>
<p>If you’re comfortable with:</p>
<ul>
<li>Raw SQL</li>
<li>Servers crashing</li>
<li>Maybe losing everything 😅</li>
</ul>
<p>…and want to help shape early decentralized BadgeFed, <strong>message us</strong>!</p>
<p>(Seriously, it’ll be messy but fun.)</p>
<p>👉 <a href="https://github.com/tryvocalcat/badgefed" rel="nofollow noopener noreferrer" target="_blank">GitHub Repo</a></p>
<p>Let’s make federated badges a reality. 🚀</p>
<p>—Maho</p>
<br> <p>You can read the article "BadgeFed: Early Decentralization Experiments + OpenBadges Export! - Second April 2025 Update" by <a href="https://hachyderm.io/users/mapache" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>mapache</span></a> <a href="https://badgefed.vocalcat.com/post/04-april2nd-update/" rel="nofollow noopener noreferrer" target="_blank">here</a> as well.</p> <a href="https://badgefed.vocalcat.com/tags/activitypub" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>activitypub</span></a> <a href="https://badgefed.vocalcat.com/tags/badgefed" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>badgefed</span></a> <a href="https://badgefed.vocalcat.com/tags/fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fediverse</span></a> <a href="https://badgefed.vocalcat.com/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> <a href="https://badgefed.vocalcat.com/tags/decentralization" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>decentralization</span></a> <a href="https://badgefed.vocalcat.com/tags/open-source" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>open-source</span></a> <a href="https://badgefed.vocalcat.com/tags/openbadges" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>openbadges</span></a> <a href="https://badgefed.vocalcat.com/tags/identity" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>identity</span></a> <a href="https://badgefed.vocalcat.com/tags/roadmap" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>roadmap</span></a>