audio streaming app plyr.fm

chore: sync legal docs with production pages (#902)

The markdown docs were from December 2025 and missing significant
updates: governing law section in terms, updated AT Protocol language,
and 6 new third-party services in privacy (AudD, Anthropic,
ATProtoFans, Modal, turbopuffer, Replicate). Added note that the
Svelte templates are the source of truth.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

authored by zzstoatzz.io

Claude Opus 4.6 and committed by
GitHub
c196a589 66b36287

+42 -23
+24 -11
docs/legal/privacy.md
··· 1 1 # privacy policy 2 2 3 - **last updated:** december 16, 2025 3 + > **note:** the source of truth is `frontend/src/routes/privacy/+page.svelte`. this markdown is a plain-text mirror for reference. 4 + 5 + **last updated:** february 6, 2026 6 + 7 + plyr.fm ("we", "us", or "our") is an audio streaming application built on the [AT Protocol](https://atproto.com). this privacy policy applies to the instance at https://plyr.fm (the "site"). 8 + 9 + plyr.fm is open source under the MIT license. other instances or derivatives hosted elsewhere are not covered by this policy. 4 10 5 11 this policy explains what data we collect, what's public by design on the AT Protocol, and your rights. 6 12 7 13 ## 1. the AT Protocol 8 14 9 - plyr.fm uses the [AT Protocol](https://atproto.com) for identity and social features. this has important implications: 15 + plyr.fm uses the AT Protocol for identity and social features. this has important implications: 10 16 11 - **public by design:** your DID, handle, profile, tracks, likes, and comments are stored on the decentralized AT Protocol network. this data is visible to anyone on the network, not just plyr.fm users. 17 + **public by design:** your DID, handle, profile, tracks, likes, comments, and playlists are stored on your PDS (Personal Data Server) and remain under your control. the AT Protocol is a public data protocol—this data is accessible to any AT Protocol application, not just plyr.fm. 12 18 13 - **external PDS:** if your account is hosted on Bluesky's PDS or another provider (not ours), we do not control that data. their privacy policies govern it. 19 + **your PDS:** plyr.fm does not operate a PDS—we write records to wherever your account is hosted (e.g., bsky.social or a self-hosted PDS). we do not control that data; their privacy policies govern it. 14 20 15 21 **private data:** session tokens, preferences, and server logs are stored only on our servers. 16 22 17 23 ## 2. data we collect 18 24 19 - **you provide:** your ATProto identity when you log in, audio files and metadata you upload, and preferences like accent color. 25 + **you provide:** your AT Protocol identity when you log in, audio files and metadata you upload, and preferences like accent color. 20 26 21 27 **automatically:** play counts, IP addresses, browser info, and session cookies for authentication. 22 28 ··· 28 34 29 35 we use: 30 36 31 - - **Cloudflare** - CDN, storage (R2) 32 - - **Fly.io** - backend hosting 33 - - **Neon** - database 34 - - **Logfire** - error monitoring 35 - - **AT Protocol network** - public data federation 37 + - [Cloudflare](https://cloudflare.com) - CDN, storage (R2) 38 + - [Fly.io](https://fly.io) - backend hosting 39 + - [Neon](https://neon.tech) - database 40 + - [Logfire](https://logfire.pydantic.dev) - error monitoring 41 + - [AudD](https://audd.io) - audio fingerprinting for copyright detection 42 + - [Anthropic](https://anthropic.com) - image analysis for content moderation 43 + - [ATProtoFans](https://atprotofans.com) - supporter validation for gated content 44 + - [Modal](https://modal.com) - audio processing for search embeddings 45 + - [turbopuffer](https://turbopuffer.com) - vector storage for semantic search 46 + - [Replicate](https://replicate.com) - ML inference for genre classification 47 + 48 + we may also write records to your PDS using third-party lexicon namespaces (e.g., [teal.fm](https://teal.fm) for scrobbling) when you enable those features. 36 49 37 50 ## 5. your rights 38 51 39 52 you can access, correct, or delete your data through settings. when you delete your account, we remove your files from our storage and your data from our database. 40 53 41 - **we cannot delete:** your DID (you control it), data on other ATProto servers, or records in other users' PDSes. 54 + **we cannot delete:** your DID (you control it), data on other AT Protocol servers, or records in other users' PDSes. 42 55 43 56 ## 6. security 44 57
+18 -12
docs/legal/terms.md
··· 1 1 # terms of service 2 2 3 - **last updated:** december 16, 2025 3 + > **note:** the source of truth is `frontend/src/routes/terms/+page.svelte`. this markdown is a plain-text mirror for reference. 4 4 5 - these terms govern your use of plyr.fm, a music streaming platform built on the AT Protocol. by using the service, you agree to these terms. 5 + **last updated:** february 4, 2026 6 6 7 - ## 1. acceptance of terms 7 + plyr.fm ("we", "us", or "our") is an audio streaming application built on the [AT Protocol](https://atproto.com). these terms of service apply to the instance at https://plyr.fm (the "site"). 8 8 9 - by accessing or using plyr.fm, you agree to be bound by these terms. if you disagree with any part, you may not use the service. 9 + plyr.fm is open source under the MIT license. other instances or derivatives hosted elsewhere are not covered by these terms. 10 10 11 - ## 2. accounts 11 + by using the service, you agree to these terms. if you disagree with any part, you may not use the service. 12 12 13 - plyr.fm uses AT Protocol for authentication. your identity is your DID (decentralized identifier), not an account we control. we do not store passwords. 13 + ## 1. accounts 14 14 15 - we may terminate or suspend your access at any time, for any reason. termination removes or delists your content from plyr.fm and our storage, but does not affect your DID or any data stored on your PDS—we don't control those. 15 + plyr.fm uses the AT Protocol for authentication. your identity is your DID (decentralized identifier), not an account we control. we do not store passwords. 16 16 17 - ## 3. content 17 + we may terminate or suspend your access at any time, for any reason. termination removes or delists your content from plyr.fm and our storage, but does not affect your DID or data on your PDS—we don't control those. 18 + 19 + ## 2. content 18 20 19 21 you retain ownership of content you upload. by uploading, you grant us a non-exclusive, worldwide, royalty-free license to use, reproduce, modify, and distribute your content (including copies stored on your PDS) as necessary to provide the service. 20 22 21 23 you represent that you own or have the necessary rights to the content you upload, and that it does not infringe any third party's rights. 22 24 23 - ## 4. acceptable use 25 + ## 3. acceptable use 24 26 25 27 you agree not to: 26 28 ··· 30 32 - attempt unauthorized access to the service 31 33 - interfere with or disrupt the service 32 34 33 - ## 5. copyright & DMCA 35 + ## 4. copyright & DMCA 34 36 35 37 we respond to valid DMCA takedown notices. our designated agent is: 36 38 ··· 40 42 41 43 we terminate accounts of repeat infringers. 42 44 43 - **AT Protocol limitation:** we can only remove or delist content from our servers and the plyr.fm platform. we cannot delete content that has been published to other AT Protocol servers or your PDS. 45 + **AT Protocol limitation:** audio may be stored on your PDS and/or in storage that plyr.fm controls for streaming. we can remove or delist content on plyr.fm and delete our copies for policy violations, but AT Protocol records and blobs stored on your PDS may persist and are not under our control. 44 46 45 - ## 6. disclaimers 47 + ## 5. disclaimers 46 48 47 49 the service is provided "as is" and "as available" without warranties of any kind. we do not guarantee uptime or that the service will be error-free. 48 50 49 51 we are not liable for any indirect, incidental, special, or consequential damages resulting from your use of the service. 52 + 53 + ## 6. governing law 54 + 55 + these terms are governed by United States law, without regard to conflict-of-law provisions. 50 56 51 57 ## 7. changes 52 58