为您的企业提供实用的隐私提示

2020-05-28 23:14:57

作为Simple Analytics的创始人,我在开发我们的产品时遇到了隐私问题。在这些学习的基础上,我想向您展示一些实用的提示,以改善您的访问者的隐私。其中一些建议看起来非常合乎逻辑,但可能很难实施。这就是为什么我在每个技巧中都提供了示例,这样您或您的团队就可以在不做所有研究的情况下应用它们。

有些技巧可能会变得有点技术性,如果您没有任何技术背景,请随意跳过这些技巧,并将其转发给您的技术团队。

大多数企业使用大量其他第三方服务。他们帮助你为你的客户提供更好的服务,这很棒。但是很难知道这些服务对隐私有多友好。虽然您可能知道它们全部(这是GDPR要求的),但您不知道是否可以信任它们。总是认为第三方服务不可信任,并在您的产品中这样使用它们,这是健康的。有几种方法可以限制它们对访问者的影响。

有时您需要使用外部脚本。例如,您可以使用聊天服务或支付提供商。解决方案:仅在使用这些脚本的页面上加载这些脚本。

对于聊天来说,它可能会加载到每个页面,但对于支付提供商来说,这肯定是不一样的。不要在每一页上都包含这些脚本。

当使用你在每个页面上使用的聊天时,你可以变得更有创意。例如,您可以有一个小按钮,它只在您单击外部脚本时加载它。

