隱私權政策
這是一份教學遊戲。它會存你打的字,因為老師要拿那些字帶課後討論。 下面把「存了什麼、誰看得到、留多久」逐項寫清楚,沒有罐頭條款, 也沒有那種「我們非常重視您的隱私」的開場白。
先講最重要的一件事
暱稱是自由輸入的,很多人會直接填真名。你填什麼,同班的老師就在後台看到什麼, 而且可以連同你的覆盤內容一起匯出成 CSV 帶走。 不想被認出來就填一個代號,遊戲照樣能玩,帳本也照算。
一、我們實際存了哪些東西
存進資料庫的只有下面這些。學生端不做 email 驗證、不要手機號碼、不接第三方登入, 所以也沒有這些資料可以外洩。
| 暱稱 | 你在進場那一頁自己打的,上限 30 個字。系統不會檢查它是不是真名, 也沒辦法檢查。同一個班級代碼配同一個暱稱視為同一個人, 這樣你關掉瀏覽器再回來,還找得到自己那本帳。 |
|---|---|
| 班級代碼 | 你有填才會存。沒填就是自由玩家,你的紀錄不會出現在任何一位老師的後台裡。 |
| 遊戲決策 | 每個月你選的開店定位、備料份數、人力配置、行銷方式,還有事件卡選了哪一個選項。 連同伺服器算出來的結果(需求、實際服務人次、報廢、收入、損益、現金餘額、瓶頸在哪) 一起存。這是遊戲本身要用的,不存就沒有帳本可看。 |
| 覆盤文字 | 結果頁最下面那四個自由填答欄位(三個覆盤問題加上「這週要做的一件事」)。這是全站唯一存放長篇自由文字的地方, 你寫多少就存多少,不截斷、不摘要、不會丟給任何 AI 服務處理。 |
| 老師帳號 | 只有註冊老師後台的人才有:email、顯示名稱、密碼。 密碼經過 scrypt 雜湊才寫進資料庫,我們自己也還原不出原始密碼。 |
| 稽核紀錄 | 只記一種動作:哪位老師在什麼時候把哪一個班的 CSV 下載走了。 因為那一步等於整班的暱稱與覆盤內容離開了系統,事後有爭議要查得到。 這筆紀錄裡有一個 IP 欄位,它取自 HTTP 標頭,發請求的人可以自己偽造, 所以我們只把它當線索,不拿來判斷身分,也不拿來封鎖任何人。 |
沒存的東西也講一下:學生端沒有 email、沒有手機、沒有學號、沒有真實姓名欄位、 沒有上傳檔案、沒有留言板、沒有聊天室、沒有位置資訊,遊戲紀錄裡也沒有 IP。
二、老師端看得到什麼、能匯出什麼
老師只看得到自己開的班。 班級代碼就是進場的鑰匙,你填了哪一組代碼,等於同意那個班的老師看到你這一場。
後台畫面上直接看得到
- 你的暱稱
- 結局(撐完、收店、還在進行中)
- 期末現金與撐過幾個月
- 你寫的「這週要做的一件事」全文
按下「下載 CSV」還會多帶走
- 起始現金與開場時間
- 三個覆盤問題的完整作答內容
CSV 一旦下載就在老師自己的電腦裡,我們管不到它之後被存到哪、傳給誰。 這是整份政策唯一控制不了的環節,直接講出來比較誠實。
老師看不到的東西:你用哪一台裝置玩、你的 IP、你的瀏覽紀錄, 以及你在別的班或以自由玩家身分玩過的其他場次。
三、GA4 與 Meta Pixel
我們用 Google Analytics 4 與 Meta Pixel 看這份教材哪一段被跳過、哪一段讓人卡住。 送出去的是行為事件,不是你打的內容。
會送出去的事件
- 瀏覽行為:看了哪一頁(page_view)、 捲到 25% 50% 75% 100%(scroll_depth)、點了往站外的連結(outbound_click)。
- 遊戲進度:進場(join_class)、開一場新的(run_start)、 抽到哪張事件卡(event_shown)、事件選了哪個選項(event_choice)、 結算完一個月(month_settled,帶當月的四個決策與損益、現金餘額、瓶頸種類), 以及一場結束(run_finished,帶撐完還是收店、撐過幾個月、期末現金)。 這些全部是選項代號與金額,不是你打的字。
- 後續動作:存了覆盤(reflection_saved, 只送有沒有填、填了幾題)、點開建議區(advice_opened)、按了分享(share_click)、 老師註冊或登入、老師開了一個新班。
這些不會被送出去
暱稱、覆盤的任何一個字(reflection_saved 只送你填了幾題、有沒有寫行動承諾, 內容一個字都不送)、老師的 email 與密碼。
但是班級代碼會跟著 join_class 事件一起送出去。它本身只是一組隨機英數字,不含班級名稱與學校名稱, 不過它確實能讓同一個班的流量被分在一起看。介意的話,進場時把班級代碼留空就不會送。
Consent Mode 怎麼運作
第一次進站,畫面下方會出現一條同意橫幅。在你按下之前:
- GA4 走 Google Consent Mode v2 的預設狀態,
ad_storage、analytics_storage、ad_user_data、ad_personalization四項全部是 denied,不會寫入分析用的 Cookie。 - Meta Pixel 的程式碼根本不會被載入。 不是載進來再靜音,是你按了同意,那支 script 才被插進頁面。
- 這段期間發生的事件先排在瀏覽器記憶體裡(最多 50 筆)。 你按「接受」才一次補送,按「只要必要的」就整批丟掉,一筆都不會出去。
按了「只要必要的」之後,遊戲的所有功能照常運作。這個網站沒有任何一項功能需要追蹤才能用。
四、Cookie 與瀏覽器裡存的東西
| cw_session | 必要 Cookie,沒有它就沒辦法玩。裡面是一組簽章過的 token, 內容是你的玩家編號、暱稱、班級代碼(老師則是老師編號與 email)。 設了 httpOnly,網頁上的 JavaScript 讀不到它,有效期 30 天。 |
|---|---|
| cw_consent | 存在瀏覽器的 localStorage,不是 Cookie,值只有 granted 或 denied 兩種。 它只留在這台裝置的這個瀏覽器裡。換裝置、換瀏覽器、或清掉網站資料, 橫幅會再問你一次。 |
| GA4 與 Meta 的 Cookie | 你按下「接受」之後才會出現,由 Google 與 Meta 自己寫入與管理。 想撤回同意,清掉本站的瀏覽器資料就會回到未決定狀態,橫幅會重新出現。 |
五、資料放在哪裡、誰碰得到
遊戲紀錄存在 Zeabur 代管的 PostgreSQL 資料庫。瀏覽器沒有資料庫連線, 所有讀寫都得經過這個網站的 API,金額也全部在伺服器算完才落地, 所以改前端的數字對帳本沒有用。
會接觸到資料的第三方只有三個:Zeabur(主機與資料庫)、Google(GA4)、Meta(Pixel)。 後面兩個只有在你同意之後才收得到東西,而且它們的伺服器不在台灣,所以同意追蹤等於同意這部分資料被傳到境外處理。 我們沒有把資料賣給任何人,也沒有跟任何廣告聯播網交換名單。
六、留多久、怎麼刪掉
誠實版本
目前沒有自動刪除的排程。 你玩過的紀錄跟寫過的覆盤會一直留在資料庫裡,直到有人來要求刪除。 寫「保存兩年後自動銷毀」比較好看,但我們現在沒有那支排程,所以不寫。
- 老師關掉班級:班級被刪除時, 該班學員紀錄上的班級代碼會被清空,那些場次不再出現在任何後台, 但遊戲紀錄與覆盤內容本身還在資料庫裡。
- 你要求刪除:寄信到下面那個信箱, 附上班級代碼與你當時填的暱稱,我們會把那個暱稱底下的玩家、所有場次、 所有覆盤內容整串刪掉。刪掉就沒了,救不回來,也不會留備份。
- 已經被匯出的 CSV:在老師的電腦裡,我們刪不到。 要一併處理的話,直接跟你的授課老師講。
- 稽核紀錄:不會跟著刪。 它只有「哪位老師哪一天下載了哪一班」,不含你的暱稱或內容, 而且它存在的意義就是要活得比帳號久。
七、你的權利
依台灣個人資料保護法第 3 條,你隨時可以要求查詢、閱覽、製給複製本、補充、更正你的資料, 也可以要求停止蒐集處理利用,或直接要求刪除。我們不會因為你行使這些權利就不讓你玩。
本站的蒐集目的只有一個:課堂教學與教材改進。 利用期間到你要求刪除為止,利用地區為台灣(同意追蹤的那部分會到境外), 利用對象是開課老師與本站維運者,利用方式是後台檢視與 CSV 匯出。
如果你人在歐洲經濟區或英國,GDPR 給你的權利一樣適用:存取、更正、刪除、限制處理、 可攜、反對,以及隨時撤回同意(撤回不影響撤回之前已經完成的處理)。 我們處理遊戲紀錄的法律依據是履行你要求的服務,處理追蹤事件的法律依據是你的同意。 對我們的處理方式有意見,你可以向當地的資料保護主管機關申訴。
八、未成年使用者
這份教材設計給大學生與剛創業的成年人。 未滿 18 歲的使用者,請在師長或家長知情的情況下使用,暱稱也更建議填代號而不是真名。 如果你發現未滿 13 歲的孩子在沒有大人陪同的情況下留下了資料,寫信告訴我們,我們會刪掉。
九、政策更動與聯絡方式
這份政策改了,頁首的更新日期就會跟著換。 如果改到的是「多蒐集了什麼」這種等級的變動,同意橫幅會重新跳出來再問一次。
要刪資料、要查資料、或想問清楚,寄到這裡
(待填:聯絡信箱)
信裡請附上班級代碼與暱稱,不然我們找不到是哪一筆。
這份政策講的是這個網站本身。你的授課老師怎麼保管下載回去的 CSV, 是他跟你之間的事,不在這份政策的範圍內。