Aiyori 保管的,是孩子的學習紀錄。
我們如何保護它,會寫出想法與機制的要點。可能被人利用的細部設定,刻意不寫。沒做到的事,也不會寫成已經做到。
基本原則
- 減少蒐集的資訊。學生不需要電子郵件地址就能使用。出生日期只保管「年與月」。
- 限縮可查看的人。能查看學生資訊的,只有本人、其家長、教室的老師。
- 不永久保存。照片、影片、語音等檔案,365 天後自動刪除。
- 不用於廣告與追蹤。App 和 Web 都沒有放入用於分析或廣告的元件。
登入
- 老師、家長
- 以寄到電子郵件地址的 6 位數驗證碼登入。因為不設密碼,不會發生因重複使用或外洩而遭盜用的情況。
驗證碼在短時間內失效。發出新的驗證碼後,舊的就無法使用。 - 學生
- 以教室代碼、ID、密碼這 3 項登入。密碼會轉換成無法還原的形式後儲存。營運方和老師都無法讀取密碼。
- 防範暴力破解
- 連續輸入錯誤時,會在一定時間內停止登入。驗證碼的發送次數也有上限。
無論是教室、ID 還是密碼有誤,回覆的訊息都相同,不提供線索。 - 不透露是否已註冊
- 畫面的顯示,不會因電子郵件地址是否已註冊而改變。
- 驗證碼的儲存
- 驗證碼、邀請碼,只儲存轉換後無法還原的值。即使查看資料庫,也無法得知原本的代碼。
登入後的狀態
- 登入的有效期限
- 登入狀態會在較短的間隔內重新確認。長時間不使用,會自動失效。
- 防範盜用
- 若登入資訊有遭盜用的跡象,會讓該裝置的登入全部失效。
- 畫面鎖定
- 老師、家長的畫面,可用 Face ID、Touch ID、裝置密碼保護(預設開啟)。
- 防止偽冒傳送
- 進行寫入操作時,會確認傳送來源是 Aiyori 自己的畫面(CSRF 防護)。
各教室的隔離
由於許多教室共用同一套系統,我們最重視的,就是教室之間的資料不會混在一起。
- 機制
- 依教室分隔資料的機制,放在程式的底層。不依賴每個畫面或功能的寫法,就碰不到其他教室的資料。
- 從其他教室看來
- 即使指定其他教室的學生或作業,回覆也與「不存在」相同。連有沒有都無從得知。
- 確認方式
- 每次修改程式時,都會執行自動測試,確認跨教室無法看到資料。
誰能看到什麼
| 身分 | 可查看的內容 | 不能做的事 |
|---|---|---|
| 學生 | 發給自己的作業、自己的繳交內容與分數,以及與老師的對話 | 查看其他學生的資訊(老師公開的單字卡暱稱與用時除外)。沒有任何與金錢相關的畫面。 |
| 家長 | 以邀請碼連結的孩子的作業、繳交內容、分數、學習紀錄,以及與老師的對話 | 在對話中留言。查看其他孩子的資訊。 |
| 教室的老師 | 自己教室裡,學生的作業、繳交內容、對話與學費 | 查看其他教室的資訊。 |
| 追加的老師 | 與教室的老師相同 | 教室設定、關閉教室、邀請老師、付款管理。 |
加密
- 通訊
- 裝置與 Aiyori 之間,全部以 HTTPS(TLS)加密。與資料庫的通訊、與檔案存放位置的通訊也都加密,不接受未加密的連線。
- 儲存
- 資料庫與檔案存放位置,皆以整體加密的方式儲存。採用廣泛使用的高強度加密方式。
- 姓名、電子郵件地址
- 除了存放位置的整體加密之外,姓名、電子郵件地址等資料,會在應用程式中逐筆加密後才儲存。只看資料庫也無法讀取。
檔案與影片
- 傳送與接收方式
- 照片、PDF、語音、影片的傳輸,使用只有本人能用、設有期限的通道。通道在短時間內失效。
- 每次開啟都確認
- 每次開啟檔案時,都會確認此人現在是否可以查看。
- 存放位置
- 設定為無法從外部直接查看。沒有公開的 URL。
- 接受的內容
- 只接受指定格式與大小的檔案。收到之後,伺服器還會再次檢查。
- 課程影片
- 每次播放時,都會確認此人是否可以觀看該影片。沒有許可,就無法取得影片本體。
- 授課影片只在 Aiyori 中
- 老師上傳的影片不經過外部影片網站發布。不會出現廣告,也不會出現推薦影片。只有在老師派發 YouTube 影片時,才以不使用 Cookie 的設定嵌入 YouTube 的播放框。
保存期間與刪除
- 365 天後刪除
- 照片、影片、語音、PDF 等檔案,會在上傳後 365 天自動刪除。超過期限的檔案,即使在刪除處理執行之前,也無法開啟。
- 保留的內容
- 分數、評語、題目的答案、文字訊息。老師設為「作為教材保留」的課程影片。
- 退出時
- 30 天後,刪除繳交內容、對話、學習紀錄、姓名。
- 關閉教室時
- 所有學生都會退出,30 天後連同教室一併刪除。
- 自行刪除
- 老師和家長,可在以寄到電子郵件的驗證碼確認後,刪除自己的帳號。
保護孩子的機制
- 家長同意
- 未滿 16 歲的學生,在家長同意之前,無法繳交照片、影片、語音,也無法與老師一對一對話。同意會留下紀錄,之後可在 Web 撤回。
- 對話對家長可見
- 家長可以閱讀孩子與老師的所有對話。也可以停止對話。
- 學生之間不連結
- 沒有學生聯絡其他學生的功能。
- 前往外部時
- 其他網站的連結,開啟前會先顯示目的地供確認。對未滿 13 歲的孩子,會提示「請和家裡的大人一起開啟」。
- 直播課的連結
- 只接受 Zoom、Google Meet、Microsoft Teams、Whereby 的連結。
- 反映問題
- 有困難、不舒服的事,可以從畫面上告訴營運方。反映的內容,不會傳給老師。
- 不顯示金錢相關內容
- 學生的畫面上,不會出現帳單或付款。
- 推播通知的內文
- 為了讓人看出是哪個孩子的什麼事,推播通知中會包含孩子的顯示名稱與作業標題。訊息內文、分數、老師的評語、學費金額,不會包含在內。家長與老師可在設定中改為不顯示名稱與標題。催繳學費的通知中,不包含名稱。
廣告與追蹤
- 不顯示廣告。不販售資料。(老師派發的 YouTube 影片中,YouTube 可能會加入廣告)
- 用於使用分析或廣告的外部元件(SDK、標籤),Web 和 iPhone 與 iPad App 都沒有放入。iPhone 與 iPad App 只用 Apple 的標準功能製作。
- 傳送給外部公司的資訊,只有用來寄送電子郵件的電子郵件地址(Amazon Web Services),以及用來產生單字卡朗讀語音的單字文字(Google)。單字文字中,不含學生的資訊。老師匯入 Google 表單時,由老師的瀏覽器直接從 Google 讀取表單。Google 帳號的資訊和表單的回覆,都不會傳到 Aiyori。
紀錄與監控
- 操作紀錄
- 批改、發還、學生的登記、暫停、退出、密碼的重新發給、家長的同意、入帳的紀錄等,都會記錄「誰、何時、做了什麼」。紀錄只能新增,不會改寫。
- 營運方的操作
- 營運方對教室或資料進行的操作,也會附上理由,留在同一份紀錄中。
- 日誌
- 運作日誌中,不寫入內文、電子郵件地址、驗證碼。
- 監控
- 持續監控系統的狀態,有異常時通知營運方。
- 備份
- 資料庫每天自動備份,並保留一定期間。並設定為無法誤刪。
運作的地點
- 資料所在地
- 日本(Amazon Web Services 東京區域)。
- 資料庫
- 放在無法從網際網路直接連線的位置,只有 Aiyori 的程式可以連線。
- 程式
- 只賦予必要的權限來執行。不以管理員權限執行。
- 更新
- 新版本若有問題,會自動回復到前一個版本。
- 每次變更時的檢查
- 每次修改程式時,都會執行型別檢查與自動測試(包含教室的隔離、同意、刪除)。
付款資訊
- Aiyori 不儲存卡號。也沒有儲存卡號的地方。
- 信用卡付款時,卡片資訊由支付公司(Stripe)直接保管,學費直接進入老師的帳戶。營運方不會代管學費。
萬一發生狀況時
- 資訊外洩,或有外洩之虞時的處理程序,我們已事先訂定。
- 阻斷原因,並在 24 小時內通知受影響教室的老師。
- 依法向日本的個人資料保護委員會報告,並通知當事人與家長。
