← 全部的單
GitHub #257 ↗
註冊與帳號・功能
讓沒有被邀請的新客戶,能自己用 Email 註冊、確認信箱、綁一張卡(不扣款)就開一個 Free 機構;在打開之前,先把防濫用、監控、誰能開關的規則定好。
#257 開放自行註冊(SIGNUP_OPEN)前的守門機制
狀態
卡住
誰在做
宜芳分派
做到哪
第一個切片「模擬綁卡」已做完:PR
#287
在 10/04 合併上線,放在管理台的「功能展示」裡,只有一顆「模擬綁卡成功」按鈕、沒有卡號欄位、不會建帳號或機構。真的藍新綁卡、防濫用、確認信流程、監控、開放前提清單都還沒做;SIGNUP_OPEN 仍然是 false,註冊頁照舊寫「帳號採邀請制」。
卡在
負責人。開發者在單上最新一則留言(回派負責人)列的三題還沒回:藍新特店簽約與測試金鑰、SIGNUP_OPEN 什麼時候開/誰核准、要不要一卡一帳號。另外確認信要怎麼做也還沒寫進 GitHub。藍新的串接文件與測試帳號沒拿到之前,真的綁卡做不了。
下一步
負責人回
#257
那三題,並把確認信的方向寫進單裡;藍新測試帳號到手後,由宜芳分派下一個切片(真的綁卡+確認信流程+防濫用)。
提醒:
1. 「確認信不要背離業界標準」這句我在 GitHub 上找不到;照
#248
規矩第 4 條(裁決寫在 GitHub 才算數),要算數請負責人寫進
#257
,所以這頁把確認信流程放在「還沒定的」。2. 現在的註冊表單其實已經寫了確認信的文案,但沒有「重寄確認信」按鈕,連結失效時只寫「連結已經失效,請重新登入」——打開前要補。3. 註冊頁的「我接受服務條款」現在點不開任何條款;
#316
已定要有服務條款與免責聲明,但 repo 裡還沒有,條款沒好之前不該打開。4. 寄信:Supabase 的系統信目前走 Gmail、每小時上限 60 封(
#214
,10/04 讀到的);
#214
還在等負責人回「同意」換 Resend,跟這張是同一條線。5. 測試方式要請開發者先講清楚:守門 hook 打的是正式站,而且本機、預覽、正式站共用同一個正式庫;本單本文寫「用 farside_dev 測試帳號跑註冊」,但走一次自行註冊一定會開一個新機構、不會落在 farside_dev 裡。要在哪裡測、測完怎麼清掉,要先講好。6. 本單本文還寫「不存卡號、只存藍新代碼」是推論,但
#248
已裁定清單已經把它列成負責人 10/02 定的;以
#248
為準。
一步一步 15
已經定的 17
還沒定的 12
怎麼驗收 13
這張不做 6
這張要解決什麼
想試用 Slate 的新事務所負責人——還沒有帳號,也沒有人邀請他
,現在註冊頁只寫「帳號採邀請制」,陌生人進不來;但如果什麼都不做就直接打開,任何人都能用不同 Email 一直開新的 Free 機構、每個領 100 點,而且開出來的帳號平台收不回去——要能 新客戶能自己註冊、確認 Email、綁卡(不扣款)後拿到一個 Free 機構開始用;負責人看得到每天有誰在註冊,出事能馬上關掉
一步一步
15 步
訪客(現況)
打開登入頁,或直接打開 /create_account
看到「帳號採邀請制」,沒有註冊表單——因為 SIGNUP_OPEN = false。以下第 2 步之後是打開後的建議流程,順序與細節多半還待裁
註冊頁(現況:關著)
帳號採邀請制
目前不開放自行註冊。請聯絡你的機構管理者為你建立帳號,收到邀請後即可登入。
回登入頁
訪客
在登入頁按「還沒有帳號?建立帳號」,填完註冊表單按「註冊」
送出到 Supabase,準備建帳號
註冊頁(打開之後)
建立帳號
名字
姓氏
Email
密碼
確認密碼
我接受服務條款(要能點開條款全文;條款現在還沒有,#316)
註冊
已經有帳號了嗎?登入
系統(守門)
Supabase 建帳號之前先問守門的 hook:SIGNUP_OPEN 開了沒、有沒有踩到防濫用的門檻(要擋哪些還待裁)
放行:建一個「Email 還沒確認」的帳號並寄確認信。擋下:註冊頁顯示錯誤,照固定格式(類型+錯誤碼,
ADR-0121
)
訪客
送出後看到「去信箱確認」
知道下一步要去收信;收不到可以重寄
確認信已寄出
去信箱確認你的 Email
確認信已寄到你填的 Email,請在有效期限內點信裡的按鈕(期限待裁,建議 24 小時)
沒收到?先看垃圾郵件匣
重寄確認信(按過要等一段時間才能再按,建議 60 秒,待裁)
Email 填錯了?重新註冊
(建議)就算這個 Email 已經註冊過,也顯示同一個畫面,不透露它有沒有帳號
系統
寄確認信。Supabase 的系統信現在走 Gmail,每小時上限 60 封;要不要換成 Resend 在
#214
等負責人回
信裡有一條只能用一次的確認連結,過了有效期就失效
訪客
打開信箱裡的確認信
看到確認按鈕
確認信(Email 內容)
確認你的 Email
你剛剛建立了帳號,按下面的按鈕完成確認
確認 Email
連結在有效期限內可用;如果不是你註冊的,忽略這封信就好
訪客
點信裡的確認連結
連結有效:Email 確認完成、自動登入,帶去綁卡。過期或已經點過:顯示連結失效、不登入,給重寄
確認結果頁(/auth/callback)
Email 確認完成,正在帶你前往下一步…
(失敗時)這條連結已經過期或用過了
(失敗時)Email
(失敗時)重寄確認信
訪客(還沒確認就去登入)
在登入頁輸入 Email 和密碼,按「登入」
登不進去;提示要先確認 Email,並給重寄按鈕。這個提示要用一般說明還是照錯誤的固定格式,待裁
登入頁(Email 還沒確認)
Email
密碼
登入
這個 Email 還沒確認,請先到信箱點確認連結(文案與格式待裁)
重寄確認信
訪客(Email 已確認,第一次登入)
進到綁卡頁,看完說明按「前往藍新綁卡」
跳到藍新的頁面去輸入卡號
綁卡頁
綁一張信用卡,開始用 Free 方案
綁卡不會扣款。我們不存卡號,只存藍新給的代碼
Free:每月 100 點;用完會停下來提示升級,不會自動扣款
前往藍新綁卡
訪客
在藍新的頁面輸入卡號、送出。那是藍新的畫面,不是 Slate 的,卡號不經過我們
藍新把成功或失敗帶回 Slate
系統
收到藍新回傳的代碼:只存代碼、不存卡號。如果負責人裁定一卡一帳號,就查這張卡有沒有綁過別的帳號
通過才往下開機構;同一張卡已經綁過就擋下(待裁)
系統
綁卡成功後開一個新機構:新的租戶、註冊的人是 admin、方案 Free;同時記一筆給監控用的紀錄(新機構、Email 網域)
把人帶進首頁,可以開始用
首頁(剛開好機構)
畫布首頁(接著做、從這裡開始、全部畫布)
機構已建立:方案 Free、本月 100 點
訪客(綁卡沒成功或按了取消)
從藍新回到 Slate
留在綁卡頁、進不了系統,可以再試一次。「沒綁成功就不能完成註冊」是本單的推論,負責人原話只說「註冊綁信用卡」,待確認
綁卡頁(沒成功)
發生錯誤(類型+錯誤碼,固定格式,ADR-0121)
再試一次
登出
負責人
到約定的地方查:今天新開了幾個機構、各來自哪些 Email 網域。第一版用正式站日誌,不做新畫面;確切去哪裡查要寫進本單
有數字可以決定要不要打開、或打開後要不要緊急關掉
負責人+開發者
要打開或緊急關掉註冊、或調防濫用門檻:改程式碼裡的常數,走一般 PR、合併上線。誰能核准打開,待裁
關掉之後,註冊頁回到「帳號採邀請制」,守門 hook 一律拒絕新的註冊
已經定的
17 條
自行註冊會開一個新機構,註冊的人就是那個機構的 admin;被邀請的人在帳號建立當下就進邀請人的機構。兩條路分開
ADR-0038
決策一、決策二
自行註冊不是永久關閉,它是新客戶的入口;現在關著是暫時的
ADR-0038
決策二「自行註冊」段
開不開註冊只看程式碼裡的 SIGNUP_OPEN 一個常數(不是後台開關);登入頁、註冊頁、守門 hook 讀同一份,要改就走 PR
ADR-0038
決策四、src/lib/auth/signup-open.ts
防濫用的門檻也比照 SIGNUP_OPEN:寫成程式碼常數、配紅燈測試、走 PR 改,不做「不改程式就能調」的開關
ADR-0038
決策四(
#257
本文「要做什麼」把同一原則套到防濫用)
自行註冊時要綁信用卡
負責人 2026-10-02「註冊綁信用卡」(
#257
本文、
#248
已裁定清單)
綁卡不扣款;我們不存卡號,只存藍新給的代碼
#248
已裁定清單(負責人 2026-10-02,
#257
)
金流用藍新、電子發票用 ezPay
負責人 2026-10-02(
#248
已裁定清單)
新會員落在 Free:月費 NT$0、每月 100 點
ADR-0117
〈2026-10-01 修訂〉二
Free 點數用完就停下來、提示升級,不自動扣款
負責人 2026-10-02(
#248
已裁定清單)
現在只記錄、不扣點也不收錢;帳號合併之前不開收費
ADR-0117
〈修訂〉七、
#240
(
#248
已裁定清單)
模擬綁卡期間只做一顆「模擬綁卡成功」按鈕,不做能輸入卡號的表單,免得有人把真卡號打進去
宜芳在
#257
指派開發時的留言
SIGNUP_OPEN 等藍新真的接上才開,模擬綁卡期間維持 false
宜芳在
#257
指派開發時的留言
模擬綁卡的結果不能建立真帳號或機構,也不能拿來完成公開註冊
ADR-0129
決策二第 8 點(PR
#287
)
綁卡與金流的測試只能用藍新/ezPay 的測試環境與官方測試卡號,不准用真卡
負責人 2026-10-02(
#257
本文「測試方式」第 4 點)
錯誤訊息只顯示固定格式(發生錯誤+類型+錯誤碼+追查碼),不寫原因
ADR-0121
決策一
要有服務條款與免責聲明(repo 裡目前還沒有)
負責人 2026-10-04(
#316
、
#248
已裁定清單)
新工作一律先給宜芳看、由她分派
負責人 2026-10-05(
#326
)
還沒定的
12 題
用 Email 註冊,要不要點確認信才算完成?(宜芳問的)
甲:照業界標準——寄確認信,點了才算完成,沒確認不能登入
乙:不用確認信,註冊完馬上能用
丙:改用登入連結(magic link),不設密碼
建議:
建議(待裁):甲。負責人的方向是「不要背離業界標準作法」,但這句還沒寫進 GitHub,所以還不算定案。現在的註冊表單其實已經照甲寫好「確認信已寄到…」的文案,登入也只有 Email+密碼;而且先確認 Email 再綁卡,可以擋掉用假信箱大量試卡
誰裁:負責人
確認信的細節:連結多久失效?重寄要隔多久?一直沒確認的帳號要不要清掉?
有效期:1 小時/24 小時
重寄:隔 60 秒才能再按,另設每小時上限
沒確認的帳號:7 天後刪除/不刪
建議:
建議(待裁):連結 24 小時、重寄隔 60 秒、7 天沒確認就刪。實際能設到多少,要開發者先讀一次 Supabase 現在的設定再定
誰裁:負責人(宜芳可以先擬)
「Email 還沒確認就登入」和「確認連結過期」這兩種,要顯示一般說明+重寄按鈕,還是照
ADR-0121
只顯示固定格式的錯誤?
一般說明+重寄按鈕(業界做法)
照
ADR-0121
:發生錯誤+類型+錯誤碼,不寫原因
建議:
建議(待裁):這兩種是在告訴使用者「下一步要做什麼」,不是系統出錯,用一般說明+重寄按鈕。但
ADR-0121
決策一講的是錯誤一律固定格式,算不算例外要負責人說;沒說之前照舊規
誰裁:負責人
綁卡放在哪一步?沒綁成功能不能完成註冊?
確認 Email → 綁卡 → 才開機構;沒綁成功進不去
先開機構,綁卡之前功能鎖住
綁卡失敗也讓他進來,之後再補
建議:
建議(待裁):第一個。「沒綁成功就不能完成註冊」是本單本文的推論,負責人原話只有「註冊綁信用卡」
誰裁:負責人
誰決定什麼時候把 SIGNUP_OPEN 打開?
負責人每次親自核准
定一份前提清單,全部打勾後團隊可以自己開
建議:
開發者在
#257
回派留言裡建議:維持 false,直到藍新串接完成、並通過一次真的驗收;核准流程寫進 docs/runbook.md
誰裁:負責人
藍新的特店簽約、定期定額手續費率、Sandbox 測試金鑰,由誰去拿、什麼時候?
負責人推進商務簽約並申請測試金鑰
建議:
開發者在
#257
回派留言裡建議由負責人推進(合約與金鑰開發者不能代簽代申請)。拿到之前,真的綁卡與瀏覽器實測都做不了
誰裁:負責人
防濫用要不要做「一張卡只能綁一個帳號」(卡片去重)?
納入第一版的候選
不納入
建議:
開發者在
#257
回派留言裡建議納入候選,門檻值跟開放時機一起裁。10/02 的設計審查三個懷疑者都確認原本的候選清單漏了這一項,只靠速率限制或 CAPTCHA 擋不住同一張卡重複註冊
誰裁:負責人
除了綁卡,還要不要再疊其他防濫用手段?
速率限制(同一個 Email 網域或同一台裝置,一段時間內限量)
人機驗證(CAPTCHA)
手機號碼驗證
只靠綁卡+一卡一帳號
建議:
還沒有人給最終建議。設計審查提醒兩件事:手機驗證是原本 Free 賠錢試算的前提,不要沒裁就被綁卡取代;綁卡的入口本身也要限速,免得被拿去試盜刷的卡
誰裁:負責人
打開之前,要不要先把系統寄信從 Gmail 換成 Resend?
同意換 Resend
維持 Gmail
建議:
#214
開發者建議同意。現在 Gmail 每小時上限 60 封,一打開註冊,確認信會跟忘記密碼信共用這個額度。這題在
#214
回
誰裁:負責人
平台要不要有「停用整個機構」的入口、誰能按?「不新增平台全域管理角色」要不要變成正式裁決?
打開之前先做
先接受用 Supabase 後台手動處理
建議:
本單只把它列成待裁問題,不實作。「不新增平台全域管理角色」目前只是一份探索文件裡的候選限制,不是裁決
誰裁:負責人
打開之前,要不要等「機構成員停用/恢復」(
ADR-0081
、
#240
第二階段)做好?
等做好才打開
不用等
建議:
本單本文的看法:設計不用等,只有「真的打開」這最後一步可能要等
誰裁:負責人
Free 的 100 點什麼時候從「只監控」變成真的擋?
打開註冊之前就要擋
打開之後再接
建議:
#326
已定帳本先做監控、扣點等
#254
/
#260
/
#256
的數字都定了再開。如果打開註冊時還是只監控,「一直開 Free 帳號」這個洞就是開著的。這題跟
#243
一起裁
誰裁:負責人
怎麼驗收
13 項
前提:
沒有登入
操作:
打開正式站的登入頁
應該看到:
沒有「建立帳號」連結,只寫「帳號採邀請制——請聯絡機構管理者為你建立帳號。」
前提:
沒有登入
操作:
直接在網址列打開 /create_account
應該看到:
標題是「帳號採邀請制」,下面寫「目前不開放自行註冊。請聯絡你的機構管理者為你建立帳號,收到邀請後即可登入。」,沒有任何註冊欄位
前提:
用測試租戶裡有管理員權限的帳號登入正式站(farside_dev 測試帳號;不要用正式租戶)。不是管理員會看到「只有管理員可以開啟功能展示。」
操作:
管理台 →「功能展示」→ 打開「啟用帳務展示(Feature flag)」→ 按「載入範例」
應該看到:
「模擬綁卡」區只有一顆「模擬綁卡成功」按鈕,沒有卡號、到期日、驗證碼任何欄位;說明寫著不收卡號、不產生藍新代碼、不會建帳號
前提:
接上一步
操作:
按「模擬綁卡成功」,再試著按一次,最後重新整理頁面
應該看到:
第一次按完出現「已完成模擬綁卡;這不是供應商 token,也不能用來完成真實註冊。」,按鈕變灰按不下去;重新整理後展示自動關閉、假資料清空
前提:
(之後,等裁決與藍新測試帳號都到位)開發者已講好要在哪個環境測、註冊已在那裡打開,準備一個新的測試 Email
操作:
填註冊表單、按「註冊」
應該看到:
畫面換成「去信箱確認你的 Email」;幾分鐘內收到確認信
前提:
收到確認信但還沒點
操作:
直接去登入頁用這個帳號登入
應該看到:
登不進去,看到「還沒確認」的提示和「重寄確認信」按鈕;按重寄後收到新的信,冷卻時間內按鈕按不下去
前提:
一條已經過期、或已經點過的確認連結
操作:
點那條連結
應該看到:
顯示連結失效、沒有登入,畫面上可以重寄確認信
前提:
Email 已確認
操作:
第一次登入 → 按「前往藍新綁卡」→ 在藍新頁面用官方測試卡號完成綁卡
應該看到:
回到 Slate 進到首頁,機構已建立、方案 Free、本月 100 點;沒有任何扣款
前提:
Email 已確認
操作:
在藍新頁面按取消,或用會失敗的測試卡
應該看到:
回到綁卡頁,看到固定格式的錯誤和「再試一次」,進不了系統(前提:負責人裁定沒綁成功不能完成註冊)
前提:
負責人已裁定採用一卡一帳號
操作:
用同一張測試卡再註冊第二個帳號
應該看到:
第二個帳號在綁卡那一步被擋下,進不了系統
前提:
測試環境今天有人註冊過
操作:
負責人照本單寫的查法去查
應該看到:
查得到今天新開了幾個機構、各來自哪個 Email 網域
前提:
把 SIGNUP_OPEN 改回 false 並上線
操作:
打開註冊頁,或拿新的 Email 送出註冊
應該看到:
註冊頁回到「帳號採邀請制」,送出的註冊被拒絕
前提:
在 GitHub 上
操作:
打開
ADR-0038
(或新寫的 ADR)和 docs/runbook.md
應該看到:
有一份可以勾選的「開放自行註冊前提清單」,每一條標明已裁或待裁;runbook 寫清楚誰能核准打開 SIGNUP_OPEN
這張不做
平台層「停用整個機構」只列成待裁問題,本單不實作
Slate 不做能輸入卡號的表單:模擬期間只有一顆按鈕,真的綁卡在藍新的頁面上輸入
綁卡不扣款、不開收費——要等
#243
的收費開關由負責人打開
儲值、自動加值不做(要先問律師與會計師,
#261
)
監控第一版不做新畫面,先用正式站日誌
Farside 與 Slate 兩邊各自註冊過的同一個人要怎麼合併,本單只記下來、不處理
相關的單
#214
#240
#243
#248
#254
#256
#258
#261
#284
#287
#316
#326