···1-# PDSList
02A community-maintained directory of Bluesky Personal Data Servers *(PDS)*.
3-
4## JSON Structure
56-The `pdslist.json` file contains an array of PDS server objects with the following fields:
0000000000000078| Field | Type | Required | Description |
9|-------|------|----------|-------------|
10-| `url` | string | ✅ | The base URL of your PDS server (HTTPS only) |
11-| `supportedHandles` | array | ✅ | Domain patterns your PDS supports (e.g., `*.example.com`) |
12-| `maintainer` | string | ✅ | Bluesky handle of the maintainer (`@handle.domain`) |
13-| `contactEmail` | string | ⚠️ | Contact email for the administrator |
14-| `tosUrl` | string | ⚠️ | Terms of Service URL |
15-| `privacyUrl` | string | ⚠️ | Privacy Policy URL |
16-| `inviteCodeRequired` | boolean | ✅ | Whether invite codes are required |
0001718-**Example:**
19```json
20{
21- "url": "https://pds.example.com",
22- "supportedHandles": ["*.example.com"],
23- "maintainer": "@admin.example.com",
24- "contactEmail": "admin@example.com",
25- "tosUrl": "https://pds.example.com/tos",
26- "privacyUrl": "https://pds.example.com/privacy",
000027 "inviteCodeRequired": true
28}
29```
30-## Removals
31-- **Remove:** Submit an issue titled "Remove [your-pds-name]" or create a PR removing your entry
00000000000000003233-## License & Support
3435-Open source and community-maintained. For questions, open an issue
3637-**Disclaimer:** This is a community list. Always review server terms and privacy policies before joining.
0000000000000000000000000000000000000000000000000000000000000000
···1+# Bluesky PDS Directory
2+3A community-maintained directory of Bluesky Personal Data Servers *(PDS)*.
4+5## JSON Structure
67+The `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
2223| 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
35036```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+54+We welcome additions to the directory! There are two ways to add your PDS:
55+56+### Option 1: Submit a Tangled Issue
57+58+1. Go to the [Issues](https://tangled.org/madebydanny.uk/pdslist/issues/new) page
59+2. Click "New Issue"
60+3. 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
68+4. Submit the issue
6970+A maintainer will review your submission and add it to the list.
7172+### Option 2: Submit a Pull Request
7374+1. Fork this repository
75+2. Edit `pdslist.json`
76+3. Add your PDS entry to the array following the structure above
77+4. Ensure your JSON is valid (use a JSON validator)
78+5. Commit your changes with a clear message: `Add [your-pds-name] to directory`
79+6. 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+101+All 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+110+If you need to update your PDS information:
111+112+1. Submit an issue with "Update [your-pds-name]" as the title
113+2. Or create a Pull Request with the updated information
114+115+## Removing Your Entry
116+117+To remove your PDS from the directory:
118+119+1. Submit an issue with "Remove [your-pds-name]" as the title
120+2. Or create a Pull Request removing your entry
121+122+## Code of Conduct
123+124+Please be respectful and professional in all interactions. This is a community resource for everyone.
125+126+## License
127+128+This project is open source and available for anyone to use and contribute to.
129+130+## Support
131+132+For 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.