身分說明
UID 是什麼
UID 是 12 個英數字元,例如 3xK9aB2mP7Hq。它是你在這個服務的身分。沒有帳號、沒有密碼、沒有 email。UID 本身就是你的密碼。
你的瀏覽器裡會存
- 你的 UID 本身(清快取或換瀏覽器會消失)
- 你封鎖過的對象名單(存的是對方 UID 的 hash,不是 UID 本身——你認不出是誰,它只用來避免再配到)
你看不到對方的 UID,server 也看不到你封鎖了誰。這份名單只活在你的瀏覽器裡。
server 上會記
只記錄你的「行為品質」訊號,用來分辨人類與濫用:
- 你 UID 的 hash 值(不是 UID 本身)
- 你被讚 / 倒讚的累積分
- 你被多少不同的人封鎖過
- 每通通話的時長、結束方式(hash 化的紀錄)
主要用途是分辨機器人、抓 spam、抓批量假帳號。具體門檻與演算法不公開,避免被反向工程。
server 上沒有
- 你的真實 IP(只有 hash)
- 你的真實身分
- 通話內容(聲音根本不經過我們)
- 你封鎖了誰的對應關係
切換 UID
換瀏覽器、清快取後 UID 會消失。只要你保留 UID 字串(截圖、下載 .txt、貼簿),可以在主頁的「切換」表單貼回,就回到原身份。
切換時可能看到的提示:
- 「UID 已切換」——你按下切換按鈕的當下,輸入格式正確
- 「已切換・分數 X」——server 認得你貼的 UID,已恢復信譽分
- 「未發行的 UID,已開新身份」——你貼的 UID 不存在於 server,已自動發一個新的給你
亂打 UID 會怎樣
server 會驗證你輸入的 UID 必須是它親手發行過的(透過 /api/uid/new)。沒被 server 發過的 UID 會被拒絕,client 接到拒絕後自動 fallback:清掉本地舊 UID、向 server 申請一個新的、用新的 UID 重連,整個過程對你來說只是看到一行 toast。
為什麼這樣設計:
- 反 Sybil——若 server 接受任意 UID,攻擊者可以無限產生 UID 繞過 captcha 跟 register rate limit
- 隱私——server 不告訴你「這 UID 存不存在」這種訊息,避免攻擊者用枚舉法找出真實帳號偷信譽分。錯誤都統一回
uid_not_registered
多裝置同時登入
同一個 UID 可以同時在多個裝置/瀏覽器登入。設計上是允許的——UID 當密碼,多處登入不違規。實際發生什麼:
- 每個裝置各自配對到不同的人(永遠不會配到自己另一台裝置)
- 分數累計到同一個 UID;多裝置同時被打分用
withUserLock序列化讀寫,不會掉票 - 累積到 ban 觸發那一刻,server 會主動把該 UID 的所有在線連線都斷掉,包括進行中的通話;之後的 join 也會被擋直到禁用期滿
- 封鎖名單是各裝置 localStorage 各自一份,不跨裝置同步
想要單一裝置體驗就手動登出舊的(清快取或關分頁)。
UID = 密碼
任何人拿到你的 UID 就可以變成你(接管你的信譽分)。所以:
- 不要把 UID 貼給別人
- 清快取或換瀏覽器後,用主頁「切換」貼回 UID 就回來了
- 不在乎信譽分?丟掉開新的也沒問題