資料保護(匿名化、加密)的思維
資料保護
匿名化
加密
隱私
本文的對象
適用於在自家保管、處理從 ReceiptRoller 取得資料的開發者、運用負責人。
適用於在自家保管、處理從 ReceiptRoller 取得資料的開發者、運用負責人。
從 ReceiptRoller 取得的資料中,包含店鋪的營業額資訊或消費者的購買歷史等機敏資訊。並非「因為 ReceiptRoller 端有加密所以安心」,在接收後的自家環境中也要適當保護,是串接應用程式開發者的責任。
3 層的保護
| 層 | 對策 |
|---|---|
| 通信 | TLS 1.2 以上、HTTPS 強制、HSTS |
| 保管 | DB 加密(AES-256)、磁碟加密、備份也加密 |
| 處理 | 存取控制、日誌遮罩、最小權限 |
取得資料的最小化
只取得必要的資料。並非因為 receipt.* 全部取得得到,就需要保存所有項目。例如若為彙總用途,可判斷只保存金額、日期時間、店鋪ID,明細若不需要則捨棄。
匿名化、假名化的技巧
假名化(pseudonymization)
將顧客ID在自家內置換為另一 ID 保管。與原 ID 的對應表分開管理,讓分析環境看不到原 ID。
// ReceiptRoller 的 cus_xxx → 自家的 internal_user_yyy // 對應表以另一 DB、另一存取權限管理
雜湊化
電子郵件位址或電話號碼等,用於比對但不需要持有明文的資訊,以 SHA-256 等雜湊化後保管。
差分隱私
若只需輸出彙總值,加入雜訊使個人無法特定。適用於學術、大規模資料。
加密的區分使用
| 用途 | 手法 |
|---|---|
| DB 整體 | TDE(Transparent Data Encryption) |
| 特定欄(電子郵件等) | 應用程式層 AES-256-GCM |
| 備份 | 雲端儲存的 SSE-KMS |
| 傳送檔案 | PGP / age |
金鑰以密鑰管理服務分開管理。不要放在與程式碼相同的儲存庫。
日誌的遮罩
為避免個人資訊混入運用日誌、錯誤日誌,在輸出時加入遮罩處理。
// 電子郵件的遮罩 "user@example.com" → "u***@example.com" // ID 的部分遮罩 "cus_abc123def456" → "cus_abc***456"
刪除政策
- 用途結束後刪除:分析已結束的彙總資料、已退會使用者
- 刪除委託的因應:30 天內物理刪除(備份另外訂政策)
- 自動 TTL:於 DB 記錄設定有效期限,過期後自動刪除
- 稽核:保留刪除日誌,記錄刪除完成
相關指南
發布日: 2026-04-27
更新日: 2026-07-06