建立家長帳戶時
平台會保存家長名稱、email、密碼雜湊、email 驗證狀態和基本安全紀錄。密碼不會以明文保存。註冊和登入流程亦會使用限流和安全紀錄保護帳戶。
建立小朋友資料時
平台會保存小朋友名稱、暱稱、年級和頭像設定,用於顯示練習入口、篩選合適詞表和整理學習紀錄。請使用最少必要資料,避免輸入真實學校、地址、電話或身份證資料。
小朋友練習時
每次練習會保存 session、出題順序、字詞快照、答案結果和完成狀態。這些資料會用來顯示歷史紀錄、近期趨勢、常錯字、到期抽查和掌握狀態。
播放發音時
平台會按家長選擇使用粵語或普通話發音,也會為英文詞語使用合適發音。需要朗讀的文字可能會傳送到 Azure Speech 產生音訊,生成後的 MP3 會保存到 Supabase Storage 作快取,並透過可播放的 Storage 物件網址提供播放,減少重複生成。這些網址尚未改成 signed/private URL。自訂詞語可能包含家長輸入的文字,因此請避免把姓名、學校、電話、地址、身份證號碼、醫療資料或其他敏感資料放入自訂詞表。
建立或分享自訂詞表時
家長建立的詞表和詞語會保存於帳戶下。分享功能會保存必要的分享狀態和匯入紀錄,但匯出和顯示時應盡量減少不必要的對方帳戶資料。
匯出資料時
家長可在「資料與私隱」下載 Excel 格式資料,內容集中於小朋友練習紀錄、掌握狀態和自訂詞表。匯出前需要重新輸入目前密碼,系統會限流並寫入不含匯出內容細節的審計紀錄。匯出檔案可能包含敏感小朋友資料,請不要用普通 email 傳送匯出檔案;只有在管理員明確要求並提供已批准的私人支援渠道時,才應分享。
永久刪除小朋友時
永久刪除指定小朋友需要目前密碼和小朋友名稱確認。系統會刪除該小朋友 profile、練習 session、答案和掌握狀態,但不會自動刪除家長帳戶、自訂詞表、分享紀錄、其他小朋友資料或按家長/詞表/詞語範圍建立的自訂發音快取。
永久刪除家長帳戶時
永久刪除整個家長帳戶需要目前密碼、完整 email 和 DELETE 確認。提交後帳戶會立即停用並登出,背景刪除流程會刪除或匿名化本帳戶持有的資料、分享紀錄、登入和驗證資料、相關安全紀錄和家長自訂發音快取。其他家長已匯入並擁有的詞表副本可能繼續保留,但不再保留與原帳戶的分享關聯。備份、provider logs、部分安全資料和審計/job 狀態會按各自保留規則處理。
主要處理服務
- Vercel:託管網站和執行 server-side 功能,會暫時處理提供功能所需的帳戶、練習、自訂內容、匯出和發音請求資料。
- PostgreSQL 資料庫:保存主要產品資料和安全紀錄。
- Supabase Storage:保存已生成的發音音訊快取。
- Resend:發送 email 驗證和密碼重設訊息,會處理收件 email、名稱、email 內容和短期有效的驗證或重設連結。
- Azure Speech:將需要朗讀的文字轉成音訊。
- 備份服務:保存資料庫備份作復原用途。
實際 production 地區和供應商保留期限仍需在正式邀請真實家庭前確認。
目前不收集的資料
本產品不需要身份證號碼、地址、電話、真實學校資料、醫療資料或官方學籍資料。請不要把這類資料輸入平台。
仍需確認的正式營運決策
- 實際 production 託管、資料庫、儲存、email 和語音服務地區。
- 正式支援聯絡渠道和完整匯出檔案的接收、保存、刪除流程。
- 自訂發音音訊快取是否需要改用 signed/private URL。
- 是否需要記錄私隱政策和服務條款的版本化同意。