···11+# Bluesky PDS Directory
22+33+**WILL MOVE TO Tangled SOON *tm***
44+55+A community-maintained directory of Bluesky Personal Data Servers *(PDS)*.
66+77+## JSON Structure
88+99+The `pdslist.json` file contains an array of PDS server objects. Each object has the following structure:
1010+1111+```json
1212+{
1313+ "url": "https://ypds.example.com",
1414+ "supportedHandles": ["*.example.com", "*.example.net"],
1515+ "maintainer": "@your-handle.example.com",
1616+ "tosUrl": "https://pds.example.com/terms",
1717+ "privacyUrl": "https://pds.example.com/privacy",
1818+ "inviteCodeRequired": false
1919+}
2020+```
2121+2222+### Field Descriptions
2323+2424+| Field | Type | Required | Description |
2525+|-------|------|----------|-------------|
2626+| `url` | string | ✅ Yes | The base URL of your PDS server (must include https://) |
2727+| `supportedHandles` | array of strings | ✅ Yes | Domain patterns for handles your PDS supports (e.g., `*.example.com`) |
2828+| `maintainer` | string | ✅ Yes | Bluesky handle of the server maintainer (format: `@handle.domain.com`) |
2929+| `contactEmail` | string | ⚠️ Optional | Contact email for the PDS administrator |
3030+| `tosUrl` | string | ⚠️ Optional | URL to your Terms of Service page |
3131+| `privacyUrl` | string | ⚠️ Optional | URL to your Privacy Policy page |
3232+| `inviteCodeRequired` | boolean | ✅ Yes | Whether new users need an invite code to join (`true` or `false`) |
3333+3434+### Example Entry
3535+3636+```json
3737+{
3838+ "url": "https://pds.myserver.com",
3939+ "supportedHandles": [
4040+ "*.myserver.com",
4141+ "*.myserver.org"
4242+ ],
4343+ "maintainer": "@admin.myserver.com",
4444+ "contactEmail": "admin@myserver.com",
4545+ "tosUrl": "https://pds.myserver.com/terms-of-service",
4646+ "privacyUrl": "https://pds.myserver.com/privacy-policy",
4747+ "inviteCodeRequired": true
4848+}
4949+```
5050+5151+## Adding Your PDS
5252+5353+We welcome additions to the directory! There are two ways to add your PDS:
5454+5555+### Option 1: Submit a GitHub Issue
5656+5757+1. Go to the [Issues](../../issues) page
5858+2. Click "New Issue"
5959+3. Add your PDS information:
6060+ - PDS URL
6161+ - Supported handles
6262+ - Your maintainer handle
6363+ - Contact email (optional)
6464+ - Terms of Service URL (if available)
6565+ - Privacy Policy URL (if available)
6666+ - Whether invite codes are required
6767+4. Submit the issue
6868+6969+A maintainer will review your submission and add it to the list.
7070+7171+### Option 2: Submit a Pull Request
7272+7373+1. Fork this repository
7474+2. Edit `pdslist.json`
7575+3. Add your PDS entry to the array following the structure above
7676+4. Ensure your JSON is valid (use a JSON validator)
7777+5. Commit your changes with a clear message: `Add [your-pds-name] to directory`
7878+6. Create a Pull Request with:
7979+ - A clear title: "Add [your PDS name]"
8080+ - Description of your PDS
8181+ - Confirmation that you maintain the server
8282+8383+### Submission Guidelines
8484+8585+✅ **Do:**
8686+- Use valid JSON formatting
8787+- Include all required fields
8888+- Use HTTPS URLs only
8989+- Provide accurate information
9090+- Test your PDS is accessible before submitting
9191+9292+❌ **Don't:**
9393+- Submit inactive or offline servers
9494+- Include test or development servers
9595+- Use HTTP (non-secure) URLs
9696+- Submit duplicate entries
9797+9898+## Review Process
9999+100100+All submissions are reviewed by maintainers to ensure:
101101+- JSON is properly formatted
102102+- URLs are accessible and valid
103103+- Information is accurate
104104+- The PDS is actively maintained
105105+- Terms and privacy policies exist (if links provided)
106106+107107+## Updating Your Entry
108108+109109+If you need to update your PDS information:
110110+111111+1. Submit an issue with "Update [your-pds-name]" as the title
112112+2. Or create a Pull Request with the updated information
113113+114114+## Removing Your Entry
115115+116116+To remove your PDS from the directory:
117117+118118+1. Submit an issue with "Remove [your-pds-name]" as the title
119119+2. Or create a Pull Request removing your entry
120120+121121+## Code of Conduct
122122+123123+Please be respectful and professional in all interactions. This is a community resource for everyone.
124124+125125+## License
126126+127127+This project is open source and available for anyone to use and contribute to.
128128+129129+## Support
130130+131131+For questions or issues:
132132+- Open a GitHub Issue
133133+- Check existing issues for similar questions
134134+135135+---
136136+137137+**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.