資料保護(匿名化、加密)的思維

資料保護 匿名化 加密 隱私
本文的對象
適用於在自家保管、處理從 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
標籤
API (22) OAuth (15) Android (10) iOS (9) Webhook (8) api (7) oauth (5) POS串接 (4) getting-started (4) 參考 (4)