A small tool to view real-world ActivityPub objects as JSON! Enter a URL
or username from Mastodon or a similar service below, and we'll send a
request with
the right
Accept
header
to the server to view the underlying object.
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/data-integrity/v1",
{
"toot": "http://joinmastodon.org/ns#",
"misskey": "https://misskey-hub.net/ns#",
"fedibird": "http://fedibird.com/ns#",
"sensitive": "as:sensitive",
"Emoji": "toot:Emoji",
"Hashtag": "as:Hashtag",
"quoteUrl": "as:quoteUrl",
"_misskey_quote": "misskey:_misskey_quote",
"quoteUri": "fedibird:quoteUri",
"emojiReactions": {
"@id": "fedibird:emojiReactions",
"@type": "@id"
}
}
],
"id": "https://hackers.pub/ap/notes/0196a01a-39bc-7666-aafb-a2567319d500",
"type": "Note",
"attributedTo": "https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c",
"cc": "https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c/followers",
"content": "<p>After reviewing <a href=\"https://w3id.org/fep/5624\">FEP-5624: <em>Per-object reply control policies</em></a> and GoToSocial's <a href=\"https://docs.gotosocial.org/en/latest/federation/interaction_policy/\">interaction policy</a> spec, I find myself leaning toward the latter for long-term considerations, though both have merit.</p>\n<p>FEP-5624 is admirably focused and simpler to implement, which I appreciate. However, <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/GoToSocial\"><span class=\"hash\">#</span><span class=\"tag\">GoToSocial</span></a>'s approach seems to offer some architectural advantages:</p>\n<ol>\n<li>The three-tier permission model (allow/require approval/deny) feels more flexible than binary allow/deny</li>\n<li>Separating approval objects from interactions appears more secure against forgery</li>\n<li>The explicit handling of edge cases (mentioned users, post authors) provides clearer semantics</li>\n<li>The extensible framework allows for handling diverse interaction types, not just replies</li>\n</ol>\n<p>I wonder if creating an <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/FEP\"><span class=\"hash\">#</span><span class=\"tag\">FEP</span></a> that extracts GoToSocial's interaction policy design into a standalone standard might be worthwhile. It could potentially serve as a more comprehensive foundation for access control in <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/ActivityPub\"><span class=\"hash\">#</span><span class=\"tag\">ActivityPub</span></a>.</p>\n<p>This is merely my initial impression though. I'd be curious to hear other developers' perspectives on these approaches.</p>\n<p><a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/FEP5624\"><span class=\"hash\">#</span><span class=\"tag\">FEP5624</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/fedidev\"><span class=\"hash\">#</span><span class=\"tag\">fedidev</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/fediverse\"><span class=\"hash\">#</span><span class=\"tag\">fediverse</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/replycontrol\"><span class=\"hash\">#</span><span class=\"tag\">replycontrol</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/interactionpolicy\"><span class=\"hash\">#</span><span class=\"tag\">interactionpolicy</span></a></p>\n",
"contentMap": {
"en": "<p>After reviewing <a href=\"https://w3id.org/fep/5624\">FEP-5624: <em>Per-object reply control policies</em></a> and GoToSocial's <a href=\"https://docs.gotosocial.org/en/latest/federation/interaction_policy/\">interaction policy</a> spec, I find myself leaning toward the latter for long-term considerations, though both have merit.</p>\n<p>FEP-5624 is admirably focused and simpler to implement, which I appreciate. However, <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/GoToSocial\"><span class=\"hash\">#</span><span class=\"tag\">GoToSocial</span></a>'s approach seems to offer some architectural advantages:</p>\n<ol>\n<li>The three-tier permission model (allow/require approval/deny) feels more flexible than binary allow/deny</li>\n<li>Separating approval objects from interactions appears more secure against forgery</li>\n<li>The explicit handling of edge cases (mentioned users, post authors) provides clearer semantics</li>\n<li>The extensible framework allows for handling diverse interaction types, not just replies</li>\n</ol>\n<p>I wonder if creating an <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/FEP\"><span class=\"hash\">#</span><span class=\"tag\">FEP</span></a> that extracts GoToSocial's interaction policy design into a standalone standard might be worthwhile. It could potentially serve as a more comprehensive foundation for access control in <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/ActivityPub\"><span class=\"hash\">#</span><span class=\"tag\">ActivityPub</span></a>.</p>\n<p>This is merely my initial impression though. I'd be curious to hear other developers' perspectives on these approaches.</p>\n<p><a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/FEP5624\"><span class=\"hash\">#</span><span class=\"tag\">FEP5624</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/fedidev\"><span class=\"hash\">#</span><span class=\"tag\">fedidev</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/fediverse\"><span class=\"hash\">#</span><span class=\"tag\">fediverse</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/replycontrol\"><span class=\"hash\">#</span><span class=\"tag\">replycontrol</span></a> <a class=\"mention hashtag\" rel=\"tag\" href=\"https://hackers.pub/tags/interactionpolicy\"><span class=\"hash\">#</span><span class=\"tag\">interactionpolicy</span></a></p>\n"
},
"published": "2025-05-05T10:59:55.405Z",
"source": {
"type": "as:Source",
"content": "After reviewing [FEP-5624: *Per-object reply control policies*](https://w3id.org/fep/5624) and GoToSocial's [interaction policy](https://docs.gotosocial.org/en/latest/federation/interaction_policy/) spec, I find myself leaning toward the latter for long-term considerations, though both have merit.\n\nFEP-5624 is admirably focused and simpler to implement, which I appreciate. However, #GoToSocial's approach seems to offer some architectural advantages:\n\n1. The three-tier permission model (allow/require approval/deny) feels more flexible than binary allow/deny\n2. Separating approval objects from interactions appears more secure against forgery\n3. The explicit handling of edge cases (mentioned users, post authors) provides clearer semantics\n4. The extensible framework allows for handling diverse interaction types, not just replies\n\nI wonder if creating an #FEP that extracts GoToSocial's interaction policy design into a standalone standard might be worthwhile. It could potentially serve as a more comprehensive foundation for access control in #ActivityPub.\n\nThis is merely my initial impression though. I'd be curious to hear other developers' perspectives on these approaches.\n\n#FEP5624 #fedidev #fediverse #replycontrol #interactionpolicy",
"mediaType": "text/markdown"
},
"tag": [
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/GoToSocial",
"name": "#GoToSocial"
},
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/FEP",
"name": "#FEP"
},
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/ActivityPub",
"name": "#ActivityPub"
},
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/FEP5624",
"name": "#FEP5624"
},
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/fedidev",
"name": "#fedidev"
},
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/fediverse",
"name": "#fediverse"
},
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/replycontrol",
"name": "#replycontrol"
},
{
"type": "Hashtag",
"href": "https://hackers.pub/tags/interactionpolicy",
"name": "#interactionpolicy"
}
],
"to": "as:Public",
"url": "https://hackers.pub/@hongminhee/0196a01a-39bc-7666-aafb-a2567319d500"
}