变量按钮=文档。querySelector(";.chat-button";);按钮。addEventlistner(";单击";,function(){var script=document。createElement(";script";);脚本。onload=function(){//如果需要,对聊天脚本执行一些操作}脚本。src=#34;https://chat.example.com/script.js;文档。头。appendChild(脚本);}。

要检查您的站点是否使用第三方脚本,您可以使用Simon Hearne构建的请求映射生成器(感谢Jan Klimo)。对于Simple Analytics,它看起来如下所示:

在上图中,您只看到请求发往Simple Analytics的服务器:simpleanalytics.com、simpleanalyticscdn.com和simpleanalytics.io。粉红色的圆圈是我们的主页视频,占用的字节最多。我们也使用外部支付提供商,但我们只在客户端单击注册时加载脚本,因此在此图像中您看不到任何外部脚本。

有许多外部脚本从各种不同的域加载。我不是说这是好是坏,但仔细检查是否需要所有这些外部方是一个很好的做法。运行请求地图生成器,查看您不需要的服务。

请记住,所有外部方都可以访问页面上显示的数据。如果您的访问者登录并看到关键数据,这些外部参与方也可以看到这一点。

如果您使用CDN,您就是在向他们提供关于您的访问者的数据,以及加载不同于访问者请求的脚本的权力。

为了防止您的CDN提供商篡改脚本的源代码,您可以使用子资源完整性(SRI;脚本上的完整性属性)。您需要创建脚本源的散列,并通过INTEGRITY属性将其包含在脚本标记中。要生成完整性散列,可以使用srihash.org。

媒体元素上的交叉登录内容属性是CORS设置属性。这是从其他域(例如CDN域)加载脚本时需要的。匿名关键字意味着您的网站和其他域之间不会通过Cookie和一些其他数据交换用户凭据。

要防止给访问者提供正在查看的页面,可以向脚本标记添加带无引用器值的referrerpolicy属性。

虽然您没有在此处发送引用人,但浏览器会发送带有CORS请求的源头。这意味着您的CDN提供商仍然可以获得您的访问者登录的域名。如果他们记录IP,他们可以跟踪你的访问者的浏览行为。这只能通过选择匿名IP地址的CDN提供商来解决。目前唯一提供IP匿名的CDN提供商是BunnyCDN(我们不隶属于BunnyCDN)。

如果您动态添加脚本,则可以将上述功能指定为属性。这些属性区分大小写。

社交媒体公司在从访问者那里收集数据方面没有很好的声誉。有很多插件和方法可以跟踪用户。你的访问者不是选择被那些公司跟踪的,而是你。

如果你是访问者,建议使用像uBlock Origin这样的广告拦截软件。这是一个开发良好的浏览器扩展,可以从您的访问中删除所有跟踪器和广告。有一个巨大的开/关按钮可以对您所在的网站禁用它。它使您的浏览体验更加安全。

你的访问者可以自己做些什么,但总会有一些人不知道这种跟踪,或者不知道如何防止它的发生。这就是为什么欧盟有GDPR,加州有CCPA,巴西有LGDP,英国有PECR。

2019年7月29日,欧盟法院裁定,在其网站上嵌入社交插件(如facebook的“点赞”按钮)的公司可被视为数据控制者[…]。-fieldfish er.com。

虽然您无法控制小部件背后的平台如何处理来自客户的数据,但您仍然要对这些数据的处理负责。

当你添加像共享按钮这样的facebook小部件时,facebook建议你使用他们的第三方脚本。这对他们来说很棒,因为他们可以收集更多关于你的访问者的数据。幸运的是,它们提供了另一种方法,无需使用任何脚本。

下面是一个带有自定义按钮和一个简单共享链接的示例。我强烈建议使用链接实现,而不是任何脚本实现。

链接实现是一个简单的链接,它为您的访问者打开Facebook共享页面。您可以将链接放在网站上的按钮或文本链接后面。例如:

您会在该URL(链接)中看到很多奇怪的字符。这是因为链接是URL编码的。使用urlencoder.io轻松对您的网站进行URL编码:

在urlencoder.io的输出前面加上https://www.facebook.com/sharer/sharer.php?u=,并在其后面附加&;src=sdkpreparse,您就有了您的facebook share链接。没有跟踪和侵犯隐私的数据收集。

在互联网上,你可以看到Twitter小工具被大量使用。但是,当你的访问者只想看一条推文时,有必要把他们的数据发送到推特上吗?屏幕截图可以很好地工作:

欺骗你的访客去做他们不想做的事。有时候,打开你的网站,像一个新客户一样跟随你的潮流是很棒的。注意不清楚的内容和您看到的所有弹出窗口。

浏览互联网时,你会发现许多网站试图欺骗你,让你选择加入,以允许跟踪你。

例如,“纽约时报”的主页。当您看到一个十字(X)时,您通常会在不同意所要求的内容的情况下关闭对话框。“纽约时报”只是把它等同于“我同意”:

这与不要欺骗你的访问者有关,但我想单独花一个章节来讨论电子邮件。

如果你有生意,使用客户的电子邮件地址会有很大的价值。明智地使用它来通知他们有关新功能的信息,帮助他们使用您的工具,等等。这对您的业务是一种额外的好处。但是如果你要向你的客户发送营销电子邮件,一定要确保他们想要订阅。您可以在注册过程中询问您是否可以向他们发送有关您的工具/服务的电子邮件,或者您可以询问他们是否同意您发送一些设置指南或提示。请注意,如果您指定要如何使用他们的电子邮件,并确保您只将他们的电子邮件用于该目的。

禁用电子邮件跟踪比启用它更难。这就是为什么大多数营销电子邮件都包含跟踪器。由于客户端禁用镜像,因此认为打开率不准确:

[…]。只有当收件人也收到嵌入在邮件中的图像时,电子邮件才会被视为“已打开”,并且很大比例的电子邮件用户可能在其电子邮件客户端上启用了图像阻止功能。[…]。-blog.hubpot.com。

当一封图像密集的电子邮件没有完全下载并被用户查看时,它可能最终会为订阅者呈现如下所示:

当在电子邮件中添加图像而没有将这些图像嵌入到电子邮件中时,它们可能会看起来非常难看。越来越多的电子邮件服务将停止显示电子邮件跟踪器,从而停止显示图像。新的HEY.com服务屏蔽了所谓的跟踪像素。我猜接下来会有更多。

使用Simple Analytics,我们喜欢共享每周和每月的电子邮件报告。当客户启用它后,我们会向他们发送一封嵌入了所有图像的电子邮件。没有追踪器或任何远程图像。无需连接电子邮件客户端之外的任何内容。把他们应得的隐私还给他们。

营销电子邮件的另一件事是取消订阅标题。确保您有标题设置,因为它可以提高您的电子邮件声誉。标题可能如下所示:

在许多电子邮件客户端中,取消订阅链接都放置在垃圾邮件按钮附近。你希望人们取消订阅,而不是点击垃圾邮件按钮,以防止损害你的声誉。

将你的数据存储在一个保护本国人民和国外人民隐私的国家是很重要的。有了Simple Analytics,当我们认为冰岛是隐私方面最好的国家时,我们将服务器转移到了冰岛。根据自由之家的互联网评分,冰岛仍然是最好的选择:

冰岛现代媒体倡议被议会通过,但没有成为法律(所以它不是我们认为的互联网自由天堂)。

我们的供应商声称是冰岛最大的供应商,但它没有欧洲更大的供应商那么成熟,这会危及我们的服务器和基础设施的安全。

通往冰岛的网线相当慢。虽然它的地理位置很理想-位于北美和欧洲之间-但在实践中,荷兰对这两个地方来说都是一个更快的位置。

我们不想搬到瑞士去,因为那只是一次营销活动。欧盟提供的隐私法比瑞士更好。

我们无论如何都需要搬家,因为我们目前的供应商没有提供我们需要的功能强大的服务器。

冰岛第二大提供商在法律上总部设在香港,而香港不是我们想要存储数据的首选地点。

我们询问我们的客户,他们是否同意从冰岛搬到荷兰,每个投票的人都同意我们的决定。

注意您将来自访问者的数据放在哪里。对您正在使用的主机提供商和主机所在的国家进行一些调查。在不知道为什么便宜的情况下,不要选择最便宜的选择。

您仍然需要为不需要的网站或应用程序输入个人详细信息。

除非你真的需要它。让人们自己决定是否添加他们的全名。如果你想在你的营销电子邮件中称呼别人,只要要求名字就行了,但不要要求全名。

对于那些厌倦了想出假名字的读者来说:有很多服务可以帮助他们创造假名。

这部分是相当技术性的,所以请原谅我。如果您是一名经理,请将此转发给您的开发人员。在谈到隐私时,IP匿名化是在您的服务器上做的最合乎逻辑的事情。然而,如何做到这一点的例子并不多。您的服务器上有很多进程记录数据。例如,Nginx记录关于传入的每个请求的数据(它是可定制的)。这对调试很有好处,但对用户的隐私不太好。使用NGNIX,您无法格式化错误日志,因此它将始终以相同的格式出错。这对隐私非常不友好,因为它包含用户的完整IP地址,通常还包含User-Agent(在使用Facebook应用程序时可能包含不清楚的标识符)。

你可能可以猜到这个facebook user-agent后缀的一些元素,但对我来说并不完全清楚:[FBAN/FBIOS;FBAV/221.0.0.0.0;FBBV/154514034;FBDV/iPhone9,4;FBMD/iPhone;FBSN/iOS;FBSV/12.3.0;FBSS/3;FBCR/Siminn;FBID/phone;FBLC/en_GB;FBOP/5;FBRV/155138002]看起来他们并不是在通过user-agent后缀跟踪他们的用户,但他们至少会与user-agent一起发脾气。

Simple Analytics使用Nginx,在我们的例子中,它记录到rsyslog(通常称为syslog)。rsyslog通常包含在Linux发行版中(官方网站)。幸运的是,rsyslog附带了一个很棒的模块,叫做mmanon。此模块可用于从rsyslog版本7.3.7过滤v4和v6的IP地址。

在您的服务器上,您可以通过运行rsyslogd-v来检查您的rsyslog版本。

您可以通过将以下行添加到rsyslog配置文件来启用IP匿名。配置文件通常位于/etc/rsyslog.conf或/etc/rsyslog.d/50-default.conf中。

更改此文件后,请确保使用服务rsyslog Restart重新启动rsyslog。

如果要深入研究,可以设置一些高级筛选器来删除日志文件或日志服务中的敏感数据。

您可以在/etc/syslog/.中创建一个syslog配置文件。我创建了一个名为/etc/rsyslog.d/30-Anyonize.conf的文件,其中包含:

#指定自定义格式以匿名您的日志$TEMPLATE匿名,";%$Year%-%$Month%-%$DAY%%timeGenerated:12:19:date-rfc3339%%app-name%%$!new%\n";#这使模板成为所有日志的默认模板$!ActionFileDefaultTemplate匿名设置$!new=$msg;#Replace User Agents if re_match($msg,';(Mozilla\\/[0-9]\\.[0-9][^";\';]+)';)则{set$!ext=re_Extract($msg,';(Mozilla。\';]+)';,0,1,";";);设置$!新建=替换($msg,$!分机,";*(用户代理)";);}。

您可以做得更多,在我们的配置中,我们隐藏IP、信用卡和用户代理。

如果您想保护用户的数据并防止其他人访问他们的数据,请使用双因素身份验证系统。不要使用短信。使用TOTP(基于时间的一次性密码),它有很多应用程序和集成。它不需要互联网连接,可以安装在多个设备上。

在致力于Simple Analytics的同时,我不断地通过寻找处理访问者数据的隐私友好的方式来与现状作斗争。关于如何在你自己的业务中防止跟踪的指导方针太少了。

我希望这篇文章能让网络对隐私更加友好。请告诉我应该增加哪些提示。