隱私權政策
泠靈小工具(簡稱泠靈)是社團譜務整理樂譜用的開放原始碼桌面程式,由 Suikann 維護,在您自己的電腦上執行。本政策說明泠靈會用到哪些資料、送往哪裡、存在哪裡,以及如何刪除。
重點
- 泠靈沒有伺服器。維護者收不到您的任何資料,程式也沒有廣告、追蹤或使用統計。
- 泠靈只在您用到相關功能時連線,對象只有兩個:Google,以及社團的 HuaXia 網站。
- 來自 Google 的資料只在您的電腦與 Google 之間往返。唯一的例外是發譜:社團幹部確認之後,樂譜與編制會從您的電腦送到 HuaXia。
- 登入憑證存在作業系統的安全儲存,不寫成一般檔案,也不交給任何人。
- 紀錄檔只留在您的電腦上,不含登入憑證、密碼與 HuaXia 團員的個人資料。
本政策用到的名詞
- 譜庫:社團存放樂譜的地方,由 Google Drive 裡的資料夾(放樂譜檔)與一份 Google 試算表(稱為譜庫總表,記錄曲目、編制等資料)組成,屬於社團共用的 Google 帳號(譜庫帳號)。
- 群組:泠靈裡的一首曲目或其中一個樂章,連同它的總譜與分譜。
- 編制:一首曲目需要哪些聲部、各幾人。聲部組是聲部依樂器家族分成的組,例如吹管、拉弦。
- 存入譜庫:把整理好的樂譜傳到譜庫。撤銷存入:把某次存入還原。寫回編制:把泠靈裡的編制寫進譜庫總表。
- 發譜:把樂譜與編制放上社團的 HuaXia,讓團員取用。樂譜傳上去之後還要登記到聲部上,團員才看得到。
- 撤回:撤下某一次發譜放上去的樂譜。收回:公演結束後,撤下某首曲目的所有樂譜;不打算收回的曲目可以標記為不收回。
- 幹部:在 HuaXia 上有管理權限的社團成員。只有幹部能發譜、撤回與收回。
連線的對象
泠靈只連到下列兩處,而且只在您使用相關功能時連線:
- Google:登入,以及讀寫譜庫。
- 社團的 HuaXia:華夏國樂社的網站,資料存放在 Supabase。泠靈在這裡以 Discord 登入,並進行發譜、撤回與收回。
只用分割、旋轉、重新命名、壓縮 PDF 等功能時,泠靈完全不連網路,也從不連到維護者或其他第三方的伺服器。
登入時,泠靈會在您的電腦上開一個只供本機使用的連接埠(127.0.0.1),等瀏覽器送回一次登入結果;其他電腦連不到這個連接埠。
Google 的資料
要求的權限
https://www.googleapis.com/auth/drive:檢視、編輯、建立與刪除您 Google Drive 裡的檔案。https://www.googleapis.com/auth/spreadsheets:檢視、編輯、建立與刪除您的 Google 試算表。
譜庫裡的樂譜多半是譜務直接在 Drive 網頁上傳的,泠靈要能整理這些檔案,因此需要涵蓋整個 Drive 的權限;實際讀寫的只有下一節列出的項目。
同意畫面上的權限必須全部勾選,少勾任何一項,泠靈就不保存這次登入。建議以譜庫帳號登入,不要用個人帳號。
權限的用途
- 譜庫總表:讀寫作曲家、曲目、版本、樂章、分譜、編制、演出紀錄、時長、聲部組對照與社團設定,以及下文的各種紀錄;建立新的譜庫總表;新增或刪除曲目、樂章等資料。
- 譜庫資料夾:建立資料夾;列出、上傳、下載、重新命名與搬移樂譜檔。檔案被換掉或撤銷存入時,舊檔移到 Drive 的垃圾桶。
- 撤銷存入:從 Drive 自動保留的舊版本,把檔案還原成存入前的內容。還原期間會暫時把那個舊版本設為永久保留,完成後取消。
- 挑選譜庫資料夾:從「我的雲端硬碟」開始,列出您展開的那一層資料夾的名稱。
- 帳號 email:讀取登入帳號的 email,顯示在譜庫設定,下次登入時預先填入。
寫進譜庫總表的紀錄
泠靈會在譜庫總表裡留下操作紀錄。能開啟譜庫總表的人都看得到這些紀錄。
- 寫回編制、存入譜庫與撤銷存入:記下時間、登入帳號的 email,以及改了什麼。
- 存入譜庫的紀錄另記下檔案在您電腦上的完整路徑。路徑可能含有電腦的使用者名稱與資料夾名稱,例如
C:\Users\使用者名稱\Desktop\…。 - 發譜、撤回、收回與標記為不收回:記下的內容見下文〈發譜紀錄〉。
存在您電腦上的資料
- 偏好設定:上次登入的 email、譜庫總表與譜庫資料夾的 ID、社團設定裡的發譜平台,以及提醒您哪些曲目該收回的摘要(曲名、HuaXia 曲目編號與公演結束時間)。
- 專案檔(
.llproj,存在您選的位置):每個群組對應到譜庫與 HuaXia 的哪一首曲目、一份編制的副本、要在 HuaXia 新建曲目時用的曲名、作曲家與時長,以及您手動挑選的 HuaXia 聲部。專案檔不含登入資訊。 - 從譜庫下載的檔案:存回原本的位置,或您指定的資料夾。下載途中的暫存檔在下載結束時刪除。
分享與使用限制
- 來自 Google 的資料不會送到 Google 以外的地方,唯一的例外是 HuaXia:
- 發譜:幹部在泠靈的發譜預覽裡按下「發譜」確認後,泠靈把群組的編制(聲部、人數、聲部組)、新建曲目時的曲名、作曲家與時長,以及選定的總譜與分譜,從您的電腦送到社團的 HuaXia。這些資料可能原本來自譜庫。
- 撤回與收回:泠靈依譜庫總表裡的發譜紀錄,判斷要刪除 HuaXia 上的哪些資料。
- 泠靈不販售、不出租來自 Google 的資料,不拿來投放廣告,也不拿來訓練人工智慧或機器學習模型。維護者看不到這些資料。
- 泠靈使用與轉移從 Google API 取得的資訊時,遵守 Google API 服務使用者資料政策與 Google Workspace API 使用者資料與開發者政策,包括其中的「有限使用」(Limited Use)規定。
登入憑證與安全儲存
登入後,泠靈靠權杖(token)代表您存取帳號,不需要知道您的密碼。
- 登入 Google 後,泠靈只保存「續期權杖」(refresh token),存在作業系統的安全儲存:Windows 為「認證管理員」,Linux 為 Secret Service(例如 GNOME Keyring、KWallet),項目名稱為
LingLingSuite Google。 - 幹部登入 HuaXia 後,HuaXia 的權杖存在同一處,項目名稱為
LingLingSuite HuaXia。 - 實際存取資料用的「存取權杖」(access token)只存在執行中的程式裡,不寫進任何檔案。
- 電腦沒有安全儲存或寫入失敗時,泠靈不保存登入,並在譜庫設定說明原因,下次啟動需要重新登入。泠靈不會改用一般檔案保存。
- 權杖只送回發出它的服務(Google 或 HuaXia),不交給任何人,也不寫進紀錄檔。
- 舊版泠靈曾把 Google 權杖存成一般檔案
google_token.json。新版每次啟動都會刪除這個檔案,而且不讀取它。
HuaXia 與 Discord
只有幹部發譜、撤回與收回時,泠靈才會用到 HuaXia。
登入
- 您以自己的 Discord 帳號登入。泠靈透過 HuaXia 的登入服務,在瀏覽器開啟 Discord 的登入頁;密碼只在 Discord 的網站輸入,泠靈拿不到。
- 登入後,泠靈取得 HuaXia 的權杖與您的 Discord 帳號名稱。帳號名稱用來在畫面上顯示目前登入的是誰,也會寫進發譜紀錄;泠靈不把它存在您的電腦上。
- 泠靈接著向 HuaXia 確認您是不是幹部。如果不是,泠靈讀取您自己帳號的狀態(例如等待核准、已停用)來說明原因,然後登出,不保存任何權杖。
讀取
- 泠靈從 HuaXia 讀取曲目、聲部、樂譜、公演、每首曲目掛了哪些公演,以及泠靈先前上傳的檔案清單,用來比對與預覽。發譜時只讀本學期的公演;收回時讀曲目掛的所有公演,不分學期。
- 撤回前,泠靈只檢查聲部有沒有排人,不讀排了誰。泠靈不讀團員名單,也不讀其他團員的資料。
寫入與刪除
- 發譜:幹部確認後,泠靈在 HuaXia 新建曲目(曲名、作曲家、時長)、新建或更新聲部(名稱、人數、聲部組)、上傳總譜與分譜的 PDF 並登記到聲部上,再掛上公演。泠靈先前發的樂譜如果被這次取代,會撤下登記並刪除檔案。
- 撤回:撤下某一次發譜所登記的總譜與分譜。那次新建、還沒排人、也沒有別人放譜的聲部一併刪除;那次上傳、已經沒有任何登記使用的檔案也刪除。被那次取代的舊檔不會恢復,人數、聲部組與公演也不改回。
- 收回:撤下該曲目在 HuaXia 上所有樂譜的登記,包括別人從 HuaXia 網頁放上的,再刪除已經沒有任何登記使用的檔案。聲部、曲目、公演與排人都保留。
- 清除遺留檔案:發譜與收回之前,刪除泠靈先前上傳、卻沒有任何登記使用的檔案,例如發譜中斷時留下的。從 HuaXia 網頁上傳的檔案不受影響。
這些寫入與刪除都由您的電腦直接送到 HuaXia,不經過其他伺服器,並以您的身分、依 HuaXia 本身的權限規則進行;不是幹部就無法執行。
發譜紀錄
每次發譜、撤回、收回與標記為不收回,泠靈都會在譜庫總表的「發譜紀錄」工作表留下一筆紀錄;撤回與收回就是依這份紀錄決定要刪除什麼。每筆紀錄包含:
- 時間,以及操作者的 Discord 帳號名稱
- 群組、對應的 HuaXia 曲目與聲部編號,以及曲名
- 新建的曲目與聲部,以及人數與聲部組改動前後的值
- 上傳、登記、撤下或刪除了哪些檔案(以 HuaXia 上的檔案路徑記錄)
- 掛上的公演(名稱與結束時間)
- 沒有完成的原因
HuaXia 上的資料由 HuaXia 的維護者管理,適用 HuaXia 自己的規定;Discord 登入適用 Discord 的隱私權政策。
紀錄檔與其他本機檔案
泠靈的本機資料都放在使用者資料目錄,不會上傳:
- Windows:
%APPDATA%\LingLingSuite\ - Linux:
~/.config/LingLingSuite/(或$XDG_CONFIG_HOME/LingLingSuite/)
目錄裡有:
- 紀錄檔(
logs/):每天一個檔案,保留 30 天,記下譜庫讀寫失敗,以及存入譜庫、撤銷存入、清除本機檔案、下載、發譜、撤回、收回、清除遺留檔案等操作。每筆只記時間、操作、曲名、檔名或群組名稱、路徑(本機路徑或 HuaXia 上的檔案路徑)、錯誤類別與原始錯誤訊息;錯誤訊息裡看起來像權杖或密碼的內容會換成***。可從「說明」選單的「開啟紀錄檔資料夾」打開。 - 其他檔案:偏好設定、復原與重做紀錄、工作區(分割的輸出)、PDF 旋轉前的備份、暫存資料夾(壓縮後的檔案與發譜時要上傳的檔案副本,用完即刪),以及防止同時開啟兩個泠靈的鎖定檔。
刪除資料與撤銷授權
- 登出 Google:在譜庫設定按「登出」,刪除這台電腦上保存的 Google 權杖。若要讓 Google 一併撤銷泠靈的授權,請到 Google 帳戶的第三方應用程式和服務移除泠靈小工具。
- 登出 HuaXia:按「登出 HuaXia」,結束這台電腦的 HuaXia 登入,並刪除保存的 HuaXia 權杖。
- 刪除本機資料:先登出,再刪除上述的使用者資料目錄,就會刪除泠靈存在這台電腦上的所有資料;專案檔與您自選位置的檔案除外。
- 譜庫與 HuaXia 上的資料:譜庫總表與 Drive 裡的檔案屬於譜庫帳號,請在 Google Drive 管理與刪除;HuaXia 上的資料請在 HuaXia 管理。泠靈發到 HuaXia 的樂譜,幹部也可以用泠靈的撤回或收回刪除。
政策的修改
本政策修改時,會一併更新本頁與上方的生效日期;歷次修改可在 GitHub 的修改紀錄查閱。
聯絡方式
對本政策或泠靈的資料處理有疑問,請到 GitHub Issues 提出;不便公開的問題,請寄信到 bozu950622@gmail.com。