A community-maintained directory of Bluesky Personal Data Servers (PDS).
1# Bluesky PDS Directory 2 3A community-maintained directory of Bluesky Personal Data Servers *(PDS)*. 4 5## JSON Structure 6 7The `pdslist.json` file contains an array of PDS server objects. Each object has the following structure: 8 9```json 10{ 11 "url": "https://ypds.example.com", 12 "supportedHandles": ["*.example.com", "*.example.net"], 13 "maintainer": "@your-handle.example.com", 14 "tosUrl": "https://pds.example.com/terms", 15 "privacyUrl": "https://pds.example.com/privacy", 16 "inviteCodeRequired": false 17} 18``` 19 20### Field Descriptions 21 22| Field | Type | Required | Description | 23|-------|------|----------|-------------| 24| `url` | string | ✅ Yes | The base URL of your PDS server (must include https://) | 25| `supportedHandles` | array of strings | ✅ Yes | Domain patterns for handles your PDS supports (e.g., `*.example.com`) | 26| `maintainer` | string | ✅ Yes | Bluesky handle of the server maintainer (format: `@handle.domain.com`) | 27| `contactEmail` | string | ⚠️ Optional | Contact email for the PDS administrator | 28| `tosUrl` | string | ⚠️ Optional | URL to your Terms of Service page | 29| `privacyUrl` | string | ⚠️ Optional | URL to your Privacy Policy page | 30| `inviteCodeRequired` | boolean | ✅ Yes | Whether new users need an invite code to join (`true` or `false`) | 31 32### Example Entry 33 34```json 35{ 36 "url": "https://pds.myserver.com", 37 "supportedHandles": [ 38 "*.myserver.com", 39 "*.myserver.org" 40 ], 41 "maintainer": "@admin.myserver.com", 42 "contactEmail": "admin@myserver.com", 43 "tosUrl": "https://pds.myserver.com/terms-of-service", 44 "privacyUrl": "https://pds.myserver.com/privacy-policy", 45 "inviteCodeRequired": true 46} 47``` 48 49## Adding Your PDS 50 51We welcome additions to the directory! There are two ways to add your PDS: 52 53### Option 1: Submit a Tangled Issue 54 551. Go to the [Issues](https://tangled.org/madebydanny.uk/pdslist/issues/new) page 562. Click "New Issue" 573. Add your PDS information: 58 - PDS URL 59 - Supported handles 60 - Your maintainer handle 61 - Contact email (optional) 62 - Terms of Service URL (if available) 63 - Privacy Policy URL (if available) 64 - Whether invite codes are required 654. Submit the issue 66 67A maintainer will review your submission and add it to the list. 68 69### Option 2: Submit a Pull Request 70 711. Fork this repository 722. Edit `pdslist.json` 733. Add your PDS entry to the array following the structure above 744. Ensure your JSON is valid (use a JSON validator) 755. Commit your changes with a clear message: `Add [your-pds-name] to directory` 766. Create a Pull Request with: 77 - A clear title: "Add [your PDS name]" 78 - Description of your PDS 79 - Confirmation that you maintain the server 80 81### Submission Guidelines 82 83**Do:** 84- Use valid JSON formatting 85- Include all required fields 86- Use HTTPS URLs only 87- Provide accurate information 88- Test your PDS is accessible before submitting 89 90**Don't:** 91- Submit inactive or offline servers 92- Include test or development servers 93- Use HTTP (non-secure) URLs 94- Submit duplicate entries 95 96## Review Process 97 98All submissions are reviewed by maintainers to ensure: 99- JSON is properly formatted 100- URLs are accessible and valid 101- Information is accurate 102- The PDS is actively maintained 103- Terms and privacy policies exist (if links provided) 104 105## Updating Your Entry 106 107If you need to update your PDS information: 108 1091. Submit an issue with "Update [your-pds-name]" as the title 1102. Or create a Pull Request with the updated information 111 112## Removing Your Entry 113 114To remove your PDS from the directory: 115 1161. Submit an issue with "Remove [your-pds-name]" as the title 1172. Or create a Pull Request removing your entry 118 119## Code of Conduct 120 121Please be respectful and professional in all interactions. This is a community resource for everyone. 122 123## License 124 125This project is open source and available for anyone to use and contribute to. 126 127## Support 128 129For questions or issues: 130- Open a Tangled Issue 131- Check existing issues for similar questions 132 133--- 134 135**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.