On how to tell the Atmosphere to kindly tell AI to fuck off your creativity

Or, how to set a setting in your account that serves as an AI-focused Robots.txt


The Atmosphere - the terminology for the ecosystem surrounding Bluesky and all the applications built off of the AT Protocol. From tracking and ranking books, TV, and movies on Popfeed, showing off your musical taste with Teal.fm or Rocksky, to streaming on Stream.place and drawing on one of the handfuls of oekaki apps. All of this data sits on the server you set your account up on.

It's different from the Fediverse and ActivityPub. ActivityPub servers are more for small hosts who only want to focus on one social activity, while wanting others on other servers to follow them. AT Protocol serves as a single sign-on for a world of applications. No more having to create a new login for each social media experience you want. Just log in with your account that you use to log into your bsky app of your choice and you're in. ActivityPub also does not handle migration nicely, currently. This seems to be something that the AT Protocol handles innately.

AT Protocol records are stored as JSON. And with the protocol open, almost anyone can handcraft their own 'lexicons' to define new activities on the protocol. One such lexicon is community.lexicon.preference.ai. This allows you to declare what AI hosted on the Protocol can and cannot do with your content. It's also a pain in the ass to set. But not any more, for I'm going to show you how you can do it without having to log into a million Atmosphere apps to find the one application with this lexicon exposed.

Thanks to Sri , I was informed of a way to insert records into your account through a protocol explorer called Taproot. This editor is linked here. The lexicon is going to be tricky, so I've copied it all below. You just need to sign into Taproot and click the "Create" button after granting the permissions.

{
  "$type": "community.lexicon.preference.ai",
  "updatedAt": "{{$now}}",
  "scope": {
    "$type": "community.lexicon.preference.ai#globalscope"
  },
  "preferences": {
    "training": {
      "allow": false,
      "updatedAt": "{{$now}}"
    },
    "embedding":{
      "allow": false,
      "updatedAt": "{{$now}}"
    },
    "inference":{
      "allow": false,
      "updatedAt": "{{$now}}"
    },
    "syntheticContent":{
      "allow": false,
      "updatedAt": "{{$now}}"
    }
  }
}

(Alternatively, just click this link to get to the record creator with the record populated in the box already.)

Once the preference is set, it will be respected by applications that are built to expose it.

You could, of course, do other things with the Taproot creator, but since this lexicon is one that should be near and dear to my friends hearts, I thought to write this on how to set it.

Have fun with what you can do on the Atmosphere, lovelies,

-- Jupiter Corvera