跳转到主要内容

一个适用于Plone的插件,提供符合欧盟通用数据保护条例和电子隐私条例的功能

项目描述

https://travis-ci.cn/collective/collective.privacy.svg?branch=master

collective.privacy

此Plone插件将欧盟通用数据保护条例的概念添加到Plone配置中,这使得创建尊重个人隐私权利的Plone站点变得更加容易。

功能

  • 基于ZCML的数据使用声明

  • 面向用户的隐私管理表单

  • 与核心Plone功能的集成

核心Plone

包括以下核心Plone覆盖:

  • 现在,sendto_form将验证电子邮件地址是否对已选择退出的用户有效。这里默认选择的合法依据是legitimate_interest。

  • 分析视图组件也依赖于合法利益,其基础假设是跟踪是无侵扰的,并且即将对电子隐私法规的修改将允许这样做。如果跟踪是有侵扰性的,或者网站所有者不希望做出这种假设,则应将其覆盖以使用同意。

示例

用户可以将新的数据处理原因定义为配置。例如,一个提供嵌入媒体的插件可能会导致用户被跟踪。ZCML将修改以包括

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:gdpr="http://namespaces.plone.org/gdpr"
    xmlns:i18n="http://xml.zope.org/namespaces/i18n"
    i18n_domain="collective.privacy">
    <gdpr:data_use_category
        name="show_example_media_embed"
        title="Embedded media from example.com"
        description="We use example.com to embed media into the site. example.com monitors
                     the usage patterns of users to provide enhanced analytics to site owners."
        legal_basis="consent"
        identifier="collective.privacy.identifiers.CookieIdentifier"
        storage="collective.privacy.storage.CookieStorage"
        cookies="media_cookie_*,other_cookie"
        />
</configure>

这将添加一个基于同意来处理数据的新项目到隐私控制中。这意味着默认情况下,权限被拒绝,直到最终用户给予权限。

请注意,如果您想翻译新数据处理原因的标题和描述,则配置的i18n域必须为collective.privacy

然后您可以保护对数据的用法,例如

<div tal:condition="python: context.portal_privacy.processingIsAllowed('show_example_media_embed')">
    ...
</div>

标识符

在管理用户偏好时,有必要区分一个用户和另一个用户。在某些情况下,不同的标识符比其他标识符更有用。例如,在发送电子邮件时,我们希望根据电子邮件地址识别用户,但使用cookie应由浏览器管理,无论用户是否已登录。

选择使用哪种方式的方法称为标识符。以下是一些可用的标识符

collective.privacy.identifiers.CookieIdentifier

在这种情况下应使用此标识符。它允许当前用户被标识,但不能标识其他任意用户。

collective.privacy.identifiers.EmailIdentifier

当需要通过电子邮件地址识别用户时,应使用此标识符。它可以使用登录用户的电子邮件地址来识别当前请求,但通常不能识别当前用户。

此标识符是从电子邮件地址通过单向函数派生出的UUID,而不是电子邮件本身。

collective.privacy.identifiers.IPIdentifier

应使用此标识符来识别连接。它可以用来识别当前用户或其他任意用户。它不如CookieIdentifier可靠,因为用户的IP地址可能会更改。

此标识符是从IP地址通过单向函数派生出的UUID,而不是IP地址本身。

collective.privacy.identifiers.UserIdentifier

此标识符只能用于识别已登录用户。它可以识别网站上注册的用户,但不能识别匿名访客。因此,它适用于仅针对注册用户进行数据处理的情况。

该标识符是由用户名通过单向函数派生出的UUID,而不是用户名本身。

存储

存储决定了用户的偏好如何持久化。有三种存储方式可用

collective.privacy.storage.CookieStorage

此存储使用用户浏览器上的名为“dataprotection”的cookie。设置此cookie不需要同意,因为它是为了遵守法律义务而设置的,并且不能用于跟踪用户。

collective.privacy.storage.DatabaseStorage

