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