Політика конфіденційності
Коротко: у Lyrimuse немає облікових записів і реклами. Раз на день програма надсилає анонімні дані використання без назв пісень, виконавців чи облікових записів, і це можна вимкнути в розділі Параметри › Про програму › Діагностика й дані. Щоб знайти текст, треба запитати джерела текстів про пісню, яка грає, тож програма звʼязується зі сторонніми сервісами. На цій сторінці перелічено їх усі.
1 На що поширюється ця політика
Ця політика поширюється на програму Lyrimuse для macOS, вбудований у неї рушій текстів і цей вебсайт за адресою yudaotor.github.io/lyrimuse. Lyrimuse є проєктом із відкритим кодом, який веде один розробник (Yudaotor). Компанії за ним немає.
2 Що ми збираємо: анонімні дані використання
Реєстрації й облікових записів користувачів немає. Розробник отримує анонімні дані використання, які типово ввімкнено. Не частіше ніж раз на день програма надсилає випадковий ідентифікатор інсталяції, створений на вашому Mac, версії Lyrimuse і macOS, чип, мови інтерфейсу й системи, які функції ввімкнено (місця показу тексту, вибрані програвачі, скільки джерел текстів увімкнено, перемикачі перекладу й вимови, чи підключено облікові записи, як-от Last.fm, яким стороннім програвачам і браузерам ви довіряєте, які вебпрогравачі ви спарували), які програвачі відтворювали музику в попередні дні і скільки разів програма зависала. Коли Lyrimuse або її рушій текстів аварійно завершує роботу, надсилається ще й короткий звіт про збій: тип винятку та імена функцій у стеку, без шляхів до файлів.
Програма ніколи не надсилає назв пісень, виконавців, альбомів, шляхів до файлів, імен облікових записів чи облікових даних. Дані надходять на власний сервер розробника (telemetry.yudaotor.me, Cloudflare Worker), який не зберігає IP-адрес, лише країну або регіон, які Cloudflare визначає за ними. Вимкніть Надсилати анонімні дані використання в розділі Параметри › Про програму › Діагностика й дані (на вітальному екрані під час першого запуску є такий самий перемикач), і нічого не надсилатиметься.
Вихідний код відкритий, тож це можна перевірити, а не вірити на слово.
3 Що залишається на вашому Mac
Усе, що запамʼятовує програма, записується на ваш власний Mac: переважно в ~/Library/Application Support/me.yudaotor.lyrimuse, з кешами в ~/Library/Caches, журналами в ~/Library/Logs/Lyrimuse і обліковими даними у вашій вʼязці login:
- ваші параметри
- кеш текстів, щоб пісня, яку ви вже відтворювали, працювала й офлайн
- ваша локальна історія прослуховувань, з якої будуються чарти й «Цього дня»
- облікові дані сервісів, які ви вирішили підключити, як-от ключ сеансу Last.fm чи токен ListenBrainz
- журнал вихідних запитів, описаний нижче
Нічого з цього не вивантажується. Видаліть ці папки, і все зникне; вбудований скрипт uninstall.sh --purge видаляє їх разом з обʼєктами у вʼязці.
4 З якими серверами звʼязується програма
Окрім облікових даних, наведених у таблицях, і випадкового ідентифікатора інсталяції в даних використання, жоден із цих запитів не містить нічого, що ідентифікує вас чи ваш Mac. Кожен сервіс бачить сам запит і, як і будь-який вебсайт, вашу IP-адресу.
Під час звичайного використання
| Призначення | Сервіс | Що отримує |
|---|---|---|
| Пошук текстів | NetEase Cloud Music, QQ Music, Kugou, Kuwo, Migu, Soda Music, Musixmatch, LRCLIB, LyricFind (через YouTube Music), Deezer, VIBE (Naver), Genie (KT), PetitLyrics (SyncPower) і бібліотека текстів AMLL (на GitHub, з jsDelivr як резервом). Також Apple Music, щойно ви підключите свій обліковий запис | Виконавець, назва й альбом, а для деяких джерел ще й тривалість. Apple Music також отримує ваш токен користувача медіа (media user token), який надсилається лише в Apple |
| Імена виконавців | MusicBrainz | Імʼя виконавця, коли жодне джерело не знайшло пісню і програма шукає інші варіанти імені; коли зіставлення з Last.fm натрапляє на виконавця, якого ще не бачило; а також ідентифікатори MusicBrainz, щоб дізнатися країну й посилання виконавців у чартах |
| Обкладинки й екран очікування | iTunes Search. Обкладинки також завантажуються звідти, де вони вже є: із власного сервера зображень програвача (Spotify, KKBOX, Amazon Music, YouTube Music, а також сервери Kuwo і Migu, звідки беруться обкладинки в LX Music) або з джерела текстів, яке знайшло пісню | Виконавець і назва. Під час завантаження зображення надсилається лише його адреса |
| Описи пісень, альбомів і виконавців | Спершу публічні сторінки альбомів і виконавців в Apple Music, без облікового запису Apple. Якщо там нічого немає: Soda Music (пісні, відтворені в цьому програвачі, лише в китайському інтерфейсі), NetEase Cloud Music (лише в китайському інтерфейсі), Kuwo (пісні, які LX Music відтворює з Kuwo, лише в китайському інтерфейсі), Kugou (пісні, відтворені в цьому програвачі; його описи лише в китайському інтерфейсі), статті Вікіпедії, які показує YouTube Music, і Last.fm. Описи пісень беруться з QQ Music (лише в китайському інтерфейсі) або Last.fm | Ідентифікатори або назви пісень, альбомів чи виконавців |
| Оригінальна назва запису | Публічний каталог Apple Music без облікового запису Apple, а також Deezer, пошук за кодом ISRC запису | Код ISRC або виконавець і назва |
| Посилання Spotify у чартах | MusicBrainz і публічні сторінки вбудовування Spotify, не частіше ніж один цикл запитів раз на 6 годин | Ідентифікатори MusicBrainz та ідентифікатори альбомів Spotify |
| Розрізнення пісень, аудіокниг та інших розмовних програм у QQ Music | QQ Music, один раз на пісню, поки грає QQ Music | Ідентифікатор пісні в QQ Music |
| Розрізнення пісень і епізодів подкастів у Kaset і Pear Desktop | YouTube Music, один раз для кожного нового відео, яке відтворює Kaset чи Pear Desktop | Ідентифікатор відео |
| Керування відтворенням Plexamp | Plexamp через власний порт на цьому Mac, поки ви слухаєте в ньому | Команди відтворення. Ніщо не залишає ваш Mac |
| Списки треків альбомів у Soda Music | Публічні сторінки альбомів Soda Music, поки ви слухаєте в Soda Music | Ідентифікатор альбому |
| Синхронізація тексту з музичними відео в YouTube Music | SponsorBlock | Перші 4 символи хешу SHA-256 ідентифікатора відео, за якими неможливо визначити, яке це відео |
| Пошук адреси Musixmatch | Cloudflare (1.1.1.1) і Google (8.8.8.8) через DNS over HTTPS | Доменне імʼя |
| Анонімні дані використання (типово ввімкнено; вимикаються в розділі Параметри › Про програму › Діагностика й дані) | Власний сервер розробника, telemetry.yudaotor.me (Cloudflare Worker), не частіше ніж раз на день | Випадковий ідентифікатор інсталяції, версії, чип, мови, які функції ввімкнено, які програвачі відтворювали, як часто програма зависала, і короткі звіти про збої. Без назв пісень, виконавців, альбомів чи облікових записів |
| Анімовані обкладинки альбомів | QQ Music, потім NetEase Cloud Music як анонімний гість, коли в Apple Music немає анімованої обкладинки для альбому. Відео завантажується з їхніх відеосерверів, поки відкрито вікно тексту | Ідентифікатори альбому, пісні чи відео. Без облікового запису |
| Пошук сторінки пісні в Kugou | Вебпошук Kugou, один раз на пісню, поки грає Kugou | Виконавець і назва |
| Перевірка оновлень | Стрічка оновлень на GitHub Releases, без системної інформації. Якщо ввімкнено бета-версії оновлень, ще й список випусків через GitHub API, не частіше ніж раз на годину | Нічого про вас |
| Кількість зірок у розділі «Про програму» | GitHub API, не частіше ніж раз на 6 годин | Нічого про вас |
Лише після того, як ви щось увімкнете
Вони вимкнені, доки ви їх не налаштуєте:
| Призначення | Сервіс | Що отримує |
|---|---|---|
| Скроблінг | Last.fm і ListenBrainz, залежно від того, що ви підключите | Що ви відтворюєте, разом з обліковими даними вашого облікового запису |
| Резервний онлайн-переклад (типово вимкнено, і лише коли переклад Apple на пристрої не допомагає) | Спершу вебпереклад Google, потім MyMemory для решти | Текст пісні частинами. Запити до MyMemory містять випадково вигадану адресу електронної пошти, не вашу |
| Підсумки прослуховувань (щоденні, щотижневі, щомісячні, річні) | Налаштовані вами канали: Bark, ntfy, DingTalk, WeCom, Discord, Feishu, ServerChan, Telegram, Slack або введена вами адреса вебхука | Текст підсумків |
| Сторінка «Зараз грає», якою можна поділитися | Ретранслятор, який ви розгортаєте самі. Його сторінка з топ-10 виконавців запитує в Deezer фото виконавців | Що грає зараз; імена виконавців |
| Spotify Canvas як тло вікна тексту (типово вимкнено) | Відеосервер Spotify (canvaz.scdn.co). Програма лише читає кеш, який Spotify зберігає на вашому Mac, і нічого не запитує в Spotify | Лише адреса відео |
| Показ того, що ви відтворюєте, у Discord (типово вимкнено) | Програма Discord на вашому Mac через її локальне зʼєднання. Потім Discord показує це у вашому профілі | Назва пісні, виконавець, альбом, адреса обкладинки, програвач і прогрес, а також рядок, який співається, і ваші посилання на кнопках, якщо ви їх увімкнете |
| «Текст у браузері» та «Вивід OBS» (типово вимкнено) | Сторінка, яку Lyrimuse роздає на цьому Mac (порти 3939 і 3940). Відкрити її може лише цей Mac, доки ви не дозволите доступ із локальної мережі; якщо ввімкнено «Дозволити віддалене керування», сторінка також може керувати відтворенням | Сама по собі нікуди нічого не надсилається. Пристрої, які відкривають сторінку за її посиланням, бачать поточний текст, обкладинку й прогрес |
| Open API у LX Music (коли ви вмикаєте його в LX Music) | LX Music через власний порт на цьому Mac | Команди відтворення. Ніщо не залишає ваш Mac |
| API Server у Pear Desktop (коли ви вмикаєте його в Pear Desktop) | Pear Desktop через власний порт на цьому Mac | Команди відтворення й вподобання; Pear Desktop повідомляє поточну пісню й чергу. Ніщо не залишає ваш Mac |
| Повідомлення про проблему | GitHub у вашому браузері, і лише якщо ви надішлете форму | Версія програми, версія macOS і програвач, а для повідомлень про текст ще й пісня та джерело тексту. Перед надсиланням ви бачите все це і можете відредагувати |
Кожен із цих сервісів має власну політику конфіденційності та журналювання, які розробник не контролює.
5 Журнал вихідних запитів
Кожен мережевий запит програми записується в журнал на вашому Mac. У ньому фіксуються сервіс, операція, імʼя хоста, HTTP-статус і тривалість, але ніколи не повна адреса, параметри, тіло запиту чи облікові дані.
Його можна переглянути в програмі «Консоль» (Console.app) або додати до експорту діагностики з Параметрів. Експорт ви завжди робите самі вручну, і файл опиняється там, де ви його збережете.
6 Дозволи, які запитує програма
- Автоматизація для Apple Music, Spotify, Kaset, VOX, Swinsian і Audirvana, коли ви їх вибираєте: програма зчитує поточний трек і позицію та надсилає команди відтворення. Якщо ви слухаєте в браузері й увімкнули точний прогрес вебпрогравача, вона також запитує дозвіл «Автоматизація» для цього браузера, щоб зчитувати справжню позицію програвача на сторінці.
- Доступність, за бажанням: QQ Music, NetEase Cloud Music, Kugou Music, Soda Music і Amazon Music потребують її для кнопок тасування, повтору й «До Улюблених», reAMP, foobar2000 і Audirvana для тасування, повтору й гучності, Pine Player для повтору й гучності, а MyGo Music для кнопки «До Улюблених»: програма натискає власні пункти меню, кнопки чи повзунки програвача, коли ви ними користуєтеся; поки «Зараз грає» утримує інша програма, вона також надсилає команди відтворення, паузи й перемикання треків до QQ Music, NetEase Cloud Music, Kugou, Soda Music, reAMP, Pine Player, foobar2000 і MyGo Music; для Amazon Music вона ще й підтримує точну позицію відтворення, а для Pine Player зчитує смугу прогресу, щоб таймінг був точним, і список відтворення, щоб підготувати наступні пісні; для YouTube Music у браузері та в Pear Desktop вона натискає «Пропустити» на рекламі, коли ввімкнено автоматичний пропуск.
- Повний доступ до диска, за бажанням: QQ Music, NetEase Cloud Music і Kugou зберігають чергу відтворення й завантажені тексти в захищеній папці, а Soda Music і VOX свою чергу відтворення. З доступом Lyrimuse готує тексти для наступних пісень і може використовувати тексти, які вже є в цих програмах; без нього ці кроки просто пропускаються.
Інші програвачі зчитуються через системну інформацію «Зараз грає» і не потребують дозволів. Жоден із цих дозволів не використовується ні для чого, крім стеження за тим, що ви відтворюєте.
7 Цей вебсайт
Ці сторінки є статичними файлами на GitHub Pages, без файлів cookie, аналітики чи трекерів. Вони зберігають лише вибрану вами мову в локальному сховищі вашого браузера. Коли ви відкриваєте меню завантаження, сторінка запитує в GitHub API номер останньої версії. GitHub як хостинг журналює запити, як і будь-який вебсервер; див. заяву GitHub про конфіденційність.
8 Діти
Lyrimuse не призначена для дітей і не збирає персональних даних ні в кого, незалежно від віку.
9 Зміни
Коли поведінка програми щодо даних змінюється, ця сторінка змінюється разом із нею, а дата вгорі оновлюється. Історія змін публічно доступна в репозиторії.
10 Контакти
Запитання чи виправлення: створіть issue на GitHub.