Privacy Policy
Last Updated: November 2025
🔐 Privacy-First Design:
BridgeBeats is built with privacy-first principles in mind. Only the minimum data necessary to convert music
links gets collected.
We don't track listening history or share personal data. Only the basic album or track info you submit gets
used to query the music service APIs.
Infrastructure Note: BridgeBeats is hosted on OVH Cloud and proxied through Cloudflare. These third party services may collect limited technical data (IP addresses, request metadata) according to their own privacy policies.
See Cloudflare's Privacy Policy and OVH's Privacy Policy for details.
1. Overview
BridgeBeats is a cross-platform music link converter created and ran by Taylor Marvin that helps you share music across Apple Music,
Spotify, and Tidal.
This privacy policy explains what data gets collected by the service, how it is used, stored, and protected.
I (Taylor Marvin) am committed to your privacy and maintain strict data minimization practices. The application code is open source and can be viewed on GitHub.
2. Data Collected by the Service
2.1 Account Information
When you create an account, the service stores:
- Email address - Used as your unique account identifier and for authentication
- Password - Hashed using industry-standard cryptography, never stored in plain text
- Account creation timestamp - When your account was created
- Email address verification status - Whether you have verified your email
For API authentication and usage tracking, the service stores:
- API Key Hash - A cryptographic hash of your API key, stored securely for authentication
- API Key Salt - A random value used to hash your API key
- Request count - Number of API requests made in the current rate limit window
- Rate limit window start timestamp - When your current hourly limit period began
Important: Your API key is only shown once when created. The service stores only a salted hash, making it impossible to recover the original key even if our database is compromised. Rate limit data is reset hourly.
Note: The service does not collect your real name, phone number, or demographic information.
2.2 Music Link Search Data
What is collected and cached:
- Input URLs - The music service links you search (e.g., Spotify URLs, Apple Music links, Tidal links)
- Search metadata - Artist names, track/album titles, ISRC codes, UPC codes, artwork URLs, and market regions
- Provider links - URLs to the same music on Apple Music, Spotify, and Tidal
- Cache timestamps - When searches were added and last looked up
Retention: Cache entries are automatically deleted after 7 days.
Storage: Search data is stored in a SQLite database and the search results will be stored as a public AT Protocol records on our PDS (Personal Data Store).
2.3 Logging Data
Is Logged:
- HTTP request timestamps and response codes - For both website and API requests
- BridgeBeats User ID - Anonymized identifier for rate limiting and request tracking (not email addresses)
- Rate limit events - When rate limits are exceeded
- Service events - Service startup, configuration loading, and errors
Note: While processing your web request additional data may be logged including:
- IP addresses
- User agent strings
- Request headers and metadata
3. Data We Do NOT Collect
- ❌ Your listening history from Spotify, Apple Music, or Tidal
- ❌ Your playlist or library information
- ❌ Your personal name, phone number, or demographic information
- ❌ Browser cookies or tracking pixels (beyond session authentication for user login and site preferences)
- ❌ Detailed analytics about your music preferences
- ❌ Third-party marketing data
4. How We Use Your Data
Your account and rate limiting data is used to:
- Authenticate you to your account
- Generate and manage your API key
- Enforce fair usage limits and prevent API abuse
- Provide personalized account settings
Your music link search data is used to:
- Convert music links between platforms
- Cache results to improve performance and reduce API calls to music services
- Generate OpenGraph cards for sharing in Discord, Slack, social media, etc.
5. Data Storage & Security
5.1 Where Data is Stored
| Data Type | Storage Location | Retention Period |
|---|---|---|
| Account info, API keys, rate limiting | Local SQLite database | Until account deletion |
| Music link cache and search data | Local SQLite database + AT Protocol PDS | 7 days (configurable) |
| Server logs | Local file storage | Typically less than 7 days (but may be kept indefinitely for additional application development purposes or as required by law) |
5.2 Security Measures
- Password Hashing: Passwords are hashed, making them computationally expensive to crack.
- API Key Security: API keys are stored as salted hashes. Original keys are never stored or recoverable.
- Database Encryption: All databases use SQLite's built-in encryption and can be encrypted at rest by deployers.
- HTTPS/TLS: All communication between your client and BridgeBeats is encrypted using TLS.
- Access Control: Database queries use parameterized queries to prevent SQL injection.
- No Logging of Sensitive Data: Passwords, API keys, and authentication tokens are never logged.
6. Third-Party Services
6.1 Music Service APIs
BridgeBeats integrates with the official APIs of:
- Apple Music (MusicKit API) - To search for and retrieve music links
- Spotify Web API - To search for and retrieve music links
- Tidal API - To search for and retrieve music links
When you use BridgeBeats to convert a link:
- BridgeBeats extracts metadata from the input URL (the album ID or track ID)
- BridgeBeats queries the music service APIs to find matches
- The music services receive only the search criteria (the album or track id, artist/title information, ISRC, or UPC)
- BridgeBeats never sends your email address, password, or personal data to these services
6.2 AT Protocol
Media link search results are stored as public AT Protocol records on the BridgeBeats Personal Data Store (PDS).
Important: To protect user privacy the music service URLs input by end users
(which may contain music service provider tracking IDs) are stored local to the service in a SQLite database
and not made public on the PDS.
6.3 Discord Bot
If you add the BridgeBeats bot to your Discord server, it will:
- Detect music links in messages
- Automatically convert and reply with links on other platforms
Data handling: Discord may provide user and server IDs during message processing. We may log partial message content (the extracted music service URL) and Discord user and server IDs for operational and debugging purposes. Discord user IDs may also be incidentally logged in association with requests that cause errors in the bridgebeats application.
7. Your Rights & Data Control
7.1 Access Your Data
You have the right to request a copy of all personal data we hold about you. Use the data download button in your account settings on the user page. You can export your API key at any time by regenerating it through your account settings. The contents of your search requests are not associated with your user so your search history cannot be exported.
7.2 Delete Your Account
You can delete your account at any time. A delete button is available in your account settings on the user page. Account deletion will:
- ✅ Delete your email address and hashed password
- ✅ Delete your API key hash
- ✅ Delete your rate limiting data
- ⚠️ Cache entries may persist for up to 7 days before automatic deletion
8. Logging & Monitoring
8.1 What We Log
- HTTP request timestamps and response codes (both website and API)
- BridgeBeats User ID (anonymized account identifier, not email address; may include Discord user IDs for Discord bot usage)
- Rate limit events (when limits are exceeded)
- Service startup, configuration, and error events
8.2 What We Do NOT Log
- ❌ Email addresses or usernames
- ❌ Passwords or API keys
- ❌ Full request bodies or complete search queries
- ❌ Detailed music metadata from searches
8.3 Log Retention
Logs may be retained indefinitely for development or debugging purposes, and as required by law.
9. Data Retention & Deletion
| Data Type | Retention Period | Automatic Deletion |
|---|---|---|
| Account credentials | Until account deletion | Manual (via account deletion) |
| (Hashed) API keys | Until account deletion or key regeneration | Manual (via account deletion or regeneration) |
| Rate limiting counters | 1 hour (reset hourly) | Automatic |
| Search cache entries | 7 days | Automatic |
| Server logs | Typically less than 7 day but may be retained indefinitely | None (retained for development/legal purposes) |
10. Contact & Support
If you have questions about this privacy policy or concerns about how your data is handled:
- For dev.bridgebeats.link: Report issues on GitHub
- For self-hosted instances: Contact your BridgeBeats server administrator
BridgeBeats is committed to transparency about how we handle your data. This privacy policy reflects our actual practices and will be updated as the service evolves.