# About Blacksky

Blacksky Algorithms builds open-source, community-driven infrastructure for decentralized social media. Our mission is to empower communities with tools for safety, governance, and control over their online spaces. This documentation is designed to help new users understand what Blacksky offers and how to get started with our feeds and moderation services.

This website contains information for both technical and non-technical users. We will continue to add and update the website as more packages are created and updated.


# List of our services

Below is a comprehensive list of public network services and applications ran by Blacksky

## Live Services

* [https://blacksky.app](https://blacksky.app/) → **PDS (Personal Data Server)** Hosts user accounts and personal data under Blacksky's Terms of Service and Privacy Policy. Users hosted here can migrate away at any time while keeping their identity and social graph. Promotes independence from Bluesky by giving users an alternative hosting provider with its own governance and moderation policies.
* [https://atproto.africa](https://atproto.africa/) → **Relay & Moderation Relay** A full-network relay built from scratch in Rust that streams all network activity with a 3-day backfill window and PLC cache. Also hosts a moderation relay that replays all moderation labels network-wide that have ever been made, making it easy for developers to consume labels from multiple mod services. Promotes independence by enabling anyone to access the entire AT Protocol firehose and aggregated moderation data without relying solely on Bluesky's infrastructure.
* [https://blacksky.community](https://blacksky.community/) → **Web App** A fork of the Bluesky client with Blacksky-specific features including custom moderation, Blacksky feeds as defaults, and the blacksky.app PDS pre-selected. Promotes independence by providing an alternative interface where Blacksky's community governance takes priority over Bluesky's decisions.
* <https://acorn.blacksky.community/> → **Acorn** A comprehensive suite of tools that bundles all of the services Blacksky has developed for its community (starter packs, custom Feeds, moderation, and reporting) and offers them to communities looking to create and manage their own safe online spaces.
* [@moderation.blacksky.app](https://blacksky.community/profile/did:plc:d2mkddsbmnrgr3domzg5qexf) → **Moderation Service** Custom moderation labeler that applies community-determined guidelines independent of Bluesky's moderation policies. Users can subscribe to this service to receive Blacksky's content labels. Promotes independence by allowing communities to define their own safety standards.
* [@move.blacksky.community](https://move.blacksky.community/) → **Migration Tool** Simplifies the process of migrating accounts from Bluesky's PDS to Blacksky's hosting (or other providers) without losing followers, posts, or identity. Promotes independence by making it easy for users to leave Bluesky's hosting while maintaining their social presence.
* [https://assembly.blacksky.community](https://assembly.blacksky.community/) → **Governance Platform** A self-hosted instance of Polis for democratic decision-making where community members collaboratively develop guidelines, vote on features, and shape Blacksky's policies. Promotes independence through community-led governance rather than top-down corporate control.
* [https://blackskyweb.xyz](https://blackskyweb.xyz/) → **Marketing Website** The main informational site explaining Blacksky's vision, services, and how they promote community-led growth on AT Protocol. The marketing account is [@blackskyweb.xyz](https://blacksky.community/profile/did:plc:kta7dqcqoamo5ixlajxbtjps). Also federated via activity pub ([@atproto\_rocks@blackskyweb.xyz](https://mastodon.social/@atproto_rocks@blackskyweb.xyz)).&#x20;
* [https://satnav.rsky.dev](https://satnav.rsky.dev/) → **Exported Data Explorer** Tool for exploring CAR files (Content Addressable aRchives) - your exported AT Protocol data. Makes user data portable and human-readable. Promotes independence by ensuring users can access and understand their own data outside of any platform.
* [https://docs.blacksky.community](https://docs.blacksky.community/) → **Documentation Site** Comprehensive guides and technical documentation for using Blacksky's services, migrating accounts, and understanding AT Protocol infrastructure.
* [https://api.blacksky.community](https://api.blacksky.community/) -> A complete Bluesky-compatible API server with support for private/community-only content.&#x20;

### Additional PDS Handles Hosted by Blacksky

* **myatproto.social** - Generic AT Protocol handles, open to anyone
* **cryptoanarchy.network** - Community-themed handles, open to anyone

## Coming soon

* **iOS and Android Native Apps** - Mobile applications with Blacksky's features built-in.
* **blacksky.cash**- Direct way for community members to financially support content creators within Blacksky.


# Join Blacksky


# Create an account

To create an account with Blacksky simply:&#x20;

1. Navigate to [blacksky.community](http://blacksky.community)&#x20;
2. Select ‘Create an Account’&#x20;
3. Follow the prompts to input your email, password (and birthdate depending on the region you’re in)
4. Input a username
5. Select a domain from the dropdown list
6. Note: Blacksky.app, afrolatinsky.app, and latinsky.app were created to provide safe spaces for members of those communities (those who identify as Black and Latinx respectively) and therefore should not be used by those who are not.
7. If you have your own custom online domain (e.g. [janedoe.xyz](http://janedoe.xyz)) you can change your handle to your own domain once you’ve created an account
8. From this step you’ll be able to add a profile picture, share your interests, and be given suggested accounts to follow to get you started.


# Migrate to Blacksky

Complete guide to migrating your Bluesky account to Blacksky's infrastructure. Covers migration tools, step-by-step instructions, troubleshooting, and how to use Blacksky services without migrating.

### About Blacksky

Blacksky is communal infrastructure for the atproto network, built on the vision of making communal practices of mutual aid a normal practice. All code is open source and operates with complete transparency.

**Important**: Blacksky as a community exists across multiple PDSs (Personal Data Servers) — this is intentional and by design.&#x20;

Also note that new users without an existing Bluesky or Blacksky account can easily sign up directly at [https://blacksky.community](https://blacksky.community/) to be hosted on one of our PDSs. The remainder of this document discusses migrating an existing account hosted elsewhere (Bluesky, another 3rd-party PDS, etc.)

<figure><img src="/files/ZM8QKq6jB1BI5FajTsPK" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/F6GiwuhavKysRxbPkYCX" alt=""><figcaption></figcaption></figure>

### Who Can Use Blacksky Services?

#### blacksky.app - For Blacksky Community Members Only

**blacksky.app** is exclusively for members of the Blacksky community. This PDS has specific membership requirements and is reserved for Black folks building communal infrastructure.

⚠️ **Warning**: Anyone else using a blacksky.app handle will receive a warning at first and then a suspension.

#### Domains for Everyone

Blacksky Algorithms also operates two other PDS domains that are **open to anyone**:

* **myatproto.social** - Open to all
* **cryptoanarchy.network** - Open to all

These servers run on the same infrastructure as blacksky.app and are maintained by the same team, but are available for anyone to use regardless of background.

💡 **Note:** whether your handle is *username.myatproto.social* or *username.cryptoanarchy.network* you must still enter "<https://blacksky.app>" as your hosting provider when logging into apps that request a "Hosting Provider" such as the Bluesky mobile apps.

#### Other Community Options

Additional community-run PDSs you might consider:

* [transrights.northsky.social](https://northskysocial.com/join) - 2SLGBTQIA+ community
* [pds.witchcraft.systems](https://pds.witchcraft.systems/) - contact directly for invite
* [selfhosted.social](https://selfhosted.social/) - contact directly for invite

### How to Use Blacksky (Without Migrating)

You don't need to migrate your account to use Blacksky's features:

**Option 1: Use the Web App**

* Visit **blacksky.community**
* Log in with your existing account
* No migration required
* Gets you around age verification and geolocation restrictions
* Blacksky moderation and feeds are built in

**Option 2: Use the Mobile App** When logging into the official Bluesky app:

1. Change the "Hosting Provider" (above username field) to `https://blacksky.app`
2. Then log in as normal

### Migration Guide

If you want to move your account hosting to one of Blacksky's PDSs, follow these steps:

#### What Migration Does

* Moves your account hosting from elsewhere (like Bluesky) to Blacksky (or another PDS)

<figure><img src="/files/8FH1ih2OM9Qs3erl3VSX" alt=""><figcaption></figcaption></figure>

* Puts you under Blacksky's [Terms of Service](https://blackskyweb.xyz/about/support/tos/) and [Privacy Policy](https://blackskyweb.xyz/about/support/privacy-policy/)
* **You keep all your followers, follows, posts, and data**
* Your handle will change (e.g., from `name.bsky.social` to `name.blacksky.app` ). If you use a custom domain as your handle, that will stay the same.

#### Migration Tool:

You can use [**move.blacksky.community**](https://move.blacksky.community/) to migrate which was built and is maintained by the Blacksky team

Here is a walk-through video:&#x20;

{% embed url="<https://www.youtube.com/watch?v=Oz4OPzTQXzI>" %}

#### Step-by-Step Migration

1. **Go to** [move.blacksky.community](https://move.blacksky.community/)&#x20;
2. **Enter Account Information**
   * **Current handle**: Your current handle (e.g., `alice.bsky.social`  or `rudyfraser.com` )
   * **New handle**:&#x20;
     * For Blacksky community members: `username.blacksky.app`
     * For everyone else: `username.myatproto.social` or `username.cryptoanarchy.network`
   * ⚠️ **Important**: Type these out manually, don't copy/paste (invisible characters can cause issues. If you get invalid handle errors, this is likely why.)
3. **Complete Migration**
   * Follow the prompts
   * Wait for the migration to complete
   * You will receive a confirmation email once it has been completed

⚠️ If you are unable to migrate with our migration tool, you can also use [PDS MOOVER.](https://pdsmoover.com/moover/blacksky.app) For a video guide on these steps, check out Sharpie's post [here](https://blacksky.community/profile/did:plc:g7j6qok5us4hjqlwjxwrrkjm/post/3lw3hcuojck2u).

#### Post-Migration Steps

#### **Change Your Handle Domain**

If you want to switch between handle options (blacksky.app, myatproto.social, cryptoanarchy.network) or use your own custom domain:

* Visit [blacksky.community](https://blacksky.community/)
* Log in to your account
* Navigate to settings
* Change your handle to any of the available options or a domain you own

<figure><img src="/files/Mbu21nN1kyf2r1u1PV07" alt=""><figcaption></figcaption></figure>

**Fix Old Account Issues:**&#x20;

If people can't reply to you after migration:

1. Visit [pdsmoover.com/turnoff.html](https://pdsmoover.com/turnoff.html)
2. Log in with your **old** account credentials
3. Deactivate the old account properly

<figure><img src="/files/yao0mclWLSDUNjCpq0lh" alt=""><figcaption></figcaption></figure>

**Fix Missing Images**

If images from before your migration aren't showing or you're having issues editing your profile:

1. Visit [missing.pdsmoover.com](https://go.blacksky.community/redirect?u=https%3A%2F%2Fpdsmoover.com%2Fmoover%2Fblacksky.app)
2. Follow the instructions to backfill your images

<figure><img src="/files/ej5Zehv4DUqXOU1mtBqd" alt=""><figcaption></figcaption></figure>

**Restore Backups and other PDS Issues:**

You can now use PDS Moover to take care of the items listed above and also restore your data. You can find more detailed information from Bailey here:

{% embed url="<https://pdsmoover.com/moover/blacksky.app>" %}

<figure><img src="/files/7f1lDlpwRkOvHD64s9lr" alt=""><figcaption></figcaption></figure>

### Troubleshooting

#### "Can't create account" or "Handle already exists"

* Click "Advanced Options" when migrating
* Uncheck "create account"
* Complete the migration

#### Images not loading after migration OR can't update profile (missing blobs)

In AT Protocol, blobs (Binary Large OBjects) are your media (images, video, etc.).

* Use [missing.pdsmoover.com](https://go.blacksky.community/redirect?u=https%3A%2F%2Fpdsmoover.com%2Fmoover%2Fblacksky.app) to fix the image backfill

<figure><img src="/files/ej5Zehv4DUqXOU1mtBqd" alt=""><figcaption></figcaption></figure>

#### People can't reply to your posts

* Visit [pdsmoover.com/turnoff.html](https://go.blacksky.community/redirect?u=https%3A%2F%2Fpdsmoover.com%2Fmoover%2Fblacksky.app)
* Deactivate your old account using old credentials

<figure><img src="/files/yao0mclWLSDUNjCpq0lh" alt=""><figcaption></figcaption></figure>

#### Getting message to reactivate my account

* Your account migration hasn't completed if you didn't enter the PLC token into the migration tool you were using. Go back and complete the migration.

#### I never got a PLC token email

Make sure your current email in the Bluesky app is verified and that you have access to it. Also, check spam. If you no longer have access to the email you used to sign up with Bluesky, contact <support@bsky.app> to get it updated. **You need a verified email that you have access to in order to complete the migration.**

#### Migration tool showing other errors (unable to resolve handle)

* Make sure you typed handles manually (no copy/paste)
* Check for typos in old or new handle
* Old handle format: `name.bsky.social`
* New handle format: `name.blacksky.app` (or myatproto.social, cryptoanarchy.network)
* Try using incognito on Google Chrome using a laptop/desktop machine

#### Need more help?

* Email: <support@blacksky.app>

### Features & Resources

#### Blacksky Features

* **Web App**: [blacksky.community](https://blacksky.community/)
* **Built-in Moderation**: Blacksky's moderation is baked into the web app
* **Core Feeds**: Blacksky feeds are default
* **Privacy**: No public list of Blacksky members, building private spaces
* **Open Source**: All code is transparent ([GitHub](https://github.com/blacksky-algorithms/blacksky.community))
* **Feature Requests:** Use our democratic deliberation tool ([People's Assembly](https://assembly.blacksky.community/8bbfunvvau))
* **Bug Reports:** We track issues in [Github](https://github.com/blacksky-algorithms/blacksky.community/issues/new/choose)

#### Getting Involved

* **Overview**: [blackskyweb.xyz/overview/](https://blackskyweb.xyz/overview/)
* **Support**: Voluntary, sliding-scale recurring subscriptions (not tax-deductible donations) <https://opencollective.com/blacksky/contribute/backer-59760/checkout>

### Additional Notes

* **No invite codes required** - Open signups available
* **Network-wide connection** - Although you're on the Blacksky server, you can still speak with folks on Bluesky and they can still see and interact with you
* **Multiple options** - You can use just the web app, just migrate, or both
* **Rate limits** - Blacksky has rate limits to prevent abuse
* **No geolocation tracking** - Blacksky doesn't do specific geolocation tracking

***

**Last Updated**: March 2026


# The Blacksky Web App

A comprehensive explanation of Blacksky.Community. Covers what it is, how to access it, and what features it has.

This doc will be updated as new features are added.&#x20;

We are working on iOS and Android app implementation in the future.

**Last updated:** February 2026

***

## What is the Blacksky Web App?&#x20;

[Blacksky.community ](https://blacksky.community)is a web app (can only be accessed via a web browser) that assembles all the data on the network. Our web app has specific features that are listed below. <br>

***

## How to access the Blacksky Web App?

Go to [Blacksky.community](https://blacksky.community/) and log in or create an account. Once you are logged in, you will be able to immediately access your account, feeds, etc.&#x20;

You can also use our web app with any PDS. This means that if you host your own PDS or are even a Bluesky user, you can log into our web app with your credentials. Our moderation, community guidelines, and TOS still apply.&#x20;

{% hint style="info" %}
Currently, there may be pages that do not have blobs (profile images) and full follower counts shown due to backfilling. Backfilling is the process of syncing all the data in the network from scratch. At the time of the Blacksky web app launch, \~50% of accounts were synced. This process will take time, but you will still be able to use your account as usual. <br>
{% endhint %}

***

## Features

**Main Features:**

* Built-in moderation service (you do not have to subscribe to our moderation service via the web app). Bluesky data is viewable, but is under our moderation for the full web app, not just as a labeler or PDS moderation tool.&#x20;
* Blacksky feed is automatically built in.
* If your account is banned or suspended by Bluesky, our web app automatically copies that moderation decision, but if you submit an [appeal](https://blackskyweb.xyz/about/support/moderation-appeal/), we will investigate the ban, and if it does not go against our TOS, you will regain immediate access to your account.&#x20;
* If you receive a label from Bluesky moderation, such as ‘rude’ or ‘sexual content’, it will appear on our web app, but you can appeal it [here](https://blackskyweb.xyz/about/support/moderation-appeal/), and we will investigate it against our own moderation and remove the label on your account via our web app (if you are on our PDS).&#x20;

\
**Things to Remember**
----------------------

#### **Bookmarks, Drafts, and Mutes**

* Bookmarks, Drafts, and Mutes on the Blacksky Web App differ from your Bluesky app ones. You will need to redo these functions within the Blacksky Web App. This data is private and thus specific to which app you're logging into.

#### **Blocks**

* Blocks are universal across all apps. This means that if you had someone blocked on Bluesky, then they are also blocked on Blacksky.&#x20;

#### **DMs**

* If you have been banned from Bluesky but are unbanned in our web app, you do not have access to DMs because they are Bluesky-specific and closed-source. We encourage you to use [Germ](https://blacksky.community/profile/did:plc:4yvwfwxfz5sney4twepuzdu7) as an alternative to be able to talk privately with those on our web app.

{% hint style="info" %}
If you encounter any issues while using our web app, please send an email to <support@blacksky.app>.
{% endhint %}


# How to Join the Beta

A step-by-step guide for iPhone (TestFlight) and Android (Google Play) testers

{% hint style="info" icon="down-from-dotted-line" %}
The mobile app, once you go through the steps below for your particular device, should look like the image below.
{% endhint %}

<figure><img src="/files/6YCePUSYsF6y215hIKFu" alt="" width="161"><figcaption></figcaption></figure>

### iPhone & iPad (TestFlight)

Apple distributes betas through a free app called [TestFlight](https://testflight.apple.com/join/ST8N2Qda). You'll install that first, then use it to install our app.

**Steps**

1. Open the App Store and install the app called [TestFlight](https://testflight.apple.com/join/ST8N2Qda) (made by Apple). It's free.
2. Open the [invitation link](https://testflight.apple.com/join/ST8N2Qda) on your iPhone or iPad. It will open in TestFlight automatically.
3. Tap Accept, then tap Install.
4. Once installed, open the app from your home screen like any other app.

### Getting updates

{% hint style="info" %}
New test versions arrive through the TestFlight app, not the regular App Store. Open TestFlight and tap Update if one is available. You can turn on automatic updates inside TestFlight, so you always have the latest build.
{% endhint %}

**If something goes wrong**

* Tapping the link does nothing? You almost certainly haven't installed TestFlight yet. Install it first (Step 1), then tap the link again.
* "This beta isn't accepting new testers" means the tester limit (10,000) is full, or the invite window has closed.

{% hint style="info" %}
If this occurs, please contact us <support@blacksky.app>.
{% endhint %}

* The app suddenly won't open and shows an expiry message? Test builds expire after 90 days. Open TestFlight and install the newest version, or contact us for a fresh build.
* Make sure your device's iOS version is up to date — older versions may not be able to install the beta.

## Android (Google Play)

On Android, there's no separate app to install. If you are on your phone, you can directly download the app. If you are on a laptop, you can opt-in to testing from a browser which will download the app onto your phone. The process is simpler for joining using your phone.

**Steps (on phone)**

1. Click [this link](https://play.google.com/store/apps/details?id=community.blacksky.app) for joining on your phone.
2. You should be redirected to Blacksky’s Play Store listing.
3. Tap Install (or Update). The app downloads like any normal app.

**Steps (on desktop)**

1. Make sure you're signed in to the Play Store with the same Google account on your phone that you'll use for the link.
2. Open [this link](https://play.google.com/apps/testing/community.blacksky.app) and tap "Become a tester."
3. Tap the link on that page to open the app's Play Store listing.
4. Tap Install (or Update). The app downloads directly onto your phone.

**Getting updates**

{% hint style="info" %}
Updates come through the Play Store automatically, just like any other app — no extra steps needed.
{% endhint %}

If something goes wrong

* "Item not found" or the listing won't load? This is almost always temporary. A new beta can take a few hours to go live after we publish — wait a bit and try again.
* Still can't find it? Double-check you're signed in with the exact Google account you used to opt in. A mismatched account is the most common cause.
* If you accepted the invite on a computer, the app should appear on your phone within a few minutes as long as it's the same Google account.

{% hint style="info" %}
If you were part of an earlier private/closed test, you may need to leave that first before joining the open beta.
{% endhint %}

### Need a hand?

If you're stuck after trying the steps above, reach out and include:&#x20;

* Device type
* OS (operating system)  version&#x20;
* A screenshot of what you're seeing

Send this to <support@blacksky.app>.

\
Reporting Bugs and Sending Feedback
-----------------------------------

#### iPhone & iPad (TestFlight)

To report bugs and crashes, follow these instructions.&#x20;

**For crashes:**

If the app crashes, you should get a prompt to share a crash report with the developer. Please fill in as many details as you can about what you were doing on the app before it crashed and hit submit.

**For bugs:**

There are two paths to reporting bugs in the app:\
1\. Screenshot: Take a screenshot of the bug in the app, tap on the screenshot, hit Share, and then tap “Share Beta Feedback”. You will have the ability to add details to accompany the screenshot shared with us, please fill in the description with anything you think may be relevant.

2\. Testflight: Open Testflight, tap on Blacksky, and hit “Send Feedback”.&#x20;

#### Android

To report any bugs or provide feedback: open the Play Store, tap on the profile icon, click on "Manage apps and devices" and then click on "Beta", find Blacksky in the list and tap on it, then under "Private Feedback to the Developer" tap "Write Feedback" and describe your feedback in the text box

<br>


# Using Blacksky


# Account Management

The following guides share how to access and manage your account.


# Logging in

To login to your account:

1. Visit[ blacksky.community](https://blacksky.community/)
2. Select ‘Sign in’
3. Make sure your ‘hosting provider’ is set to the correct one.&#x20;
4. If you have a Blacksky account, this will be the default. If you are using Bluesky or another server you can still login with our app but you’ll need to edit the hosting provider accordingly.
5. Input your username
6. Enter your password.&#x20;
7. If you’ve forgotten your password, you can select the ‘Forgot?’ button to reset it.


# Delete my account

If you want to delete your account you can do so from within your account settings.&#x20;

1. Visit[ blacksky.community](https://blacksky.community/)
2. Log in to your account
3. Navigate to Settings
4. Select Account
5. Click Delete account
6. Confirm via the ema

⚠️ **Warning**: Deleting your account is a permanent action that will erase your account information including posts, profile information, and follower/following lists. If you prefer to [deactivate your account](/using-blacksky/account-management/deactivate-my-account) instead, this will make your profile and posts invisible, while allowing you to [reactivate](/using-blacksky/account-management/reactivate-my-account) at any time you choose.

<br>


# Deactivate my account

If you want to deactivate your account, you can do so from within your account settings.&#x20;

1. Visit[ blacksky.community](https://blacksky.community/)
2. Log in to your account
3. Navigate to Settings
4. Select Account
5. Click D

If you’d like to [reactivate your account](/using-blacksky/account-management/reactivate-my-account), it’s as simple as logging back in.

<br>


# Reactivate my account

To reactivate your account you can simply log back into your account and follow the prompts to reactivate your account when it appears.&#x20;

If this does not work, it could be because an error occurred if you recently migrated to a new PDS. If this is the case, you can login using your DID (decentralized ID) instead of your username, with your password.&#x20;

To locate your DID, use this link: <https://huggingface.co/spaces/bluesky-community/bluesky-did-lookup>

**Note**: When logging into or reactivating your account, don’t forget to update your server name to the server you’ve migrated to if you aren’t logging in using their site directly as it won’t be set as the default.&#x20;

If none of the above works, your account [may have been banned](/using-blacksky/troubleshooting/ive-been-banned) by our server or Bluesky’s. If this is the case, you can [open a support ticket](https://blackskyweb.xyz/about/support/) with us and we’ll review the ban and get back to you within 5 business days with our decision.

<br>


# Change my handle

If you want to switch between handle options on the Blacksky server (blacksky.app, myatproto.social, cryptoanarchy.network, latinsky.app or afrolatinsky.app):

1. Visit[ blacksky.community](https://blacksky.community/)
2. Log in to your account
3. Navigate to Settings
4. Select Account
5. Click on Handle
6. Change your handle to any of the available options

#### Which handle should I select?

**blacksky.app - For Blacksky Community Members Only**

blacksky.app is exclusively for members of the Blacksky community. This PDS has specific membership requirements and is reserved for Black folks building communal infrastructure.

⚠️ Warning: Anyone else using a blacksky.app handle will receive a warning at first and then a suspension.

**Alternative domains for Everyone**

Blacksky Algorithms also operates two other PDSs that are open to anyone:

* myatproto.social - Open to all
* cryptoanarchy.network - Open to all

These servers run on the same infrastructure as blacksky.app and are maintained by the same team, but are available for anyone to use regardless of background.

💡 Note: whether your handle is username.myatproto.social or username.cryptoanarchy.network you must still enter "<https://blacksky.app>" as your hosting provider when logging into apps that request a "Hosting Provider" such as the Bluesky mobile apps.

#### Changing to a domain that you own&#x20;

If you’d like to switch handles to a domain that you own, you can:&#x20;

1. Follow steps 1-4 above&#x20;
2. Click “I have my own domain” and follow the instructions on that screen.&#x20;
3. This may require that you coordinate with your domain provider host (e.g. Squarespace, GoDaddy, etc) to link your account using the DNS (Domain Name System) information provided.&#x20;


# Posts and feed

The following guides help you join feeds, follow hashtags, and understand our moderation process.


# Blacksky-Only Posts

Blacksky-Only Posts are permissioned data for Blacksky community members. While these posts are not public, they are not encrypted. These posts can only be viewed by anyone in the Blacksky Community or Blacksky Feed. The Blacksky Community includes users with .[blacksky.app](http://blacksky.app) handles. \
\
This gives Blacksky community members an opportunity to post within a gated community functionality that is not visible to the larger protocol or the public. Moderation labels, Terms of Service, and community guidelines still apply.<br>

1. Log into blacksky.community&#x20;
2. Go to "Post" as you normally would&#x20;

<img src="/files/1CH38MF41xuN52NZ46ea" alt="" height="272" width="508">

3. Toggle "Blacksky Only"&#x20;

<img src="/files/cZz62zufdybzOqb2o2Hm" alt="" height="269" width="510">

4. Post and go to Community feed to view post

<img src="/files/SvrxK4NKgIEAcQ9bhCFK" alt="" height="73" width="432">

<br>


# Curating Your Experience

How you curate your skyline is up to you. Blacksky recommends the following best practices:

{% hint style="info" %}

* Do not use the #AddToBlacksky and #Blacksky hashtags unnecessarily. Hashtags make posts easy to search for, but can also enable misuse.
* You only need to use #AddToBlacksky once to have your posts shown in the feed. We recommend deleting that initial post after you appear on the feed to make it harder to search for and avoid accidental or malicious use.
* Subscribe to and perform a “Block All” using the Green List Feed.
  {% endhint %}

If you’ve updated your personal moderation settings to hide sexual content but it’s still appearing in the feeds, you can report the post to the Blacksky Moderation Service to have it removed if it’s spam or have it labeled as sexual content.

You must be subscribed to the Blacksky Moderation Service to do so. To learn more, see the subscription instructions below.

<details>

<summary>How Do I Subscribe to the Blacksky Moderation Service Labeler?</summary>

See: How Do I Subscribe to the Blacksky Moderation Service Labeler? — <https://docs.blackskyweb.xyz/docs/blacksky-info/curating-your-experience#\\_\\_docusaurus\\_skipToContent\\_fallback>

(Click the link to follow the original instructions.)

</details>


# Blacksky Feeds and Hashtags

### Feeds

There are several feeds created by Blacksky Algorithms:

* [Blacksky](https://bsky.app/profile/rudyfraser.com/feed/blacksky)
* [Blacksky: Trending](https://bsky.app/profile/rudyfraser.com/feed/blacksky-trend)
* [Blackademics](https://bsky.app/profile/rudyfraser.com/feed/blacksky-edu)

{% hint style="info" %}
You may see that the feeds are authored by "@rudyfraser.com". Those are the right feeds.
{% endhint %}

#### Joining a Blacksky Feed

Create a post and include the #AddToBlacksky hashtag (this only needs to be done once). All posts after will be included in the Blacksky feed.

{% code title="Example post" %}

```
This is an example of a post
#AddToBlacksky
```

{% endcode %}

![A screenshot of post on Bluesky including text that states "This is an example of a post", and "#AddToBlacksky". This is to showcase how a user can get their posts included in the Blacksky feed.](/files/f6d70346f27692ed8a28e7ec203ac7400bf4978d)

#### Leaving a Blacksky Feed

Create a post and include the #RemoveFromBlacksky hashtag. All posts after will NOT be included in any of the Blacksky feeds.

{% code title="Example post" %}

```
This is another example post
#RemoveFromBlacksky
```

{% endcode %}

![A screenshot of post on Bluesky including text that states "This is another example post", and "#RemoveFromBlacksky". This is to showcase how a user can get their posts included in the Blacksky feed](/files/af4a4a4dd8061416f1dc795099f0ae6ebea5a09d)

#### Pinning a Feed

{% stepper %}
{% step %}

### Open the Bluesky app

Go to the [Bluesky](broken://pages/0a9024feb301e4449430e3411ff646d456905716) app.
{% endstep %}

{% step %}

### Navigate to Search

Open the search page in the app.
{% endstep %}

{% step %}

### Find the feed

Type in the title of any of the feeds previously mentioned.
{% endstep %}

{% step %}

### Join the feed

Click the "+" to join this feed.
{% endstep %}
{% endstepper %}

***

Within Bluesky you can view content based on feeds or by hashtag. It is a common mistake to assume that custom feeds in Bluesky are similar to a subreddit.

{% hint style="info" %}
Custom feeds in Bluesky are aggregators of content, not forums. You cannot post exclusively to any one feed at this time. Learn more about Bluesky feeds: <https://bsky.social/about/blog/7-27-2023-custom-feeds>
{% endhint %}

So, clicking the #Blacksky hashtag is not the same as using the official Blacksky Feed. The feed is chronologically ordered and the content is curated through human moderation, automation, and some pre-filtering logic.

The community also proactively reports content to our Blacksky Moderation Service: <https://bsky.app/profile/blacksky.app>. Also see: <https://docs.blackskyweb.xyz/docs/blacksky-info/how-to-add>

<details>

<summary>What is the Blacksky Starter Pack?</summary>

A starter pack is a list of users and feeds that help new users find community quicker. The Blacksky Starter Pack is a curated list of the 50 most popular and active accounts from the Blacksky feeds. It also includes the Blacksky, Blacksky Trending, and the Blackademics feeds. To learn more about Bluesky starter packs, visit Bluesky's blog post: <https://bsky.social/about/blog/06-26-2024-starter-packs>

</details>


# Blacksky Moderation and Labeler

Any content labeled by Bluesky's AI-based labeler is automatically filtered out of the feed as soon as it is labeled. This usually occurs at the time of posting, but can happen later.

Labels (defined by Bluesky) are annotations on users and content. They can be used to hide, warn, and categorize posts and users on the network.&#x20;

Blacksky has its own independent moderation service, The Blacksky Moderation Service,  that is used to mitigate the harm that Black users experience on Bluesky via the [Blacksky Moderation Service](https://blacksky.community/profile/did:plc:d2mkddsbmnrgr3domzg5qexf). <br>

You have to **subscribe** to the moderation service via Bluesky unless you are using the web app [blacksky.community](https://blacksky.community). Our moderation service is automatically built into our web app.

<br>

<figure><img src="/files/gHMbPoS08PR9D5LBZGxy" alt=""><figcaption></figcaption></figure>

Other content that doesn't belong in the feed can be reported to the [Blacksky Moderation Service](https://blacksky.community/profile/did:plc:d2mkddsbmnrgr3domzg5qexf), where a team of moderators will review the content for removal from the feed.

For Blacksky-Only Posts, there is a team of peer moderators from the community who can label posts that go against our labels listed towards the bottom of this document. They cannot remove posts or ban accounts. Peer Moderators are public, and their accounts have a symbol next to their handle so that the community is aware of who the peer moderators are.&#x20;

<img src="/files/AZqDKsk0XexJfzr3nAcn" alt="" height="150" width="591">

You can read the [Code of Conduct](/peer-moderator-code-of-conduct) for Peer Moderators to learn more about the expectations for their contributions to community safety. All moderation decisions can be appealed by completing the [appeal form](https://blackskyweb.xyz/about/support/moderation-appeal/).

Blacksky filters out sexually explicit images based on labels from the official Bluesky Moderation Service (@moderation.bsky.app) for the main Blacksky and Blacksky Trending feeds.

We may label the content, add the user to the Green List, and/or prevent the user from viewing the Blacksky feed.

![A screenshot of the moderation list called "Green List"](/files/b79ab453cd3def4cb70f12526a0b3de92511954b)&#x20;

{% hint style="warning" %}
Do not publicly “flag” posts (for example, by reposting them or responding in a reply). Harassers can use that public engagement to target you later or escalate conflict. Use the [Blacksky Moderation Service](https://blacksky.community/profile/did:plc:d2mkddsbmnrgr3domzg5qexf) to report harassers to ensure confidentiality and to protect your peace on Blacksky and Bluesky.
{% endhint %}

The moderation service gives you a discreet way to report harmful content and allows Blacksky to enable protective features. For example, the Blacksky “Banned from TV” feature can block certain reported accounts from even seeing the feed.

Any accounts blocked by “Banned From TV” will see the following when trying to load any of the Blacksky feeds:

![](/files/f17bd36cc4b34c4a9b3852a461f905d76d1900dd)

***

**Quick Reminders:**

{% hint style="info" %}
Labels provide additional filtering. There are three options for how you choose to view labeled content on your feed: off, warn, or hide.
{% endhint %}

<figure><img src="/files/xEE6bicrAPrreCG4VXno" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Our Labeler service cannot delete content from the network; instead, moderation labels (ex., anti-black harassment) are attached to content or an account.
{% endhint %}

<figure><img src="/files/VaMHTm8iKcaPDHHvfrbt" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Subscriptions to labelers are private –  other users will not know you are subscribed.&#x20;
{% endhint %}

### **Below are our current labels:**

💡Note: These labels are subject to change based on moderation needs and input from the community via [assembly](https://assembly.blacksky.community/).&#x20;

#### **Anti-Black Harassment**

This category covers any harassing, abusive, or dehumanizing content targeting Black people. It includes:<br>

* **Racial Slurs**\
  Any derogatory term for Black individuals (ex., the N-word). Use of these slurs directed at a person or group is an automatic violation

* Even censored/masked slurs count, including usage in hashtags or usernames

* **Stereotyping & Hate Speech**\
  Content painting Black people as inferior, criminal, unintelligent, etc

* Example: A post that belittles a Black person’s death or refers to harmful stereotypes

* **Threats or Violent Wishes**\
  Calls for violence against Black people or threats directed at Black individuals<br>

Immediate escalation to Blacksky Admin is typical, as threats violate base community standards

* **Derogatory Memes & Tropes**\
  Images or memes evoking racist tropes (ex., comparing Black people to apes)

#### Ambiguous usage of slurs

Sometimes slurs appear in non-harassing contexts:

* In-group usage (Black user reclaiming a slur among friends)
* Quoting a slur to condemn it
* Not considered harassment. Example: “User X called me a ‘n—–’. This is not okay.”
* We do not penalize the user for exposing the harassment
* Black public figures using provocative language
* If it’s not directed as harassment, we generally do not label or remove. (e.g., lyrics.)

#### **Misogynoir**&#x20;

Misogynoir is the intersection of anti-black racism and sexism targeting Black women and Black nonbinary, agender, and gender-variant folks, often involving specific stereotypes or tropes:<br>

* Gendered slurs or insults aimed at Black women
* Tropes like the “angry Black woman,” hypersexualization, or remarks that Black women are undesirable because they are Black

#### **Violence**

Content that expresses violence via images or statements that target Black people. This may include, but is not limited to, threats of physical violence and sexual violence.

This may include, but is not limited to, threats of physical and/or sexual violence through images or statements targeted at Black people

* Photos of Black people being harmed, such as pictures of George Floyd or Michelle Obama, being decapitated or being lynched
* Statements threatening violence directed at Black people

#### Synthetic Media&#x20;

Content that has been generated or manipulated to appear as though based on reality, when it is in fact artificial. Also referred to as manipulated media. Synthetic media may sometimes (but not always) be generated through algorithmic processes (such as artificial intelligence or machine learning). A deepfake is a form of synthetic media where an image or recording is altered to misrepresent someone doing or saying something that was not done or said.

Media (images or videos) that are generated or manipulated (through things like artificial intelligence or machine learning) that target Black people or misrepresent Black people.&#x20;

* Artificial videos or images, such as using deepfake to misrepresent a Black person on Blacksky, doing or saying something that is not real

#### White Supremacy or Anti-Black Rhetoric

Content that expresses statements that are rooted in white supremacy and anti-black rhetoric does not fall under targeted anti-black harassment. This may include internalized anti-blackness that is harmful in nature.

Statements that reinforce ideas of white supremacy or anti-black rhetoric that **do not** fall under harassment. This also includes internalized anti-blackness that is harmful in nature.&#x20;

* Generalizations rooted in anti-blackness (ex. respectability politics) that incite harm towards Black people

#### Doxxing

The act of disclosing someone's personal, non-public information — such as a real name, home address, phone number, or any other data that could be used to identify the individual — in an online forum or other public place without the person's consent

#### Non-Consensual Intimate Imagery&#x20;

Non-consensual image sharing, or non-consensual intimate image sharing (also called 'non-consensual explicit imagery' (NCEI) or colloquially called 'revenge porn'), refers to the act or threat of creating, publishing, or sharing an intimate image or video without the consent of the individuals visible in it

* Sharing someone’s personal nude photos or sexually explicit videos without their permission, revenge porn
* Posting deepfake porn of someone on the feed

#### Ableism

This category covers content that is harassing, abusive, or dehumanizing content targeting Black people with disabilities that are visible and invisible, including but not limited to:

* Slurs or insults aimed at Black people with disabilites disabled Black people
* Derogatory memes or tropes

#### Fatphobia

This category covers content that is harassing in nature, abusive, or dehumanizing content targeting fat  people, including but not limited to:

* Slurs or insults aimed at fat people
* Derogatory memes or tropes

#### Non-sexual nudity

Non-sexual nudity refers to the act of being unclothed in a practical context without any intent for sexual arousal or stimulation. It includes but isn't limited to breastfeeding, art, or medical settings where nudity is simply the state of being.

#### Sexual Content

Adult content refers to media (videos, images) containing explicit, graphic, or mature themes intended solely for audiences over 18, such as pornography and other content with the intent for sexual arousal or stimulation. <br>

***

If you see something that doesn’t belong in the Blacksky feeds, report it to [Blacksky Moderation Service](https://blacksky.community/profile/did:plc:d2mkddsbmnrgr3domzg5qexf):

* Report posts or users for antiblackness or misogynoir
* Report harassment of Black people anywhere on Bluesky
* Report content that could otherwise harm Black people (for example, screenshots of racist posts on other platforms)

If you need to appeal any of the moderation decisions, you can do so [here](https://blackskyweb.xyz/about/support/moderation-appeal/).

Blacksky will continue to work with the community to add new labels and moderation solutions to make the feed and app a safe space for users.


# Appeal a moderation label

If a post of yours has been labeled by our moderation with a description you don’t agree with and this has led to the taking down of your post, or the suspension of your account, you can [file an appeal](https://blackskyweb.xyz/about/support/moderation-appeal/). If you file an appeal this can take up to 5 business days for our team to review. We will reach out to you with our decision when we’ve made it.&#x20;

All decisions are made based on our [community guidelines](https://docs.blacksky.community/info-about-blacksky-the-community/blacksky-community-guidelines), and accounts/posts are only labeled if they have gone against those community guidelines, regardless of identity, but we always investigate any appeals.

Our community guidelines and labels were voted on by Blacksky users via [Blacksky's People's Assembly](https://assembly.blacksky.community/). These guidelines are updated yearly, and we are also open to suggestions via [Blacksky's People's Assembly](https://assembly.blacksky.community/). You can also reference our [moderation and labels](https://docs.blacksky.community/info-about-blacksky-the-community/blacksky-moderation) page for more information.&#x20;

<br>


# Troubleshooting

The following guides share step-by-step guides for resolving any issues you may encounter


# I've been banned

All decisions are made based on our [community guidelines](https://docs.blacksky.community/info-about-blacksky-the-community/blacksky-community-guidelines), and accounts/posts are only labeled, taken down, or suspended if they have gone against those community guidelines.

In reference to Bluesky suspensions, our moderation automatically copies it, and when appealed, we do an investigation to make sure the account also did not go against our ToS.&#x20;

If you’d like to file for an appeal, please [submit a ticket](https://blackskyweb.xyz/about/support/). We will get back to you with our decision, which can take up to 5-7 business days.

For a bit of transparency, our community guidelines and labels were voted on by Blacksky users via [Blacksky's People's Assembly](https://assembly.blacksky.community/). These guidelines are updated yearly, and we are also open to suggestions via [Blacksky's People's Assembly](https://assembly.blacksky.community/). Here is more information on our [moderation and labels](https://docs.blacksky.community/info-about-blacksky-the-community/blacksky-moderation) as well.

<br>


# Post-migration

The following pages help you navigate migration and any troubleshooting that may occur afterwards.

<br>


# Missing images

**Fix Missing Images**

If images from before your migration aren't showing or you're having issues editing your profile:

1. Visit [missing.pdsmoover.com](https://go.blacksky.community/redirect?u=https%3A%2F%2Fpdsmoover.com%2Fmoover%2Fblacksky.app)
2. Follow the instructions to backfill your images

<img src="https://docs.blacksky.community/~gitbook/image?url=https%3A%2F%2F949237041-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FM9rQSvKa27MWGINs3JMR%252Fuploads%252FMGnndn680VxdLdoG7aHM%252Fscreencapture-missing-pdsmoover-2025-10-09-11_29_35.png%3Falt%3Dmedia%26token%3D37df1f25-1d68-4aa5-b918-9ad9f3ce54e3&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=e9e2ee07&#x26;sv=2" alt="Screenshot from PDS Moover" height="921" width="1432">

**Alternatively, if images are not loading after migration OR you can't update your profile (missing blobs)**

In AT Protocol, blobs (Binary Large OBjects) are your media (images, video, etc.).

* Use [missing.pdsmoover.com](https://go.blacksky.community/redirect?u=https%3A%2F%2Fpdsmoover.com%2Fmoover%2Fblacksky.app) to fix the image backfill

<img src="https://docs.blacksky.community/~gitbook/image?url=https%3A%2F%2F949237041-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FM9rQSvKa27MWGINs3JMR%252Fuploads%252FMGnndn680VxdLdoG7aHM%252Fscreencapture-missing-pdsmoover-2025-10-09-11_29_35.png%3Falt%3Dmedia%26token%3D37df1f25-1d68-4aa5-b918-9ad9f3ce54e3&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=e9e2ee07&#x26;sv=2" alt="" height="921" width="1432">


# Restore backups

**Restore Backups and other PDS Issues:**

You can now use PDS Moover to take care of the items listed above and also restore your data. You can find more detailed information from Bailey here:

[PDS MOOverpdsmoover.com](https://pdsmoover.com/moover/blacksky.app)

<img src="https://docs.blacksky.community/~gitbook/image?url=https%3A%2F%2F949237041-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FM9rQSvKa27MWGINs3JMR%252Fuploads%252Fu1XqZWJoavXdD0KFE7M4%252Fatproto_images.png%3Falt%3Dmedia%26token%3Dc88ddfbc-3b35-4467-ae88-101026d98d97&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=79581ccf&#x26;sv=2" alt="" height="1440" width="1466">

#### Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

**"Can't create account" or "Handle already exists"**

* Click "Advanced Options" when migrating
* Uncheck "create account"
* Complete the migration


# Posts aren't interactable

**If people can't reply to your posts:**

* Visit [pdsmoover.com/turnoff.html](https://go.blacksky.community/redirect?u=https%3A%2F%2Fpdsmoover.com%2Fmoover%2Fblacksky.app)
* Deactivate your old account using old credentials

<img src="https://docs.blacksky.community/~gitbook/image?url=https%3A%2F%2F949237041-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FM9rQSvKa27MWGINs3JMR%252Fuploads%252F7bb969RjK7J1AvqfiyrA%252Fscreencapture-pdsmoover-turnoff-html-2025-10-09-11_25_50.png%3Falt%3Dmedia%26token%3D70134632-69cf-40e5-bb69-7b9d885b6b5c&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=1b2f37cf&#x26;sv=2" alt="" height="921" width="1432">

**Getting message to reactivate my account**

* Your account migration hasn't completed if you didn't enter the PLC token into the migration tool you were using. Go back and complete the migration.


# Unable to resolve handle

**Before consulting other guides, make sure you:**

* Make sure you typed handles manually (no copy/paste)
* Check for typos in old or new handle
* Old handle format: `name.bsky.social`
* New handle format: `name.blacksky.app` (or myatproto.social, cryptoanarchy.network)
* Try using incognito on Google Chrome using a laptop/desktop machine
* If these steps didn't work, you can email us at <support@blacksky.app>


# About rsky


# Deploying the Rsky Relay

### Introduction

You may be asking yourself "what is a [relay](https://atproto.com/guides/glossary#relay)?" and "why should I care about it?"

Imagine you are using an app built on the AT Protocol ( [An AppView](https://docs.bsky.app/docs/advanced-guides/federation-architecture#app-views). Whenever a user interacts in the app: liking a post, creating a list, or following a user, it creates a change event (or commit) that is saved to the user's [data repository](https://atproto.com/guides/data-repos).

These changes are communicated to the [Personal Data Server](https://atproto.com/guides/glossary#pds-personal-data-server) that the data repositories are hosted on (PDS). **The Relay** communicates with the PDS and creates a single channel for AppViews to consume the event changes.

What we just described was the traditional relay, but the rsky-relay can also be configured to be a Labeler relay (mod relay). The difference between the two relay types is that a mod relay will look for change events from labelers.

This is important because it allows discoverability for other labelers. Before this, a user could only subscribe to a labeler if they already knew what labeler to look for, or if another user makes a post about the relay. Using this relay type would allow applications to show users all available labelers they can subscribe to.

### Things to Know

Our goal is to upload the rsky-relay container image to the cloud provider, create a virtual machine (VM) based on that image, and create a network rule that allows ingress (incoming), and egress (exiting) traffic on port `9000`.

Before guiding you through running your own instance of the rsky-relay, you should know where you want your relay to be hosted. You can either use a cloud provider like AWS, Azure, GCP, OCI, DigitalOcean, etc, or you can self-host. This tutorial uses GCP (not sponsored), but the concepts will apply to another provider you choose.

This tutorial uses a container image that does not run a full crawl of the network, doesn't have an SSL certificate, and uses 32 GB, instead of 320 GB. These choices were made to simplify deployment, and reduce initial costs.

Finally, we use `websocat` for testing our websocket connection.

### Relay Architecture

Below is a simplified explanation of the rsky-relay architecture components:

* Crawler
* Validator
* Bluesky Relay
* PLC Directory
* Event Database
* Publisher
* Relay Consumers

During initial startup, the relay queries Bluesky's relay every hour to discover and queue PDS instances to be crawled. The Crawler establishes WebSocket connections to queued instances and ingests data.

The ingested data is sent to the Validator, which verifies time and order of change events, resolves DIDs, and verifies cryptographic keys (P-256 or K-256). You can optionally run a full crawl of the PLC Directory for all DIDs. If you do not want to run the script, add the `--no-plc-export` flag when running your instance.

Validated change events are stored in the shared Event Database. The database has three parts:

* queue: change events that need to be validated
* repos: tracks the state of data repositories
* firehose: the event stream of validated change events (Read More: <https://docs.bsky.app/docs/advanced-guides/firehose>)

The Publisher serves firehose consumers the stream of validated events.

### Default Relay Configuration

Below are runtime constants used by traditional and Labeler relays. The service type is defined at compile time. All of the following constants are defined in the src/config.rs file (e.g. `cargo build --release`).

* Service types:
  * Traditional Relay
  * Labeler Relay

Message Queue Capacities (uses bit shifting)

* `CAPACITY_MSGS`: Maximum pending messages, default: 65,536
* `CAPACITY_REQS`: Maximum pending requests, default: 4,096
* `CAPACITY_STATUS`: Maximum status entries, default: 1,024

Worker Pools

* `WORKERS_CRAWLERS`: Number of crawlers, default: 4
* `WORKERS_PUBLISHERS`: Number of publishers, default: 4

Network Configuration

* `PORT`: Service port, default: 9000 for traditional, 9001 for Labeler
* `HOSTS_RELAY`: Upstream relay endpoint, default: `relay1.us-west.bsky.network`
* `HOSTS_INTERVAL`: How often the relay will refresh, default: 1 hour

Resolver Configuration

* `DO_PLC_EXPORT`: Syncs with PLC Directory
  * Traditional Mode: Enabled
  * Labeler Mode: Disabled
  * Can disable feature with the `--no-plc-export` flag
* `PLC_EXPORT_INTERNAL`: How often the PLC syncs, default: 60 seconds
* `CAPACITY_CACHE`: Maximum number of DID resolutions cached, default: 262,144 entries

Validator Configuration

* `HOSTS_WRITE_INTERVAL`: Frequency check for validated hosts, default: 10 seconds

Storage Management

* `DISK_SIZE`: Maximum disk usage, default: 320 GiB
* `TTL_SECONDS`: Length of data retention, default:
  * Traditional Relay: 24 hours
  * Labeler Relay: Unlimited

Database Configuration

* `CACHE_SIZE`: Amount of in-memory cache, default: 1 GiB
* `WRITE_BUFFER_SIZE`: The size of the write buffer, default: 512 MiB
* `MEMTABLE_SIZE`: Size of the memory table before compaction, default: 64 MiB
* `BLOCK_SIZE`: Disk I/O block size, default: 64 KiB
* `FSYNC_MS`: Disk sync interval, default: 1 second

### Traditional Relay Walkthrough

{% stepper %}
{% step %}

### Create cloud account and VM

Create an account with your chosen cloud provider. In GCP, go to Compute Engine → VM instances.
{% endstep %}

{% step %}

### Create a new VM instance

Click "Create Instance". Choose machine configuration (example used: E2 Small — 1 shared core, 2 GB RAM, 64 GB storage). Choose a suitable region.
{% endstep %}

{% step %}

### Deploy container

Under "OS and storage", enable "Deploy container". In the "Container Image" field, paste: blacksky/rsky-relay:latest Click "Select".
{% endstep %}

{% step %}

### Networking settings

Under "Networking", enable "Allow HTTP traffic" and "Allow HTTPS traffic".
{% endstep %}

{% step %}

### Create the instance

Click "Create" to spin up the VM.
{% endstep %}

{% step %}

### Create firewall rules

After the instance is created, create firewall rules to allow traffic on port `9000`. In GCP: VPC Network → VPC networks → select the VPC assigned to your instance → Add firewall rule. Create two rules:

* an ingress rule that allows traffic on port `9000`
* an egress rule that allows traffic on port `9000`
  {% endstep %}

{% step %}

### Test websocket connection

Use websocat to test the relay. Replace with your instance's external IP:

{% code title="websocat test" %}

```bash
websocat -k ws://<external-ip-address>:9000/xrpc/com.atproto.sync.subscribeRepos?cursor=0
```

{% endcode %}
{% endstep %}
{% endstepper %}

### Labeler Relay Walkthrough

Hosting a labeler relay is the same as the Traditional Relay walkthrough, but test with the Labeler websocket endpoint:

{% code title="websocat labeler test" %}

```bash
websocat -k ws://<external-ip-address>:9001/xprc/com.atproto.label.subscribeLabels?cursor=1
```

{% endcode %}

### Findings

Monitoring the relay created for this tutorial (July 31 to Aug 20) cost $26.95 to host, and $1.41 for networking. A client periodically consumed this connection; further action items include stress testing the relay under different configs.


# Blacksky Community Guidelines

**Effective Date:** January 2025\
**Last Updated:** July 2026

Blacksky is a protected digital space built by Black people, for Black people. These guidelines reflect the clear will of our community, gathered through democratic assemblies where community members shaped what Blacksky should be. They work alongside our [Privacy Policy](https://www.blackskyweb.xyz/about/support/privacy-policy) and [Terms of Service](https://www.blackskyweb.xyz/about/support/tos) to create a safe and empowering environment.

Our foundation is Ubuntu - "I am because we are" - recognizing that our collective safety, joy, and flourishing require intentional boundaries and fierce protection of our space.

***

### 1. Our Purpose

#### This Space Is For Black People

Blacksky exists as a sanctuary for Black voices, experiences, and community. The main Blacksky feed and platform are exclusively for Black people to post, share, and connect.

**Who is welcome:**

* Black people globally, from all parts of the diaspora
* African Americans and descendants of enslaved Africans
* Continental Africans from all nations
* Afro-Caribbeans, Afro-Latinx peoples, Black Europeans, Black Asians
* Biracial and multiracial people who identify as Black
* All shades, all backgrounds, all expressions of Blackness

**Non-Black people** cannot create accounts to post on Blacksky. This boundary is essential to maintaining Blacksky as a space where Black people can exist without performing for, explaining to, or accommodating non-Black audiences.

#### Community Standards&#x20;

Blacksky operates on a principle of good faith. We assume people joining our community are doing so authentically and in alignment with our purpose as a space for Black people. If you observe behavior that seems inconsistent with our community's purpose—including potential digital blackface, bot activity, or other bad faith participation—please report it. Our moderation team will investigate and take appropriate action.

***

### 2. What We Don't Allow

#### Illegal Content and Behavior

Content or behavior that is illegal is prohibited. We report child sexual abuse material (CSAM) to the National Center for Missing and Exploited Children.

#### Harassment and Threats

* Threats of violence or calls for violence against individuals or groups
* Sustained harassment, stalking, or intimidation
* Coordinated attacks or brigading
* Doxxing or sharing private information without consent
* Using the report system to harass others

#### Hate Conduct

We have zero tolerance for hate speech and discrimination:<br>

* **White Supremacy:** White supremacist content, ideology, or rhetoric results in immediate, permanent bans with no appeals
* **Anti-Black Racism:** Any form of anti-Blackness, including internalized anti-Blackness, colorism, and discrimination based on skin tone
* **Misogynoir:** Any form of anti-black racism or sexism directed at Black women, non-binary people, and gender expansive people.
* **Homophobia and Transphobia:** Anti-LGBTQIA+ bigotry, including TERF (trans-exclusionary) or SWERF (sex worker-exclusionary) content
* **Ableism:** Slurs, mockery, or dehumanization of disabled people
* **Fatphobia:** Body-based harassment, health concern trolling, or discrimination against fat people
* **Casteism:** Discrimination based on caste or tribal affiliation
* **Diaspora Wars:** Antagonistic discourse that pits different Black communities against each other or perpetuates harmful stereotypes

#### Impersonation and Digital Blackface

* Pretending to be Black when you are not (immediate permanent ban)
* Impersonating other people, brands, or organizations
* Parody accounts must be clearly labeled as such
* Misleading profile information intended to deceive

#### Spam and Inauthentic Behavior

* Excessive posting or automated content
* Engagement farming or rage bait
* Artificially manipulating reach or metrics
* Mass posting of identical or near-identical content

#### Misleading Content

* AI-Generated Content: Deepfakes, AI-generated images, or videos must be clearly labeled. Using AI to defame, deceive, or impersonate results in permanent bans
* Misinformation: Deliberately spreading false information about public health, elections, or emergencies

#### Intellectual Property

* Plagiarism or theft of creative work without credit
* Copyright infringement (see our [Terms of Service](https://www.blackskyweb.xyz/about/support/tos) for DMCA process)
* Removing watermarks or attribution from others' work

#### Harmful Content

* Content promoting self-harm, eating disorders, or suicide, including telling other users or groups to harm themselves
* Non-consensual intimate imagery
* Sexual exploitation or abuse
* Extreme violence or gore shared for shock value

#### Child Sexual Abuse and Exploitation (CSAE)

Blacksky has a zero-tolerance policy toward child sexual abuse and exploitation ("CSAE") and child sexual abuse material ("CSAM"). For the purposes of this policy, a "minor" is any person under the age of 18, regardless of the minimum age required to use the Services.

You may not use the Services to create, upload, post, share, distribute, solicit, facilitate access to, or otherwise transmit any content or conduct that sexualizes, exploits, endangers, or otherwise harms a minor. This prohibition includes, without limitation, CSAM, the grooming or solicitation of minors, sextortion, and any attempt to engage a minor in sexual activity.

Blacksky takes active measures to prevent and address CSAE on the Services, including content moderation, our Moderation labeler, and prompt review of user reports. Users can report suspected CSAE through our in-app reporting tools or by contacting us at <support@blacksky.app>. All such reports are reviewed.

Where a violation involves content or accounts within Blacksky's control, we will remove the content and terminate the offending account or accounts. Blacksky reports apparent CSAM to the National Center for Missing & Exploited Children ("NCMEC") through its CyberTipline and cooperates with law enforcement as required by applicable law. Because the Services operate on the AT Protocol, some content may be hosted on Third-Party Services outside Blacksky's control; in those cases we will take the actions available to us, including applying moderation labels and referring reports to the appropriate parties.

***

### 3. Content Standards

#### Adult Content

Adult content is permitted on Blacksky with appropriate labeling:<br>

* Mark NSFW (not safe for work) content appropriately
* Nudity in cultural, artistic, or educational contexts is protected
* Sex workers and adult content creators are welcome members of our community
* Consensual adult content must be labeled; non-consensual content is prohibited

#### Commercial Activity

Black-owned businesses are welcome on Blacksky with clear identification:<br>

* Commercial accounts must clearly identify themselves
* Excessive promotional content may be restricted
* Business accounts should engage authentically with the community

#### Accessibility

We encourage practices that make Blacksky accessible to all:

* Adding descriptive alt text to images and videos helps blind and low-vision community members
* Using clear language and avoiding unnecessary jargon

***

### 4. Moderation

#### Our Approach

Blacksky's moderation team prioritizes Black moderators who understand our cultural contexts and includes diverse representation across queer, trans, and disabled Black experiences throughout the diaspora.<br>

We use a graduated approach to enforcement:<br>

* **Immediate Permanent Bans:** White supremacy, CSAM, digital blackface, severe threats
* **Warnings:** First-time guideline violations
* **Temporary Restrictions:** Limited functionality for repeat violations
* **Suspensions:** Temporary account suspension for serious or repeat violations
* **Permanent Bans:** Patterns of harm or severe violations

Context matters. We consider intent, cultural context, and community harm when making moderation decisions.

#### Reporting

If you see content that violates these guidelines:<br>

1. Use the report button on the post or account
2. Select the most relevant category
3. Provide context if helpful
4. We review all reports promptly

Mass reporting or weaponizing the report system to harass users will result in action against your account.

You can learn more about [Blacksky's moderation practices here](/using-blacksky/posts-and-feed/blacksky-moderation). All users and services on the AT Protocol can also [subscribe to Blacksky's Moderation labeler](https://blacksky.community/profile/did:plc:d2mkddsbmnrgr3domzg5qexf).

#### Appeals

You may appeal most moderation decisions:<br>

* Submit an appeal[ here](https://blackskyweb.xyz/about/support/moderation-appeal/)
* A different moderator will review your appeal
* We aim to respond within 7 days

No appeals are available for: White supremacy, CSAM, digital blackface, or severe threats of violence.

***

### 5. Privacy and Safety

#### Data Protection

The platform actively resists data harvesting and surveillance by law enforcement. We prioritize your privacy and safety:

* Minimal data collection - only what's necessary to provide services
* Strong encryption and security protections
* User control over your data
* Transparency about what we collect and why
* Clear data retention policies

Review our [Privacy Policy](https://www.blackskyweb.xyz/about/support/privacy-policy) for complete details.

#### Apps and Developer Tools

Apps and developer tools that don't respect user privacy will not be allowed in our ecosystem. Personal Data Servers (PDS) that spread hate speech or spam will be automatically disconnected.

***

### 6. Subcommunities

#### Using the Blacksky Name

Communities building on Blacksky infrastructure must request permission to use "Blacksky" or "BlackSky" in their community name. This protects our brand and ensures subcommunities align with our values. You can contact us at <hello@blacksky.app> to request use.

#### Requirements for Subcommunities

Communities on Blacksky infrastructure must:

* Not promote hate speech, white supremacy, or discrimination
* Clearly communicate their community rules
* Handle reported violations promptly
* Protect member privacy and safety

Subcommunities may:<br>

* Set their own specific membership criteria
* Create their own posting rules within our framework
* Develop community-specific guidelines
* Moderate their space as they see fit

***

### 7. Our Commitment

These guidelines prioritize serving users over profit motives. They are living documents that evolve with our community:<br>

* Regular Review: Guidelines are reviewed annually
* Community Input: Major changes are discussed through [People's Assemblies](https://assembly.blacksky.community/)
* Transparency: All changes are announced with clear explanations
* User-First: Decisions prioritize community safety and well-being

***

### Contact

* Support with account issues: <support@blacksky.app>
* Moderation Appeals: [Appeal Form](https://blackskyweb.xyz/about/support/moderation-appeal/)
* Community Assembly: [https://assembly.blacksky.community](https://assembly.blacksky.community/)

***

### Acknowledgment

These guidelines were developed through the [Blacksky People's Assembly](https://assembly.blacksky.community/), with input from 645 community members who shaped the vision for this platform. This is what we chose. This is what we built. This is who we are.

<br>


# Peer Moderator Code of Conduct

Blacksky's peer moderator code of conduct.

Last Updated: June 2026<br>

Blacksky is a protected digital space and a sanctuary for Black voices, experiences, and community, built by Black people, for Black people. Our foundation is Ubuntu - "I am because we are" - recognizing that our collective safety, joy, and flourishing require intentional boundaries and fierce protection of our space. This code of conduct is to help guide peer moderators to better support Blacksky’s mission and to clarify expectations of peer moderators while moderating Blacksky-only posts.

### Community first

Moderating Blacksky-only posts is a task that requires you to operate from a community-first perspective. This means that we stray away from punitive judgment (e.g., policing every day disagreements) and focus more on helping identify harmful patterns, rhetoric, or content that might impact the safety or broader experience of our community. The question that anchors every moderation decision shouldn’t be “what rule was broken?” but “how does this impact people in our community?” instead.

In community-first moderation, peer moderators are expected to hold that question gently, but consistently. Not every conflict or discomfort is harmful and requires intervention. They should resist the urge to over-correct or police and instead allow for Black expression to also include complexity, nuance, and disagreement without rushing to judgment. Moderation is not a space for censorship or surveillance. At Blacksky, we moderate with positive intent, making sure that we think critically about every moderation decision we make.

### Guidance > Enforcement

Peer moderators are not expected to function as dispute resolvers or mediators; instead, they are expected to act as community members within Blacksky’s moderation infrastructure, using a predefined set of labels. These may include categories such as anti-black harassment, misogynoir, ableism, fatphobia, violence, internalized antiblackness, synthetic media, non-sexual nudity, and adult content. Our labels do evolve based on the needs of the community. The labels are currently in place to mitigate the listed harms above.

Labels can be appealed and are not always the final decision. They are structured signals attached to content to help community members better understand how that content may be seen as harmful. Peer moderators are responsible for applying these labels accurately, consistently, and without expanding their meaning beyond the agreed definitions. If peer moderators are uncertain or find content that requires a broader and more in-depth review, they should escalate cases to Blacksky’s Trust and Safety team.&#x20;

### Context is key

Blacksky is home to many voices across the diaspora, who all come from different histories, languages, cultures, and walks of life. Although peer moderators aren’t expected to grasp every expression or reference, we expect you to do your due diligence on content you may not fully understand before labeling it (this can look like a Google search or escalating it to the Blacksky Trust and Safety team).&#x20;

Peer moderators should approach every interaction with curiosity and an awareness that moderation is nuanced. This includes recognizing in-group language, reclaimed terms, regional differences in expression, and rhetorical styles that may not translate cleanly across contexts.  If peer moderators are uncertain or find content that requires a deeper review, they should escalate cases to Blacksky’s Trust and Safety team.

### Community means responsibility and trust

To maintain the integrity of moderation, peer moderators are expected to be trusted and responsible members of the community. Their responsibility is to the community and Blacksky itself. Being a peer moderator is a privilege and should never be used to resolve personal conflict, assert dominance in disagreement, or target individuals outside the scope of the current labels. If there is a pattern of potentially harmful moderation practices, peer moderators can be dismissed from their role.&#x20;

If contacted by a community member about a label, peer moderators should point them to the appeals page. That is where they can request an appeal and a further investigation of the label. Peer moderators are not to discuss labeling decisions publicly or with community members. Moderation is not perfect, and mistakes can be made. If a peer moderator has labeled a post by accident, they are to remove the label or escalate the post to the Trust and Safety team for removal.

Peer moderators agree to keep internal discussions about moderation, which includes but isn’t limited to: training material, testing, and other relevant communication between them and Blacksky confidential. Any peer moderator who breaks confidentiality (meaning sharing any of the aforementioned), goes against our code of conduct, our community guidelines, or terms of service, will be dismissed as a peer moderator.

### Moderation resources

If you need any help understanding some of our moderation processes, please use the following documents:

* [Community Guidelines](https://docs.blacksky.community/info-about-blacksky-the-community/blacksky-community-guidelines)
* [Blacksky Moderation and Labeler](https://docs.blacksky.community/info-about-blacksky-the-community/blacksky-moderation)
* [Appeals page](https://blackskyweb.xyz/about/support/moderation-appeal/)
* [Terms of Service](https://blackskyweb.xyz/about/support/tos/)

<br>


# Frequently Asked Questions

<details>

<summary>What is the AT Protocol?</summary>

The Authenticated Transfer Protocol (AT Prototcol or atproto) is the decentralized social networking protocol that is used to build open social media applications, like Bluesky.

Here's a [link to a Bluesky blog](https://bsky.social/about/blog/02-22-2024-open-social-web) post that explains what it is and why it differs from other social apps you may be used to.

</details>

<details>

<summary>How do I add myself to the Blacksky Feed?</summary>

See [Joining a Blacksky Feed](/joining-blacksky-feeds-and-moderation-tools#Joining-a-Blacksky-Feed).

</details>

<details>

<summary>How do I remove myself from the Blacksky Feed or Starter Pack?</summary>

See [Leaving a Blacksky Feed](/joining-blacksky-feeds-and-moderation-tools#Leaving-a-Blacksky-Feed).

</details>

<details>

<summary>How do I report a post to the Blacksky Moderation Service?</summary>

To report a post:

1. Click the "Report Post" (…) icon on the bottom-right corner of the post.
2. For "Why should this post be reviewed?", select a reason. Currently, the only reasons that will allow you to select Blacksky as the moderator are: "Unwanted Sexual Content", "Anti-Social Behavior", "Illegal and Urgent", and "Other".
3. For "Select Moderation Service", select "Blacksky Moderation".
4. Click "Submit Report". If you selected "Other" as your reason, always submit a comment with details so the moderation team has context as to why the post is being reported.

{% hint style="info" %}
If you'd like to also send a report to additional services (for example, the Bluesky Moderation Service), repeat these steps and select the appropriate moderation service from the list of options.
{% endhint %}

</details>

<details>

<summary>How do I know if I got banned?</summary>

If this is the only post you're seeing in the Blacksky feed, then your access to the feed has been restricted due to suspicion that you are using the feed to target and harass marginalized users. Decisions are final.

![A screenshot showing what users banned from the Blacksky feed would see.](/files/f17bd36cc4b34c4a9b3852a461f905d76d1900dd)

</details>

<details>

<summary>Can I submit feedback for Blacksky?</summary>

Yes! We're constantly innovating and evolving based on user feedback from our community. To submit feedback about Blacksky, simply write an email to [rudy@blacksky.app](mailto:rudy%40blacksky.app?subject=Feedback%20For%20Blacksky).

{% hint style="warning" %}
Please note, we are only taking feedback for improvements and features to the feed, moderation services, etc. Do not use this form to report malicious or harassment posts.
{% endhint %}

</details>

<details>

<summary>Getting involved with Blacksky</summary>

First, we appreciate you showing interest in contributing to the rsky project!

This project heavily involves the Authenticated Transfer Protocol (AT Protocol or atproto). There are resources attached to this section that you can use to gain a better understanding:

* [ATProto for Distributed Systems Engineers](https://atproto.com/articles/atproto-for-distsys-engineers)
* [AT Protocol Specifications](https://atproto.com/#resources)
* [Official Bluesky PDS (In TypeScript)](https://github.com/bluesky-social/atproto/tree/main/packages/pds)
* [Official Blacksky PDS (In Rust)](https://github.com/blacksky-algorithms/rsky/tree/main/rsky-pds)
* [Bigsky, the official Bluesky Relay](https://github.com/bluesky-social/indigo/tree/main/cmd/bigsky) - This relay can be accessed at <https://relay1.us-east.bsky.network/>, but the popular option is to use <https://bsky.network/>.
* [Jetstream, a bandwidth-friendly relay](https://github.com/bluesky-social/jetstream)
* [Official Bluesky Appview](https://github.com/bluesky-social/atproto/tree/main/packages/bsky)
* [Example AppView](https://github.com/bluesky-social/statusphere-example-app/tree/main)
* [Constellation, a global backlink indexing tool](https://github.com/at-microcosm/links/tree/main/constellation)

At a high level, AT Protocol is a generic, federated protocol for building open social media applications. Personal Data Servers (or PDSs) store user data and handle identity. Relays aggregate and distribute data across the network. App Views aggregate data from the relays, for it to be used in feeds.

We understand that not everyone is in a position to give technical contributions to the project. We want to outline some other ways you can contribute. Don't feel pressured if you aren't in a position to participate in upcoming suggestions. Simply giving us a "star" or sharing the word about the project is appreciated.

Some other ways you can contribute to the project include:

* [Financial Contributions](https://opencollective.com/blacksky)
* Updating and/or Translating Documentation
  * Writing Tutorials
  * Adapting the Project for Specific Regions
* Community Support
* Design Elements
  * User Experience
  * User Interface

If there are any other ways you would like to contribute to the project, consider reaching out to [the team](mailto:rudy%40blacksky.app?subject=Other%20Ways%20to%20Contribute) to see if there is a fit!

</details>


# Joining Blacksky Feeds

### Feeds

There are several feeds created by Blacksky Algorithms:

* [Blacksky](https://bsky.app/profile/rudyfraser.com/feed/blacksky)
* [Blacksky: Trending](https://bsky.app/profile/rudyfraser.com/feed/blacksky-trend)
* [Blackademics](https://bsky.app/profile/rudyfraser.com/feed/blacksky-edu)

{% hint style="info" %}
You may see that the feeds are authored by "@rudyfraser.com". Those are the right feeds.
{% endhint %}

#### Joining a Blacksky Feed

Create a post and include the #AddToBlacksky hashtag (this only needs to be done once). All posts after will be included in the Blacksky feed.

{% code title="Example post" %}

```
This is an example of a post
#AddToBlacksky
```

{% endcode %}

![A screenshot of post on Bluesky including text that states "This is an example of a post", and "#AddToBlacksky". This is to showcase how a user can get their posts included in the Blacksky feed.](/files/f6d70346f27692ed8a28e7ec203ac7400bf4978d)

#### Leaving a Blacksky Feed

Create a post and include the #RemoveFromBlacksky hashtag. All posts after will NOT be included in any of the Blacksky feeds.

{% code title="Example post" %}

```
This is another example post
#RemoveFromBlacksky
```

{% endcode %}

![A screenshot of post on Bluesky including text that states "This is another example post", and "#RemoveFromBlacksky". This is to showcase how a user can get their posts included in the Blacksky feed](/files/af4a4a4dd8061416f1dc795099f0ae6ebea5a09d)

#### Pinning a Feed

{% stepper %}
{% step %}

### Open the Bluesky app

Go to the [Bluesky](broken://pages/0a9024feb301e4449430e3411ff646d456905716) app.
{% endstep %}

{% step %}

### Navigate to Search

Open the search page in the app.
{% endstep %}

{% step %}

### Find the feed

Type in the title of any of the feeds previously mentioned.
{% endstep %}

{% step %}

### Join the feed

Click the "+" to join this feed.
{% endstep %}
{% endstepper %}

***


