生效日期:2026-09-29
提供者:BC駕照筆試 —— 一名在加拿大 BC 省的個人開發者
隱私負責人 / 聯絡方式:BC駕照筆試隱私負責人 · support@vozai.com
寫信到上面這個信箱,可以索取開發者的完整註冊資料(法定姓名與通訊地址)。
BC駕照筆試幫你準備 BC 省 Class 5、7 或 7L 駕照的筆試。這份政策說明:什麼東西會離開你的裝置、為什麼、去了哪裡、保留多久。它描述的是已發布的這一版 App,也適用於我們的網站 bcclass.vozai.com(見第五節之三);我們改了收集的內容,就會修改這一頁。
我們一條一條列出來,而不是寫一句「我們什麼都不收集」 —— 那句話比較好寫,也比較難做到。
我們確實會收到的東西寫在下面各節。App 送出的這些東西,沒有一樣和姓名、帳戶或裝置識別碼連結,只有一個例外:第三節之一說的購買編號,它是 RevenueCat 為這一次安裝產生的一串隨機字元。在 Android 上,App 每次查詢購買狀態都會把它傳給 RevenueCat;只有你在 App 內買過東西,它才會傳到我們的伺服器。在網站上買兌換碼不一樣,見第五節之三。
App 要和我們的伺服器連線,為的是下載題庫包,以及確認某個包是否已解鎖。每一次這樣的請求都會帶上兩樣東西:
在 Android 上,App 每次啟動時會連線到 RevenueCat,查詢你有沒有購買過;你購買或回復購買時,會連線到 Google Play 和 RevenueCat。見第三節之一。
App 檢查更新或下載內容包時,會送出它要哪個包、什麼版本,外加一樣權益證明:一個兌換碼在你兌換時簽發的簽章憑證;或者,如果你是在 App 內購買的,你的購買編號(第三節之一),我們的伺服器用它向 RevenueCat 查詢你有沒有有效的購買。
兌換碼的憑證我們不儲存。 購買編號:RevenueCat 確認你有有效購買之後,我們的伺服器在記憶體裡記住這個結果,最多 2 分鐘,免得同一分鐘裡每個請求都要再問一次 RevenueCat。它不寫入磁碟,也不進資料庫。 查詢失敗時,錯誤記錄裡只記它的前 6 個字元,這份記錄 14 天後刪除。
兌換一個兌換碼,只送出兩樣東西:兌換碼本身,和一個一次性的重試識別碼(免得你不小心按兩下就用掉兩個兌換碼)。除此之外什麼都沒有 —— 沒有裝置識別碼,沒有任何關於你裝置的資訊。
兌換流程一結束,App 就刪除那個重試識別碼。這是刻意的:一個在一次兌換之後還留著、下次又出現的識別碼,就成了認出你這台裝置的方法 —— 而那正是這個 App 在設計上就不做的事。
我們會保留一份兌換記錄表,記錄哪些兌換碼發出去過、每個兌換碼什麼時候被兌換。記錄表記的是兌換碼,不是使用兌換碼的人。
你覺得某道題、某個答案或某處翻譯不對,可以回報給我們。你不按提交,什麼都不會送出。
一則回報裡只有:
一則回報裡從頭到尾沒有任何輸入框。 你無法在裡面打字,這也表示你不可能不小心把姓名、電子郵件地址或任何關於你自己的東西填進去。伺服器也會拒收任何帶有它不認得的欄位的回報。
較新版本的 App 還會附上三樣,用來排查問題:App 版本號、手機型號(iPhone 上像 iPhone15,3,Android 上像 Pixel 7)、系統版本。是型號,不是裝置名稱 —— 型號是廠商定的,同一款機器的人共用一個;裝置名稱是你自己在設定裡取的那個名字(常常帶著機主的名字),我們不讀取它。 寫「較新版本」是因為這三樣是後來才加的:已經裝在手機上的舊版本一樣都不送,而我們收到什麼就是什麼,不會去補。
這三樣都是低基數的 —— 同一個型號有幾十萬人在用,它們拼不出一個能把兩則回報連起來的識別碼,這也是它們可以放進第五節、而自由文字不行的原因。
儲存下來的那則回報裡不含任何識別碼 —— 沒有 app key、沒有 IP、沒有任何關於你裝置的東西。(說「儲存下來的那則」是有必要的:第二節說過每一次請求都帶 app key,那是在請求標頭裡;它不會跟著回報一起被儲存。)伺服器只另外加上兩樣:它自己的時鐘讀數,和一個它自己產生的隨機編號。
關於 IP 再說得準確一點,因為「我們收不到」這句話說過頭了:提交回報本身就是一次普通的網路請求,所以 我們的伺服器在處理它的時候看得到你的 IP,它也會像其他請求一樣寫進存取記錄(見第二節),按第九節的期限保留然後刪除。不會發生的是「兩者存在一起」 —— 沒有任何東西把一則回報和送來它的那次請求連起來。
一則回報可以另外附上幾筆「最近哪次內容更新失敗了」的技術細節,幫我們找出原因。
在哪裡查看、在哪裡清除,是同一個地方:它們只存在於回報那個畫面 —— 展開那一節就能讀,輕觸「清除這些記錄」就能刪除。設定頁裡沒有單獨的開關,因為這些項目存在的唯一理由就是附在一則回報上。
設定頁的「聯絡我們」裡有一個意見回饋表單。這是這個 App 裡唯一一處你能自由打字、而那些字會傳到我們伺服器的地方。 它和第五節的問題回報是兩條不同的管道,收的東西也不同。
你不按傳送,什麼都不會送出。
一則意見回饋裡有:
0.1.0)。沒有任何能把兩則意見回饋連起來的東西 —— 沒有帳戶、沒有裝置識別碼、沒有編號。兩則意見回饋就算是同一個人送的,在我們這裡也是兩筆互不相干的記錄。不過,你的 IP 會出現在伺服器的存取記錄裡(第九節),那份記錄最多保留 14 天,和意見回饋內容分開儲存,也不會被合併在一起。
我們不知道你會寫什麼,所以也無法承諾裡面沒有關於你的東西。如果你寫了姓名、電話或電子郵件地址,那些字就會跟著傳過來 —— 表單上會提醒你別這麼做,但那是提醒,不是保證。
所以這些文字保留 365 天,到期刪除,不是長期保留(理由見第十一節)。
意見回饋裡沒有你的聯絡方式,所以我們沒辦法回覆你。 我們會看,但你不會收到回音。想要回覆,請直接寄電子郵件到下面那個地址 —— 那是一條你能控制的、雙向的管道。
這一節說的是我們的網站 bcclass.vozai.com,包括首頁和這幾份法律頁面。
瀏覽網站
在網站上買兌換碼
這一條的終點根本不是我們,之所以要寫,是因為它太容易被忽略。
你的學習資料存在裝置上的一個檔案裡,而那個檔案會進入你裝置的一般備份(iOS 是 iCloud,Android 是你的 Google 帳戶)。你備份裝置再還原到新手機,下面這些會跟著過去:
install failed: signature),而且永遠不會傳給我們:它們存在的意義是讓你、或者幫你排查的人,看得到 App 做了什麼。它們不是第五節之一裡的那些診斷資訊 —— 那是另一樣東西,範圍窄得多。這些備份由 Apple 或 Google 保管,適用他們的隱私權政策,不是我們的。我們讀不到它們。
這兩份記錄在 App 的設定頁裡看得到,也能在那裡輕觸「清除本機記錄」刪除。「清除」和「收起」是兩個動作,這是刻意的:把診斷畫面收起來不會刪除任何東西,資料還在那個檔案裡,也還會進入你的備份,直到你明確去清除它。刪除 App 會把它連同其他所有東西一起刪掉。
這個按鈕和第五節之一那個不是同一個。 那個清除的是「一則回報會附上的那些項目」,這個清除的是本節說的這份記錄。兩個按鈕各自寫明了自己清除的是哪一份,而且互不影響。
App 當機時會傳一份當機報告給我們,讓我們去修。我們用的是 Sentry。
那份報告描述的是「軟體出錯的那一刻在做什麼」。我們把它設定成不把你帶進去:
我們確實保留兩樣:你的手機型號(iPhone 上像 iPhone15,3,Android 上像 Pixel 7)和系統版本。不含裝置名稱 —— 那一欄常常帶著機主的名字。保留這兩樣是因為有些錯誤只在某些螢幕尺寸或某個系統版本上出現,一份分不出機型的當機報告,正好在最需要它的時候派不上用場。
Sentry 代我們把這些報告存放在美國。
我們人在加拿大 BC 省。你的資料不在。
| 什麼 | 存放在哪裡 |
|---|---|
| 我們的伺服器(內容下載、權益驗證) | 美國 —— 阿里雲 us-west-1 |
| 網站(第五節之三) | 美國 —— 頁面放在上面那台伺服器上;瀏覽時先經過 Cloudflare 轉送 |
| 兌換記錄表與問題回報 | 美國 —— Cloudflare D1,主要副本在洛杉磯 |
| 當機報告 | 美國 —— Sentry |
| App 內購買的記錄(第三節之一) | 美國 —— RevenueCat(存放在 AWS) |
也就是說,上面各節裡離開你裝置的東西,都會被傳到美國並在那裡處理,因此適用美國法律 —— 包括當地執法機關依法調取的可能。你繼續使用這個 App,就表示你瞭解這一點。第五節之三裡你交給 PayPal 的付款資料、你在 Google Play 付款時交給 Google 的付款資料、你寄到 support@vozai.com 的電子郵件,由 PayPal、Google 和電子郵件服務商各自處理,不在這一段說的範圍內。
加拿大《個人資訊保護及電子文件法》(PIPEDA)要求我們,在個人資訊被送到境外處理時告訴你。上面那一段就是這個告知 —— 它是法律要求的揭露,不是我們為了保險加上去的免責說法。
給會來核對我們的人留一句:我們那台伺服器的系統時區設的是溫哥華時間。那說明不了機器在哪裡。 位置是從執行個體自己的區域中繼資料讀回來的,不是從時區推出來的。
| 什麼 | 保留多久 |
|---|---|
| 網頁伺服器存取記錄,裡面有 IP | 不超過 14 天 |
| 我們自己應用程式的記錄,裡面同樣記錄 IP,還有請求方法、路徑、狀態碼和耗時 | 14 天 |
| 兌換記錄表 —— 哪些兌換碼發出去過、每個什麼時候被用掉 | 長期保留。兌換碼會被標成「已使用」或「已撤銷」,那一筆永遠不刪除 |
| 問題回報(第五節),以及你選擇附上的診斷資訊 | 長期保存,讓我們以後能修改那道題、能回頭查那次故障 |
| 意見回饋裡的自由文字(第五節之二) | 保留 365 天,到期刪除。和上一列不同:那裡你能打字,理由見第十一節 |
| RevenueCat 確認有效購買之後,購買編號在我們伺服器記憶體裡的快取 | 最多 2 分鐘 |
| RevenueCat 那邊的購買記錄(第三節之一) | 在我們和 RevenueCat 的合約有效期間一直保留;你可以要求我們刪除 |
這份名單我們刻意保持簡短。 下面各家都代我們處理資料,適用各自的隱私權政策;PayPal 和 Google Play 除外,它們按自己的隱私權政策處理付款資料:
這份名單裡沒有廣告聯播網,也沒有分析服務商,因為這個 App 兩樣都不用。
我們寧願把這句話直說,也不願承諾一件做不到的事。
儲存下來的一則問題回報裡不含任何識別碼 —— 沒有 app key、沒有你的 IP、沒有任何關於你裝置的東西。所以我們沒有辦法找出某個人提交過哪些回報,你也沒有辦法向我們證明哪幾則是你的。這是「我們不收集識別碼」這件事的後果,不是它的例外。
我們認真考慮過:給每則回報一個編號,讓你那一份 App 記住它,你之後把編號告訴我們。最後沒有這麼做 —— 一台裝置只記得住它還留著的東西,重新安裝 App 或者換手機,那些編號就沒了,而回報還在。那樣我們就寫出了一句讀起來像刪除權、實際上不是刪除權的話。
問題回報裡沒有自由文字、沒有任何識別碼(第五節),這正是我們認為長期保留它們說得過去的原因。
意見回饋(第五節之二)不一樣,所以它的保留期限也不一樣。 那裡你能打字,而能打字就表示可能寫進關於你自己的東西 —— 我們無法替你保證你不會。所以那些文字只保留 365 天,到期刪除,不是長期保留。判斷標準是同一條:能長期保留的,是那些從結構上就裝不下你個人資料的東西。
BC駕照筆試不以 13 歲以下兒童為對象,我們也不會在明知的情況下收集他們的資料。這個 App 沒有帳戶可註冊,也不向你要任何個人資料,所以一個孩子在 App 裡沒有東西可交出來;第二節到第七節(包括第三節之一)寫清楚了會離開裝置的全部東西,不管拿著裝置的是誰。在網站上買兌換碼要經過 PayPal 付款,會交出付款用的電子郵件地址,見第五節之三。在 App 內購買要用 Google 帳戶。家長在 Google Family Link 裡開啟購買核准時,終身解鎖要經過家長核准;每週和每月方案是自動續訂的訂閱,不在 Google 購買核准的範圍內。
這個 App 幫你準備的那場筆試,在 BC 省的最低年齡是 16 歲。App 本身不驗證任何人的年齡。
如果你認為有孩子透過問題回報功能傳過什麼給我們,請寫信到 support@vozai.com。 如第十一節所說,回報不帶任何識別碼,所以我們會需要你提供足夠的細節,才找得到那一則。
我們改了「什麼東西會離開你的裝置」,就會更新這一頁並改掉頂端的生效日期。實質變更也會寫進 App 的更新說明裡。
關於這份政策,或者上面任何一條:support@vozai.com。