对开发者来说,欧盟《GDPR》是一个令人头疼的问题。因为它并没有明确告诉开发者群体,需要怎么做才能保持应用程序合规。幸运的是,法国 CNIL 为此发布了一个详细指南。

摄图网_300893467_wx_隐私数据保护GDPR等距图标集与孤立图像电子设备矢量插图的三维象形图(企业商用)_wps图片.jpg

CNIL,全称 Commission Nationale de l’Informatique et des Libertés,即法国国家信息与自由委员会。它是一个独立的行政机构,依据 2004 年 8 月修订的 1978 年《法国数据保护法》行使其职能。法国政府在 20 世纪 70 年代设立了一个 CNIL。作为一个独立的监察机构,CNIL 负责就具体措施提出建议,以保证任何信息技术的发展都将继续尊重个人隐私、个人权利和公共自由。

此后,该机构一直紧跟最新的行业发展,并与欧洲和国际同行密切合作,分析新技术对公民私人生活的影响。

相比 GDPR 指南,它的解决方案更具技术性,面向软件开发者而非更广泛的公众群体。

那么,这个指南包含哪些内容?

具体说来,它包含 16 个主题文件,涵盖了开发者项目中每个阶段的大部分需求,从项目准备到受众评估:

  • 按照 GDPR 开发

  • 识别个人数据

  • 开发准备

  • 保护开发环境

  • 管理源代码

  • 选择合适的架构

  • 保护你的网站、应用程序和服务器

  • 尽量减少数据收集

  • 管理用户信息

  • 控制使用的库和 SDK

  • 保证代码质量和文档

  • 测试应用程序

  • 通知用户

  • 为人民权利的行使做准备

  • 定义数据保留期

  • 在技术实施中考虑法律依据

  • 使用网站和应用程序分析

在这个列表中,有几项非常突出,值得进一步细说。

识别个人数据

在识别个人数据中,有一些个人数据构成的示例,例如:

  • 固定或移动电话号码、邮寄地址、电子邮件地址

  • IP 地址、计算机连接标识和 cookie 标识

同时,它还提到了个人数据的匿名化和假名化以及两者之间的差别。

不过,在这一点上,需要注意的是,这些指导方针相对抽象,没有涉及技术细节。换句话说,这个指南没有向你展示如何实际匿名化数据;技术解决方案由开发者自己决定。

管理你的源代码

在管理源代码中,除了其它建议外,指南还要求你实现代码质量度量工具。

该工具要在代码提交后立即扫描代码,并通过将密钥和密码保存在单独的不会被提交的文件中,来保证它们独立于源代码库之外。

此外,还需要在发生应用程序错误时,检查环境变量是否被意外地写入日志或显示。

选择合适的架构

选择合适的架构,有一个大多数人没有考虑的被低估案例:

确保自己知道托管你代码的服务器的地理位置。你可能会被要求传输数据到欧盟(European Union,EU)和欧洲经济区(European Economic Area,EEA)之外。

虽然数据可以在欧盟 / 欧洲经济区内自由传输,但只要确保充分且适当的数据保护水平,就可以在欧盟 / 欧洲经济区以外进行传输。

CNIL 提供了一张地图,显示了世界各国不同程度的数据保护级别。

保护你的网站、应用程序和服务器

在保护你的网站、应用程序和服务器上,其说明更容易上手:

  • 实现 TLS 版本 1.2 或 1.3

  • 强制使用 TLS

  • 限制通讯端口

  • 不明文存放密码

  • 测试系统上安装的加密套件并禁用过时套件

  • 做备份,如果可能的话,加密并做定期检查

  • 通过安排每周自动检查来立即安装关键更新

  • 保护互联网可访问的数据库,尽可能限制访问(例如,通过 IP 过滤)

尽量减少数据收集

尽量减少数据收集反映了《GDPR》的核心价值:

在收集前,思考你想要收集的数据的不同类型,并尽量将收集限制在严格必要的范围内。

控制你使用的库和 SDK

控制你使用的库和 SDK。当今的应用程序需要处理上百个依赖才能运行,因此,开发者在评估添加的每个依赖以及选择维护的软件、库和 SDK 的价值时,应该更好地理解其中的依赖关系。

最后,在使用网站和应用程序分析时,这个建议直指当前最具争议的话题之一——cookies,告知用户关于 cookie 的信息并寻求用户的同意。但是,根据一些条件,用于受众评估 / 分析的 cookie 可免于同意。请记住:

“无论它们的配置如何,大部分大型受众评估产品都不属于豁免范围。”

综上所述,这个指南为合规奠定了正确的基础。它们将被自上而下地遵循,在技术性方面,它们应该作为接口体现,你必须为其提供具体实现。

附:

https://www.cnil.fr/en/gdpr-developers-guide