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.