Bluesky PDS Directory#
A community-maintained directory of Bluesky Personal Data Servers (PDS).
JSON Structure#
The pdslist.json file contains an array of PDS server objects. Each object has the following structure:
{
"url": "https://ypds.example.com",
"supportedHandles": ["*.example.com", "*.example.net"],
"maintainer": "@your-handle.example.com",
"serverLocation": "United States",
"tosUrl": "https://pds.example.com/terms",
"privacyUrl": "https://pds.example.com/privacy",
"inviteCodeRequired": false
}
Field Descriptions#
| Field | Type | Required | Description |
|---|---|---|---|
url |
string | ✅ Yes | The base URL of your PDS server (must include https://) |
supportedHandles |
array of strings | ✅ Yes | Domain patterns for handles your PDS supports (e.g., *.example.com) |
maintainer |
string | ✅ Yes | Bluesky handle of the server maintainer (format: @handle.domain.com) |
serverLocation |
string | ⚠️ Optional | Geographic location of the server (e.g., United States, European Union, Canada) |
contactEmail |
string | ⚠️ Optional | Contact email for the PDS administrator |
tosUrl |
string | ⚠️ Optional | URL to your Terms of Service page |
privacyUrl |
string | ⚠️ Optional | URL to your Privacy Policy page |
inviteCodeRequired |
boolean | ✅ Yes | Whether new users need an invite code to join (true or false) |
Example Entry#
{
"url": "https://pds.myserver.com",
"supportedHandles": [
"*.myserver.com",
"*.myserver.org"
],
"maintainer": "@admin.myserver.com",
"serverLocation": "Canada",
"contactEmail": "admin@myserver.com",
"tosUrl": "https://pds.myserver.com/terms-of-service",
"privacyUrl": "https://pds.myserver.com/privacy-policy",
"inviteCodeRequired": true
}
Adding Your PDS#
We welcome additions to the directory! There are two ways to add your PDS:
Option 1: Submit a Tangled Issue#
- Go to the Issues page
- Click "New Issue"
- Add your PDS information:
- PDS URL
- Supported handles
- Your maintainer handle
- Contact email (optional)
- Terms of Service URL (if available)
- Privacy Policy URL (if available)
- Whether invite codes are required
- Submit the issue
A maintainer will review your submission and add it to the list.
Option 2: Submit a Pull Request#
- Fork this repository
- Edit
pdslist.json - Add your PDS entry to the array following the structure above
- Ensure your JSON is valid (use a JSON validator)
- Commit your changes with a clear message:
Add [your-pds-name] to directory - Create a Pull Request with:
- A clear title: "Add [your PDS name]"
- Description of your PDS
- Confirmation that you maintain the server
Submission Guidelines#
✅ Do:
- Use valid JSON formatting
- Include all required fields
- Use HTTPS URLs only
- Provide accurate information
- Test your PDS is accessible before submitting
❌ Don't:
- Submit inactive or offline servers
- Include test or development servers
- Use HTTP (non-secure) URLs
- Submit duplicate entries
Review Process#
All submissions are reviewed by maintainers to ensure:
- JSON is properly formatted
- URLs are accessible and valid
- Information is accurate
- The PDS is actively maintained
- Terms and privacy policies exist (if links provided)
Updating Your Entry#
If you need to update your PDS information:
- Submit an issue with "Update [your-pds-name]" as the title
- Or create a Pull Request with the updated information
Removing Your Entry#
To remove your PDS from the directory:
- Submit an issue with "Remove [your-pds-name]" as the title
- Or create a Pull Request removing your entry
Code of Conduct#
Please be respectful and professional in all interactions. This is a community resource for everyone.
License#
This project is open source and available for anyone to use and contribute to.
Support#
For questions or issues:
- Open a Tangled Issue
- Check existing issues for similar questions
Note: This is a community-maintained list. We cannot guarantee the availability, security, or policies of listed servers. Always review a server's terms and privacy policy before joining.