WanderSafe is an open-source LGBTQ+ travel safety intelligence platform. There are several ways to contribute.
The most valuable contribution is sharing your travel experience. If you have traveled to a destination as an LGBTQ+ person, your report helps other travelers make safer decisions.
Submit a report — takes 5 minutes, reviewed by a human before publishing, your identity is never published.
If a destination safety rating, legal status, or emergency contacts are incorrect or outdated:
- Open an issue with the
data-correctionlabel - Include: which destination, what is wrong, and a source for the correct information
- We will investigate and update within 48 hours
Want WanderSafe to cover a destination not yet on the platform?
- Open an issue with the
destination-requestlabel - Include: destination name, why it matters for LGBTQ+ travelers, and any data sources you know of
- Destinations are added as full pages at
wanderingwithpride.com/wandersafe/[city-country].html
Do not open a public issue for security vulnerabilities. Email michael@wanderingwithpride.com with:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
We will respond within 72 hours and coordinate a fix before any public disclosure.
WanderSafe is designed so regional LGBTQ+ organizations can run independent instances. See the README for setup instructions. The code is MIT licensed, the methodology is CC BY 4.0.
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes
- Submit a pull request against
main
All PRs require human review before merge. If your PR includes AI-generated code, please disclose that in the PR description.
- Node.js v18+
- Wrangler CLI:
npm install -g wrangler - A Cloudflare account (free tier is sufficient)
git clone https://github.com/WanderingWithPride/wandersafe-agents.git
cd wandersafe-agents
npm install# Create a local D1 database for development
wrangler d1 create wandersafe-dev
wrangler d1 execute wandersafe-dev --local --file=schema/d1-schema.sqlSet the following as Cloudflare Worker secrets (never commit values):
| Variable | Description | Where to Get It |
|---|---|---|
EQUALDEX_API_KEY |
Legal status data | equaldex.com/api (free) |
LEGISCAN_API_KEY |
US legislation tracking | legiscan.com (free) |
ANTHROPIC_API_KEY |
Claude Haiku for report validation | console.anthropic.com |
TALLY_WEBHOOK_SECRET |
Community report form webhook | Tally.so webhook settings |
ADMIN_PASSWORD |
Admin review queue access | Generate a strong random password |
BRAVE_API_KEY |
News search | api.search.brave.com (free tier) |
Set secrets via:
wrangler secret put EQUALDEX_API_KEY
# (repeat for each secret)# Test a specific worker locally
wrangler dev agents/legal-monitor.jswrangler deploy agents/index.js --name wandersafe-admin
wrangler deploy agents/legal-monitor.js --name wandersafe-legal-monitor
wrangler deploy agents/community-validator.js --name wandersafe-community-validator
wrangler deploy agents/news-monitor.js --name wandersafe-intelAll contributors are expected to follow our Code of Conduct.
Email michael@wanderingwithpride.com or open a discussion on GitHub.