Project: Decentralized Browser Player
Author: me 🤗
Co-Author: LLM full conversation here
Audience: Contributors, Collaborators, and Engineers
Purpose
This document outlines the rationale behind our decision not to implement DRM or strong encryption measures to enforce subscription access restrictions within the player layer of our decentralized music playback ecosystem.
Context
The system we're building is designed to be:
- Open — artists can host and control their music, and developers can fork the player.
- Privacy-respecting — user data remains local and non-tracked.
- Interoperable — playlists span across domains and implementations.
- Artist-controlled — playback logic, access models, and monetization are self-defined.
Subscription-based access presents the only real case where some form of DRM might be considered. Free tracks are, by definition, open, and one-time purchases imply permanent, portable ownership of the file.
Considerations
-
Security is only as strong as the browser allows
Browser JavaScript execution can be paused, modified, and debugged by any user. Even with non-exportable keys and in-memory-only decryption, an advanced user can intercept decoded audio buffers. No browser API prevents this. -
Subscription access can always be exploited
As with platforms like YouTube, users who gain temporary access to protected content can — with enough effort — preserve it permanently. Examples likeyoutube-dl
have demonstrated that community-driven reverse engineering of obfuscation mechanisms is inevitable and ongoing. -
DRM undermines openness
Allowing the player to be forked and self-hosted means any obfuscation or access mechanism can be bypassed by modifying the player code. Trying to fight an obfuscation war in an open client undermines both its auditability and its usefulness as a community-owned tool. -
Technical Potentials and reality
There might be blind spots or future developments supporting the use of an un-exportable private key directly into an audio sandbox without allowing interference by the user. Still the overall technical overhead does not seem to hold up for the "benefit". One can still simply record the audio signal on many system and real world layers after the browser.
Final Decision
We will not implement DRM or client-side content encryption for subscription access.