我在前兩篇文章裏分享了Global Ready的app時會遇到的不同挑戰。這篇我繼續分享在合規性方面的挑戰。
說到合規性compliance,不得不說GDPR標準,當我們發佈了一個teams app後,微軟會要求開發人員做一個security self assessment,這個assessment大約有100個問題,其中有10多個問題都是針對GDPR的。
實際上,說白了GDPR的要求也不復雜,但是實現起來肯定讓各位程序猿/程序媛多掉頭髮。
它的要求是:
- Right to be informed
- Right to restrict processing
- Right to rectification
- Right of access
- Right to data portability
- Right to object
- Rights in relation to automated decision making and profiling
- Right to erasure/to be forgotten
你軟件系統使用的任何用戶數據,需要告知用戶你是怎麼用的,你不能把數據在用戶不知情的情況下給第三方。當用戶想要查看他的數據,你係統要提供,當用戶需要導出他自己的數據,你需要能導出,當用戶需要刪除他自己的數據,你需要能徹底刪除,包括你的所有歷史數據和備份數據。這點實際上很要命,如果你把一些備份數據放在一些硬盤上,然後把硬盤放在倉庫裏。刪個數據就是要命的事情了。但是如果你希望你的軟件能進入歐洲市場,GDPR是必須跨過的門檻
讓我們來看一下我們強大的Office365符合了哪些compliance:
https://www.microsoft.com/en-us/TrustCenter/Compliance/complianceofferings
可以看到,不愧爲擁有10幾億用戶羣的Office365,不單是滿足全球各類嚴格的標準,各類地區的標準也都滿足。我們要知道,完成一個功能的工作量,和這個功能能滿足這些compliance的是有巨大的差別。
聽我講了這麼就,他們覺得做一款全球性的app是非常有挑戰的。我再給大家一個挑戰:有些規定是有相互矛盾的地方的。 比如剛纔講的GDPR,和澳大利亞的2018通過的這個Assistance and Access Act,就是矛盾的。
https://iapp.org/news/a/australias-anti-encryption-collision-with-gdpr-sub-processing/
GDPR要求數據加密,並且不能提供給任何第三方。但是澳洲的這項法規要求軟件需要留有後門,當政府要求的時候,公司需要向政府提供解密後的數據。
所以,你的軟件系統如何做?滿足哪一個?這個時候你必須要對於不同的地區有不同的數據安全策略。
有這麼幾點最佳實踐分享給大家:
- 只獲取你所需要的數據,獲取你真正需要的數據
- 處理完數據後,只保存你需要的數據,保存的越多,你的責任就越大
- 及時刪除你不需要的數據,比如一些運行日誌數據,一般一個月後就沒有太多意義了。
- 儘量讓用戶自己可以控制自己的數據,如果用戶希望刪除自己的數據,就應該讓他們刪除。
- 把你如何使用用戶的數據,保存了哪些數據,都列在你的使用條款裏,這樣可以避免很多法律責任
- 數據儘量存儲在用戶的本國,很多國家對數據離境有很多額外的條款要求
如果大家對Teams app開發感興趣,強烈推薦中國微軟的牛人Ares陳老師最近出了一套的Teams開發系列視頻講座:Microsoft Teams開發入門和實踐 https://aka.ms/teamsdev163study ,從入門到精通Teams開發,對於準備從事或者正在從事Teams app開發的同學來說,必看!