PDSList#
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:
JSON Structure#
The pdslist.json file contains an array of PDS server objects with the following fields:
| Field | Type | Required | Description |
|---|---|---|---|
url |
string | ✅ | The base URL of your PDS server (HTTPS only) |
supportedHandles |
array | ✅ | Domain patterns your PDS supports (e.g., *.example.com) |
maintainer |
string | ✅ | Bluesky handle of the maintainer (@handle.domain) |
contactEmail |
string | ⚠️ | Contact email for the administrator |
tosUrl |
string | ⚠️ | Terms of Service URL |
privacyUrl |
string | ⚠️ | Privacy Policy URL |
inviteCodeRequired |
boolean | ✅ | Whether invite codes are required |
Example:
{
"url": "https://pds.example.com",
"supportedHandles": ["*.example.com"],
"maintainer": "@admin.example.com",
"contactEmail": "admin@example.com",
"tosUrl": "https://pds.example.com/tos",
"privacyUrl": "https://pds.example.com/privacy",
"inviteCodeRequired": true
}
Removals#
- Remove: Submit an issue titled "Remove [your-pds-name]" or create a PR removing your entry
License & Support#
Open source and community-maintained. For questions, open an issue
Disclaimer: This is a community list. Always review server terms and privacy policies before joining. { "url": "https://ypds.example.com", "supportedHandles": [".example.com", ".example.net"], "maintainer": "@your-handle.example.com", "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`) |
| `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
```json
{
"url": "https://pds.myserver.com",
"supportedHandles": [
"*.myserver.com",
"*.myserver.org"
],
"maintainer": "@admin.myserver.com",
"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.