此存储使用portal_privacy工具内的BTrees来存储用户同意或反对的时间。目前,这是唯一允许查询用户偏好的存储方式,这些偏好是在用户发起的请求之外的。

collective.privacy.storage.NoChoiceStorage

这是一个用于与如生命利益等无反对选择法律依据的占位符存储。

Cookie

此属性列出了当用户反对使用相应数据处理时应删除的cookie。它是可选的,可能包含通配符 (*)。

翻译

此产品已翻译成

  • 法语

  • 荷兰语

安装

通过将其添加到您的buildout中安装collective.privacy

[buildout]

...

eggs =
    collective.privacy

然后运行 bin/buildout

Varnish

如果您将此产品与Varnish结合使用,请确保您的Varnish配置不会删除缓存请求中的cookie

配置示例

if (req.http.Cache-Control ~ "(private|no-cache|no-store)" || req.http.Pragma == "no-cache") {
    return (pass);
}

感谢

感谢Jazkarta ( http://jazkarta.com/ ) 和 YES! Magazine ( http://www.yesmagazine.org/ ) 分别赞助了此附加组件的部分开发成本。

这两个都是美国公司这一讽刺意味我们没有忽略。

贡献

支持

如果您遇到问题,请告诉我们。

许可证

本项目采用GPLv2许可。

注意,GPL声明

版权所有者及/或其他方提供的程序“按原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性和特定用途的适用性的暗示保证。程序的质量和性能的全部风险由您承担。如果程序被发现有缺陷,您将承担所有必要的服务、维修或更正的费用。

此附加组件没有收到律师的贡献,不应被视为法律建议。

贡献者

变更日志

1.1.0b2 (2022-01-07)

  • 修复了在Zope 5上出现的“ModuleNotFoundError: No module named ‘App.class_init’”错误。[laulaz]

  • 延迟执行consent.js (#18)。 [comwes]

1.1.0b1 (2021-08-19)

  • 修复了翻译域并添加了发送到表单电子邮件中自定义文本的翻译。[laulaz]

  • 修复了在发送电子邮件时发送_to_form的跟踪回溯:getConsentLink方法必须可以从模板中访问。[laulaz]

  • 通过确保仅在同意横幅按钮上注册一次JS事件来修复同意横幅缺失(当有多个cookie需要接受时)。 [laulaz]

  • 通过在导航根处渲染同意表单来处理多语言和子站点配置 (#15)。 [laulaz]

  • 修复JSON调用以获取正确的语言(在多语言配置中,如果当前语言必须从上下文中获取),修复编号为#14 [laulaz]

  • 确保同意横幅显示在所有其他元素(例如:Google Maps)之上(z-index)[laulaz]

1.1.0a1 (2020-05-12)

  • 添加Python 3和Plone 5.2兼容性 [mpeeters]

1.0b1 (2020-04-30)

  • 避免缓存同意横幅 [mpeeters]

  • 不在同意表格上显示同意横幅 [laulaz]

  • 允许用户删除拒绝使用的指定cookies [laulaz]

  • 添加荷兰语翻译 [laulaz]

  • 添加管理隐私设置的链接 [laulaz]

  • 翻译所有消息/数据处理原因 [laulaz]

  • 修复同意提交 [mpeeters]

  • 修复sendto_email验证器 [mpeeters]

  • 添加法语翻译 [laulaz]

  • 添加关于cookies使用的更好警告的代码 [MatthewWilkes]

  • 在配置文件中提供卸载步骤(#1) [Mikel Larreategi]

  • 可能的diazo兼容性修复 [MatthewWilkes]

  • 无侵入性分析是合法的 [MatthewWilkes]

  • 删除不必要的皮肤调用 [MatthewWilkes]

  • 添加缺失的文件 [MatthewWilkes]

  • 删除不必要的依赖项 [MatthewWilkes]

1.0a1 (2018-08-25)

  • 初始发布。 [MatthewWilkes]

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源代码发行版

collective.privacy-1.1.0b2.tar.gz (39.7 kB 查看哈希)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面