Privacy Policy

Last updated: 2026-06-07

Overview

mprisence Bridge is a browser extension that reads media playback metadata from supported websites (YouTube Music, YouTube, SoundCloud, Bandcamp, Tidal, Apple Music) and forwards it via native messaging to a local binary (mprisence) running on your computer.

The extension does not communicate with any remote server. Its sole purpose is feeding web media data into the local MPRIS desktop standard so media keys and desktop integrations can work.

What data is accessed

When you play media on a supported website, the Extension reads the following from the page DOM:

DataPurpose
Website URLIdentify the media source
Media metadata (title, artist, album)Provide track info to MPRIS
Playback state (playing/paused, position, duration)Provide playback status to MPRIS
Album art URLPass to MPRIS so desktop clients can display cover art

How data is used

All data is sent via native messaging to the mprisence binary on your machine. That binary publishes MPRIS players on D-Bus so desktop applications (media keys, Discord via mprisence daemon, etc.) can see your web media.

 ┌─────────────────────────────────────────────┐
 │  Browser Extension                          │
 │  (reads DOM, sends JSON via native msg)     │
 └──────────┬──────────────────────────────────┘
            │  stdin/stdout (local)
            ▼
 ┌──────────────────────┐        ┌──────────────────────────┐
 │ mprisence (web host) │───────▶│  D-Bus MPRIS             │
 │ (local binary)       │pub.    │  org.mpris.MediaPlayer2. │
 │                      │MPRIS   │  mprisence_web.*         │
 └──────────────────────┘        └──────────────────────────┘
                                         │
                                         ▼
                               Desktop integrations
                               (media keys, mprisence daemon,
                                Discord RP, etc.)

The extension itself transmits nothing to the network. All communication stays on your machine.

Example: actual JSON message the extension sends

When you play music on YouTube Music, the extension sends a message like this to the bridge binary:

{
  "type": "update",
  "source_id": "firefox:tab:42:0",
  "url": "https://music.youtube.com/watch?v=ABC123",
  "origin": "https://music.youtube.com",
  "site": "youtube_music",
  "playback": {
    "status": "playing",
    "position_ms": 45000,
    "duration_ms": 240000
  },
  "metadata": {
    "title": "Song Title",
    "artist": ["Artist Name"],
    "album": "Album Name",
    "album_artist": ["Artist Name"],
    "art_url": "https://i.ytimg.com/vi/ABC123/hqdefault.jpg"
  },
  "capabilities": {
    "play_pause": true,
    "next": true,
    "previous": true,
    "seek": true,
    "set_position": true
  }
}

The extension transmits only this data. No cookies, no history, no personal identifiers beyond a tab-scoped source ID (source_id).

What data is NOT accessed

Data storage

Data is processed in real-time and is not persistently stored by the Extension or the native messaging host.

Data sharing

Security

Third-party services

The Extension reads data from the DOM of supported websites (as listed in the manifest). It does not communicate with any third-party API or server.

Downstream tools (e.g., the mprisence daemon, Discord) are separate software and subject to their own privacy policies.

Changes to this policy

When this policy changes, the "Last updated" date updates. Material changes documented in the extension's update notes.

Contact

For questions about this privacy policy or the Extension's data practices, open an issue at: https://github.com/lazykern/mprisence/issues