在线隐私管理.pdf

上传人:e2 文档编号:633537 上传时间:2018-02-28 格式:PDF 页数:50 大小:4.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN201480028055.1

申请日:

2014.03.13

公开号:

CN105210080A

公开日:

2015.12.30

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 21/62申请日:20140313|||公开

IPC分类号:

G06F21/62

主分类号:

G06F21/62

申请人:

艾新顿公司

发明人:

乔舒亚·C·古德温; 乔舒亚·R·马尼恩

地址:

美国加利福尼亚州

优先权:

2013.03.15 US 13/833,051

专利代理机构:

北京安信方达知识产权代理有限公司 11262

代理人:

周靖;郑霞

PDF下载: PDF下载
内容摘要

公开了一种用于首席隐私官员(CPO)或其它用户在实时地监视和/或控制关于用户的以及他/她的在线体验的数据流(例如,流出)中使用的隐私管理系统(PMS)。PMS可采用模式识别软件以评估分析数据并可能地阻止在分析数据中发送隐私信息。PMS可提供仪表板,仪表板显示指示阻止或允许了什么目的地/源的白名单和/或黑名单以及指示应该阻止什么类型的隐私信息的隐私信息设置。PMS包括浏览器-客户端脚本代码,并且还可以包括用于在由PMS正实时监视/控制的网页上显示的PMS认证的验证图标和/或锁定图标和解锁图标。

权利要求书

1.  一种隐私管理系统服务器的存储有计算机可执行指令的非暂时性计算机可读介质,当所述计算机可执行指令由远程计算设备的处理器执行时,引起所述远程计算设备进行以下操作:
访问网页的文档对象模型(DOM),其中,所述DOM被配置成包含第一节点和第二节点,所述第一节点被配置成使用存储在所述第一节点中的统一资源定位符向第三方设备发送分析数据,所述第二节点被配置成存储隐私信息;
响应于访问所述DOM,获取所述第二节点并通过调用通用包装器对象函数在存储器中创建包装器对象来代替所述第二节点,所述通用包装器对象函数被配置成为至少两个不同节点类型创建包装器对象;
通过根据所述第二节点的值设置所述包装器对象的值来配置所述包装器对象以匹配所述第二节点;
确定所述包装器对象是否将被配置成阻止所述隐私信息被所述第一节点捕获;
当确定所述包装器对象将被配置成阻止所述隐私信息被所述第一节点捕获时,向所述包装器对象提供获得函数,所述获得函数被配置成在返回所述隐私信息之前分析所述隐私信息;以及
在所述DOM中用所述包装器对象替换所述第二节点。

2.
  根据权利要求1所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
确定是否进行了对所述获得函数的调用以收集分析数据。

3.
  根据权利要求2所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
在确定未对所述获得函数进行所述调用以收集分析数据之后,将所述包装器对象的所述隐私信息返回给调用所述获得函数的节点。

4.
  根据权利要求2所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
在确定对所述获得函数进行所述调用以收集分析数据之后,评估所述包装器对象的所述隐私信息。

5.
  根据权利要求2所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
在由所述第一节点进行对所述获得函数的调用时,评估所述包装器对象的所述隐私信息。

6.
  根据权利要求2所述的非暂时性计算机可读介质,其中,确定是否对所述获得函数进行调用以收集分析数据包括评估堆栈跟踪。

7.
  根据权利要求2所述的非暂时性计算机可读介质,其中,确定是否对所述获得函数进行调用以收集分析数据包括评估调用所述获得函数的节点的统一资源定位符。

8.
  根据权利要求1所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
当进行对所述获得函数的调用时,通过观察所述包装器对象的属性来从所述包装器对象提取所述隐私信息;以及
使用模式识别处理评估所述隐私信息。

9.
  根据权利要求1所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
当进行对所述获得函数的调用时,通过调用所述包装器对象上的方法 来从所述包装器对象提取所述隐私信息;以及
使用模式识别处理评估所述隐私信息。

10.
  根据权利要求1所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
修改从所述包装器对象提取的所述隐私信息,从而使得所述隐私信息不再是隐私的;以及
向所述第一节点返回经修改的隐私信息。

11.
  根据权利要求1所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
响应于由所述第一节点对所述获得函数的调用,向数据库报告所述包装器对象的所述隐私信息和在所述第一节点中存储的所述统一资源定位符中的至少一个。

12.
  根据权利要求1所述的非暂时性计算机可读介质,其中,在所述DOM的其他节点访问所述第二节点之前,用所述包装器对象替换所述第二节点。

13.
  根据权利要求1所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备进行以下操作的计算机可执行指令:
产生图形用户界面,所述图形用户界面被配置成允许用户指定所述包装器的所述获得函数是否被配置成在返回所述隐私信息之前分析所述隐私信息。

14.
  一种装置,包括:
至少一个处理器,其被配置成通过网络向远程计算设备传送以编程语言编写的脚本代码,所述编程语言缺乏覆盖特定函数的功能;以及
存储器,其存储所述脚本代码,当所述脚本代码由所述远程计算设备 执行时,引起所述远程计算设备进行以下操作:
访问页面的对象模型,其中,所述对象模型被配置成包含第一节点和第二节点,所述第一节点被配置成向与所述装置和所述远程计算设备分离的第三方设备发送分析数据,所述第二节点被配置成存储数据;
响应于访问所述对象模型,获取所述第二节点并在存储器中创建包装器对象来代替所述第二节点;
通过根据所述第二节点的数据设置所述包装器对象的数据,配置所述包装器对象以复制所述第二节点;
向所述包装器对象提供获得函数,所述获得函数被配置成在向请求节点返回所述数据之前分析所述数据;以及
在所述对象模型中用所述包装器对象替换所述第二节点。

15.
  根据权利要求14所述的装置,其中,所述获得函数被配置成进行以下操作:
通过执行以下项中的至少一项来从所述包装器对象提取所述数据:
当进行对所述获得函数的调用时,观察所述包装器对象的属性;以及
当进行对所述获得函数的调用时,调用所述包装器对象上的方法;
使用模式识别处理评估所述数据;以及
基于所述评估确定所述数据是否包含隐私信息。

16.
  根据权利要求15所述的装置,其中,所述获得函数还被配置成:
当确定所述数据包含隐私信息时,修改所述数据。

17.
  根据权利要求14所述的装置,其中,所述存储器还存储计算机可执行指令,当所述计算机可执行指令被所述至少一个处理器执行时引起所述装置:
呈现图形用户界面,所述图形用户界面被配置成产生用于授权或阻止对所述页面的数据的访问的规则。

18.
  根据权利要求14所述的装置,其中,所述存储器还存储额外的脚本代码,当所述额外的脚本代码被与所述页面的所有者相关的第二远程计算设备执行时引起所述第二远程计算设备:
呈现图形用户界面,所述图形用户界面被配置成产生用于授权或阻止对所述页面的数据的访问的规则。

19.
  根据权利要求14所述的装置,其中,当所述脚本代码由所述远程计算设备执行时,还引起所述远程计算设备进行以下操作:
在所述页面上呈现图标;以及
当所述图标被选择时,在所述页面上呈现图形用户界面,所述图形用户界面被配置成产生用于授权或阻止对所述页面的数据的访问的规则。

20.
  根据权利要求14所述的装置,其中,当所述脚本代码由所述远程计算设备执行时,还引起所述远程计算设备进行以下操作:
在所述页面上呈现与所述包装器对象相关的图标;以及
当所述图标被选择时,修改所述包装器对象的所述获得函数。

21.
  根据权利要求20所述的装置,
其中,所述图标是锁定图标和解锁图标中的一个,
其中,当所述图标是锁定图标时,所述包装器对象的所述获得函数被配置成在将所述数据返回之前修改所述数据,或者被配置成避免返回所述数据,以及
其中,当所述图标是解锁图标时,所述包装器对象的所述获得函数被配置成返回所述数据,而不修改所述数据。

22.
  一种隐私管理系统服务器的存储有计算机可执行指令的非暂时性计算机可读介质,当所述计算机可执行指令由远程计算设备的处理器执行时,提供:
用于访问页面的对象模型的装置,其中,所述对象模型包括被配置成 存储数据的多个节点;
用于获取在所述对象模型的所述多个节点之中的所述节点中的一个以及创建包装器对象来代替所获取的节点的装置;
用于通过根据所获取的节点的数据设置所述包装器对象的数据来配置所述包装器对象以复制所获取的节点的装置;
用于向所述包装器对象提供获得函数的装置,所述获得函数被配置成在向请求节点返回数据之前分析所述数据;以及
用于在所述对象模型中利用所述包装器对象来替换所述第二节点的装置。

23.
  根据权利要求22所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备提供以下项的计算机可执行指令:
用于当进行对所述获得函数的调用时通过观察所述包装器对象的属性来从所述包装器对象提取所述数据的装置;以及
用于对所提取的数据执行模式识别处理的装置。

24.
  根据权利要求22所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备提供以下项的计算机可执行指令:
用于当进行对所述获得函数的调用时通过调用所述包装器对象上的方法来从所述包装器对象提取所述数据的装置;以及
用于对所提取的数据执行模式识别处理的装置。

25.
  根据权利要求22所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备提供以下项的计算机可执行指令:
用于修改所述包装器对象的所述数据从而使得所述数据不包含隐私信息的装置;以及
用于向请求节点返回经修改的数据的装置。

26.
  根据权利要求22所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备提供以下项的计算机可执行指令:
用于向数据库报告所述包装器对象的所述数据和存储在请求所述包装器对象的所述数据的节点中的统一资源定位符中的至少一个的装置。

27.
  根据权利要求22所述的非暂时性计算机可读介质,还存储有在被所述处理器执行时引起所述远程计算设备提供以下项的计算机可执行指令:
用于产生图形用户界面的装置,所述图形用户界面被配置成允许用户指定所述包装器的所述获得函数将要阻止的隐私信息。

说明书

在线隐私管理
相关申请的交叉引用
本国际申请要求于2013年3月15日提交的申请号为13/833,051的美国申请的优先权,申请号为13/833,051的美国申请是于2012年7月20日提交的申请序列号为13/554,603(代理人案卷编号为007662.00016)的美国专利申请的部分延续案,申请序列号为13/554,603的美国专利申请是于2011年12月29日提交的申请序列号为13/340,582(代理人案卷编号为007662.00009)的美国专利申请的继续,申请序列号为13/340,582的美国专利申请要求于2010年12月30日提交的申请序列号为61/428,560(代理人案卷编号为007662.00005)的美国临时申请(包括其同时提交的附录)的优先权;所有上述申请通过引用以其整体并入本文。
技术领域
本公开的方面一般涉及分析和将要从用户的终端上收集的其它数据的管理、调节、控制和/或审查。具体而言,本公开的各个方面讨论在线隐私管理系统的特征。
背景技术
网页一般是以超文本标记语言(HTML)编写的。它们使用包括由尖括号包围的“标签”的HTML元素编写;在标签中信息告知网络浏览器如何解释HTML元素(例如文本,用于图像插入网页,用于运行脚本等)。除了其它情况,这些标签可以包括或加载诸如JavaScriptTM的语言的脚本。
同时,网络分析是一个为了各种不同的目的收集并分析关于客户的数据(例如,消费行为、消费场所等)的领域。为了获得用于网络分析的数 据,用户群体访问网页和/或启动使某些程序指令执行的应用。通常,通过包括cookie的设置和/或通过在HTML文档中运行脚本的各种途径收集用于网络分析目的的数据。脚本可以执行各种函数,包括从文档对象模型(DOM)中抓取变量和/或将图像请求发回至或内部或外部控制的数据收集服务器。
用于网络分析的程序指令通常由多个供应商创作和运行,包括OmnitureTM、GoogleTM、YahooTM和WebtrendsTM等等,以便能够捕获数据,例如网页加载时间、“鼠标悬停”(即,移动鼠标悬停在网页的特定对象上)和页面请求者的IP地址。中等复杂性网页可以包括5-10个标签,并参考运行在不同供应商管理的服务器上的计算机脚本。
当分配以管理组织的网络分析的营销商决定她想要改变代码/标签以测量和分析不同的特征,这个过程通常是单调乏味且具有挑战性。在许多情况中,为了执行这次更新,营销商必须在程序指令中创建新的自定义变量、定义新的变量是什么以及指定修改的代码必须为网页捕获什么数据。由于营销商通常不熟悉如何执行这些修改,她必须与她的信息技术(IT)部门或其它类似的机构相配合。有时,甚至IT部门可能不能充分理解用于适当地修改代码的网络分析程序指令的语法,尤其是已知无数网络分析的供应商、广告商、调查研究者和营销商都有他们自己的用于实现用于分析的数据的收集的自定义计算机代码。在其它情况中,IT部门可能没有合适的带宽来修改用于按照安排部署的代码(例如,用于广告活动的截止日期等)。当客户的网站具有许多页面和/或用于收集用户相关的各种数据的许多不同类型的程序指令,这些问题只会加重。
一些网络分析工具使用HTML图像元素和/或JavaScript以帮助收集分析数据。分析数据传输可掩蔽成不向网页的DOM增加图像元素的图像元素。相反,图像元素可以通过分析供应商用于一个像素接一个像素的透明图像,用于收集与网页相关的访问者的数据的目的。例如,“src”属性可以设置为具有参数名称值对的附加串的统一资源定位符,(例如www.hostname.com/theImage.tif?data=something&data2=someMoreData)。一旦“src”属性被设置,该浏览器可尝试定位和检索URL位置的图像。在这样操作时,可以在远程服务器处获得分析数据作为这些名称值对。这是一种网络分析供应商收集数据的常用方法。
一些公司可能会把它们的网络分析外包给一个或多个专门从事网络分析、网络广告和其它网络相关的服务的第三方供应商(例如,网络分析供应商、消费者的语音(VOC)、广告服务器、测试方案、定位工具、按点击付费(PPC)工具、分支机构跟踪等)。同时,这些第三方供应商可以与一个或多个第四方供应商订约/合作以帮助收集数据、显示/选择广告图像以及分析收集的数据等。例如,第四方供应商可以执行公司网页上的代码或从网页上收集分析数据。这个第四方供应商可能对于网站拥有者来说是未知的或可能不是行业验证的供应商。一些第四方供应商可能不遵守DNT(不跟踪)报头,这为网站拥有者/公司所不知。在某种情况下,第四方供应商甚至可以与第五方供应商共享收集的访问者信息,这同样不为网站拥有者/公司所知。这样,从网站收集和分布的数据可以到达网站管理员未知的域和供应商。隐私和其它问题(例如,技术问题)可能出现在调节、控制和/或审查数据的传播中。本公开提供一种尤其允许用户(例如公司的首席隐私官员等)以更好地控制/调节/管理消费者数据和隐私的在线隐私管理系统。
简要概述
通过公开方法、计算机可读介质和在线隐私管理系统和相关系统的装置,本公开的方面解决一个或多个上述问题。在一个实例中,系统可以帮助管理、调节、控制和/或审查收集自用户的终端的所收集的数据(例如,网络分析或其它数据)至外部服务器的传输。隐私管理系统可以简化该过程,用户(例如,首席隐私官员(CPO)、网络页面的访问者等)通过该过程可以监视正在收集用于传输到第三方和第四方计算机服务器的谁和/或什么信息。
在一个实例中,根据本公开的方面,公开了隐私管理系统的非瞬时性计算机可读介质存储以编程语言编写的脚本代码,该脚本代码缺乏覆盖变量的设置函数的功能,该变量对应于存储在预定义对象中的统一资源定位 符,其中当脚本代码由位于远离隐私管理系统处的计算设备的处理器执行时,脚本代码使远程计算设备用于执行许多步骤。在一些实例中,这些步骤可包括一个或多个本文所述的步骤。例如,远程计算设备可以执行以下的一个或多个步骤:使用处理器实时监视网页的文档对象模型以识别文档对象模型的更新,该更新使得修改存储在预定义对象中的统一资源定位符;使用处理器实时比较修改的统一资源定位符和值的预定列表;和/或基于所述比较,使用处理器实时阻止网络分析数据传输至与修改的统一资源定位符相关联的服务器。远程计算设备还可以对分析数据进行分析以确定它是否包括隐私信息。因此,除了检查统一资源定位符之外或替代检查统一资源定位符,远程计算设备可以评估分析数据本身并且基于评估分析数据的结果确定是否阻止其传输。另外,在一些实例中,远程计算设备还可以执行以下的一个或多个步骤:使用处理器定义新的对象,其中,该新对象是覆盖预定义对象的包装对象;和/或使用处理器在文档对象模型中创建新对象,其中该新对象配置为存储至少一个统一资源定位符。上述一个或多个步骤可以是任选的,或者可以是与其它步骤结合。在一些实例中,监视步骤可包括使得处理器检查对存储在该新对象中的统一资源定位符的更新。
在另一个实例中,根据本公开的方面,公开了一种计算机化装置,包括:处理器,其经配置用于通过网络向远程计算设备发送以编程语言编写的脚本代码,该脚本代码缺乏覆盖在预定义对象中第一属性的设置函数的功能;以及存储器,其存储脚本代码,当所述脚本代码由所述远程计算设备执行时,使得远程计算设备执行多个步骤。在一些实例中,这些步骤可包括一个或多个本文所述的步骤。例如,远程计算设备可以:定义包括覆盖预定义对象的包装对象的新对象,包括响应创建预定义对象的请求而配置远程计算设备的处理器以便在远程计算设备的存储器中创建新对象,而非预定义对象;在某个固定的间隔检查存储在新对象中的第二属性的更新,其中第二属性是与在预定义对象中存储的第一属性相关联;响应于确定存储在新对象中的第二属性已通过在远程计算设备上执行的其它脚本代码更新,比较第二属性和值的预定列表,其中,其它脚本码发送自不同于计算机化设备的远程第三方服务器;和/或响应于比较第二属性值和值 的预定列表,阻止其它脚本代码使得远程计算设备发送收集的数据,。另外,在一些实例中,所收集的数据可以包括网络分析数据,预定义对象可以是超文本标记语言图像对象,第一属性和第二属性可以配置为存储统一资源定位符,和/或可以实时执行阻止其它脚本代码。上述一个或多个步骤可以是任选的,或者可以是与其它步骤结合。此外,在一些根据本公开的方面的实例中,值的预定列表可以包括以下的至少一个:黑名单和白名单,其中另外的脚本代码可以是响应于以下的至少一个而受到阻止:确定新对象的第二属性是在黑名单上,以及确定新对象的第二属性不在白名单上。
在根据本公开的方面的又一个实例中,公开了使用在线隐私管理系统控制网络分析数据的分布的方法。在一些实例中,这些步骤可包括一个或多个本文所述的步骤。例如,该方法可以包括以下的一个或多个步骤:接收来自第一域相对应的远程服务器的页面,其中,该页面至少包括使计算机处理器将数据发送到不同于第一域的域的多个元素;利用计算机处理器处理页面的多个元素的第一元素,其中,该第一元素存储第一统一资源定位符,该第一统一资源定位符引用存储用于隐私管理的脚本代码的隐私管理系统服务器;使用计算机处理器将请求发送至用于管理隐私的脚本代码的隐私管理系统服务器;使用计算机处理器执行用于隐私管理的脚本代码以至少定义覆盖对象,其中覆盖对象是覆盖预定义对象的包装对象;在执行用于隐私管理的脚本代码之后,使用计算机处理器处理多个元素中的第二元素,其中第二元素配置为使得预定义对象创建且配置为将数据发送至不同于第一域且不同于隐私管理系统服务器的域;在计算机存储器中使用计算机处理器创建覆盖对象而非对应于第二元素的预定义对象,其中覆盖对象配置为存储至少一个统一资源定位符;在覆盖对象中存储接收自第二元素的第二统一资源定位符,其中该第二统一资源定位符对应于第二域;在计算机存储器中使用计算机处理器创建预定义对象,其中预定义对象经配置为至少存储统一资源定位符;通过用于隐私管理的脚本代码,使得计算机处理器检查对在覆盖对象中存储的统一资源定位符的更新;响应于确定覆盖对象的统一资源定位符已经被更新为第二统一资源定位符,通过用于隐私管理的脚本代码,比较存储在覆盖对象中的第二统一资源定位符和 域的预定列表;响应于确定存储在覆盖对象中的第二统一处于预定列表中,通过用于隐私管理的脚本代码阻止第二元素将页面配置成将收集的数据发送到第二统一资源定位符,其中收集的数据包括网络分析数据;和/或响应于确定存储在覆盖对象中的第二统一不在预定列表中,通过用于隐私管理的脚本代码,将存储在预定义对象中的统一资源定位符更新成第二统一资源定位符。另外,在某些实施例中,所述阻止可以实时地执行并且包括以下一个或多个步骤:修改第二统一资源定位符以便清除收集的数据;和/或将修改的第二统一资源定位符存储在预定义对象中。在一些实例中,计算机处理器可以在预定的间隔检查对覆盖对象上的第二统一资源定位符的更新,而不采用推模式。另外,在一些实例中,第二元素可以是超文本标记语言的脚本标签,并且包括第四统一资源定位符,并且该方法还可以包括以下的一个或多个步骤:通过第二元素,使存储在覆盖对象中的第二统一资源定位符更新为第四统一资源定位符,其中第四统一资源定位符处于域的预定列表中;在日志中记录对应于第二域的第二统一资源定位符;和/或在与第二统一资源定位符相关的日志中,至少记录第四统一资源定位符。一个或多个上述步骤可以是任选的,或者可以与其它步骤结合。此外,在一些实例中,在日志中记录的两个步骤可以包括使用计算机处理器读取堆栈跟踪以获取用于日志文件的信息。
在根据本公开的方面的一个实例中,公开了隐私管理系统的存储计算机可执行指令的计算机可读存储介质,当指令通过位于远离隐私管理系统的计算设备的处理器执行时,使得远程计算设备执行多个步骤。在一些例子中,这些步骤可包括一个或多个本文所述的步骤。例如,远程计算设备可以执行一个或多个步骤:定义覆盖对象,其中该覆盖对象是覆盖预定义对象的包装对象,其中该覆盖对象配置为存储至少一个统一资源定位符,其中预定义对象配置为存储至少一个统一资源定位符,并且其中定义覆盖对象将处理器配置成,响应于创建预定义对象的请求,在存储器中创建覆盖对象,而非预定义对象;在存储器中创建预定义对象,其中预定义对象关联于覆盖对象;使处理器检查(例如,在预定的时间间隔,使用推模式等)对存储在覆盖对象中的统一资源定位符的更新;响应于确定覆盖对象的统一资源定位符已经更新,比较(例如,实时)存储在覆盖对象中的更 新的统一资源定位符和域的预定列表;和/或基于比较的结果,执行下述中一个:(i)修改存储在覆盖对象上更新的统一资源定位符,以去除所收集的数据并在预定义对象中存储已修改的更新的统一资源定位符,和(ii)在预定义对象中存储更新的统一资源定位符。在根据本公开的方面的一些实例中,可以执行附加的步骤以便:响应于创建预定义对象的请求,在存储器中创建覆盖对象;和/或比较存储在覆盖对象中的更新的统一资源定位符和域的预定列表。一个或多个上述步骤可以是任选的,或者可以与其它步骤结合。在一个实例中,计算机可执行指令可以是以编程语言编写的,这种编程语言缺乏覆盖变量的设置函数的功能,该变量对应于存储在预定义对象中的统一资源定位符。此外,在一些实例中,经修改的更新的统一资源定位符可以是修改为具有默认值的、更新的统一资源定位符的一部分。另外,在一些例子中,域的预定列表可包括白名单和/或黑名单;基于更新的统一资源定位符是白名单的一部分和/或不是黑名单的一部分,所更新的统一资源定位符可以存储在预定义对象中。
另外,根据本公开的方面,本文所述方法、设备和计算机可读介质可以进一步包括以下步骤,使得远程计算设备:定义覆盖预定义方法的覆盖方法,其中所述定义覆盖方法将处理器配置成,响应于执行预定义方法的请求,由处理器执行覆盖方法,而不是预定义方法;在覆盖方法执行之后,使处理器执行预定义方法(例如,使用经修改的统一资源定位符作为预定义方法的输入参数);接收对应第三域的统一资源定位符作为预定义方法的输入参数,且其中第三域不同于对应于隐私管理系统服务器的域;比较所接收的统一资源定位符和域的预定列表;和/或响应于确定出所接收的统一资源定位符存储在预定列表,修改存储的统一资源定位符以移除收集的数据。一个或多个上述步骤可以是任选的,或者可以与其它步骤结合。在一些实例中,预定义方法可以是一种对应于超文本标记语言的图像元素的构造函数方法,预定义的方法可以是下述中至少一个:appendChild函数、insertBefore函数、replaceChild函数和写入函数。
在根据本公开的方面的一个实例中,公开了隐私管理系统的存储计算机可执行指令的计算机可读存储介质,当指令由位于远离隐私管理系统的 计算设备的处理器执行时,使得远程计算设备执行多个步骤。在一些实例中,这些步骤可包括一个或多个本文所述的步骤。例如,远程计算设备可以执行一个或多个步骤以便:显示域的预定列表,其中预定列表配置为支持带有通配符的正则表达式;生成图形用户界面,其经配置以允许通过添加和删除预定列表中的条目对预定列表更新;将更新的预定列表发送给隐私管理服务器以进行存储;生成包括输入装置的图形用户界面,该输入装置配置为使脚本代码能够用于隐私管理;将输入装置的状态发送至隐私管理服务器以存储;在定义该覆盖对象之前,确定用于隐私管理的脚本代码被禁用;将处理器重新配置成响应于创建预定义对象的请求不再产生覆盖对象替代预定义对象;将处理器重新配置成不再使处理器检查对存储在覆盖对象中的统一资源定位符的更新;显示一个或多个域的列表,这些域将第三方脚本代码提供至远程计算设备,其中第三方脚本代码被配置成使远程计算设备将收集的数据发送到远程服务器;确定远程服务器与黑名单上的域相关联;显示黑名单上的域,其对应于提供第三方脚本代码的域;显示远程计算设备的处理器是否经配置以阻止第三方脚本代码的执行;确定远程计算设备的位置;识别远程计算设备的位置相对应的隐私规则;和/或当隐私规则已经满足时,处理器配置成阻止发送所收集的数据。一个或多个上述步骤可以是任选的,或者可以与其它步骤结合。
提供发明概述来以简化形式引入在以下详细描述中将进一步描述的概念选择。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用于限定要求保护的主题的范围。此外,一个或多个步骤和/或上述组件可以是可任选的,或者可以和其它步骤结合。
附图的简要说明
通过示例的方式说明了系统和方法,并不限于附图,在图上相同的附图标记表示类似的单元,其中:
图1示出了示例性操作环境,其中本发明的各个方面都可以实现;
图2是一个可用于实现本发明的某些方面的过程和函数的示例性工 作站和服务器的框图;
图3是一个示例性图形用户界面,其根据本公开的各个方面示出了PMS认证的验证图标和隐私管理器界面;
图4A和4B根据本发明的各个方面(尤其基于美国临时申请第61/428,560号中的附录B)示出了用于隐私管理控制台和高级规则编辑器的示例图形用户界面;
图5A、5B和5C根据本公开的各个方面(均特别基于美国临时申请第61428.560号中的附录C)示出具有许多网络供应商,并包括第三方和第四方供应商、与网页的交互;
图6根据本公开的各个方面示出涉及在线隐私管理系统的方法的流程图;
图7A和7B根据本公开的各个方面示出涉及在线隐私管理系统的另一个方法的流程图;
图8A和8B示出隐私管理系统的仪表板的附加的方面;以及
图9A和9B示出可以连同隐私管理系统使用的附加的图标。
具体实施方式
在以下描述的本发明的各种实施例中,参考附图,所述附图构成本发明的一部分,并且在附图中以图解方式示出,本公开的各种实施例可以实施。应当理解,可以利用其它实施例,可以进行结构上和函数上的修改。
隐私管理系统(PMS)公开用于首席保密官员(CPO)或其它用户,除了其它以外,在实时地监视和/或控制中使用关于他/她的在线体验的数据流(例如,流出)。PMS可以提供显示白名单和/或黑名单的仪表板,该白名单和/或黑名单指示哪些目的地/源受到阻止或得到允许。仪表板还可以包括用户可以设置以创建用于阻止隐私信息被作为分析数据传输的规则的设置。PMS包括浏览器-客户机脚本代码,并且还可以包括PMS认证的验证图标以及锁定图标和解锁图标,用于在由PMS正实时监视/ 控制的网页上显示。
当与通过隐私管理系统(PMS)监视的网页进行交互时,系统和方法公开针对由网络浏览器应用程序执行的步骤。浏览器可以接收页面(例如,HTML页面),该页面包括来自多个源(即隐私管理服务器、第三方分析供应商、第三方定向广告厂商等)的脚本代码(例如,JavaScript)。浏览器可以执行脚本代码,由此使得在页面上的多个元素(例如,脚本标签、图像标签等)将数据发送到不同的域。在一些例子中,脚本代码可以覆盖用于特定页面元素(例如,图像元素)的特定的标准方法(例如,appendChild方法)和构造函数方法。覆盖方法可以在浏览器处执行(即,在用户设备上),使得浏览器和特定的域或亚域之间的通信可以受到阻止或得到允许。此外或可替代地,覆盖方法可以基于通信是否包括隐私信息来阻止通信。在一些实例中,PMS可以实施规则以确定是否阻止或允许通信,或可以依靠默认规则。此外,在一些实例中,PMS可以使用模式识别软件以检测分析数据内的隐私信息。通过PMS来监控和控制的结果可以在(在线)仪表板向CPO或其他人员显示。PMS响应实时发生的特定事件(例如,阻止)可以产生消息。
此外,公开的系统和方法涉及一种远程服务器,该服务器提供的脚本代码经执行以能够使PMS来管理和控制数据流(例如,流出)。代码可以包括JavaScript代码,这种代码会覆盖现有JavaScript方法和/或用于JavaScript对象的构造函数,且在本文中称为“方法”或“覆盖对象”。现有的、被覆盖的方法或对象在本文中称为“预定义方法”或“预定义对象”。
此外,公开的系统和方法涉及一种通用PMS认证的验证图标,该图标可以被提供并显示于网页上,以指示网页与特定的隐私策略兼容。该图标可以由PMS提供,且关于用于实施PMS的隐私参数选择/设置的信息可以存储在PMS系统中。可替换地,隐私参数选择/设置信息可以存储在客户的设备中(例如,用作一个cookie)或其它位置上。系统和方法被公开用于针对页面上的各种信息提供锁定图标和解锁图标,使得查看页面的用户可以看到什么信息将被阻止作为分析数据传输。此外,系统和方法被公开用于允许用户(例如,CPO、网页访问者等)选择锁定图标和解锁图 标,使得用户可以控制什么信息被阻止。
根据本公开的各个方面,公开的隐私管理系统(PMS)尤其用于增强对消费者数据采集和在线隐私的控制。首席隐私官员(CPO)或任何乐于管理在线用户的信息收集和分布的人(例如,网络分析,数据挖掘等)可以使用PMS来实时监视、收集、报道和/或阻止有关用户数据的分布。在一个实施方案中,为了进行标签管理,PMS可以用于结合Ensighten的“EnsightenManage”TM产品。在另一个实施方案中,PMS的各方面可以用于结合在市场上容易得到的其它网络分析和/或标签管理产品,例如通过ObservePointTM、GoogleTM、SiteCatalystTM等的那些。另外,PMS可以提供显示白名单和/或黑名单的仪表板(该白名单和/或黑名单指示哪些目的地/源受到阻止或得到允许)以及允许用户定制什么隐私信息应当被阻止的窗口。PMS包括浏览器-客户机脚本代码,并且还可以包括用于在由PMS正实时监视/控制的网页上显示的PMS认证的验证图标、锁定图标以及解锁图标。
图1特别描述了示例性操作环境,其中可以实现本发明的各个方面(例如,参看美国临时申请第61428.560号中的附录A)。图1根据本发明的一个说明性实施例示出了在可以使用的通信系统100中的标签/内容管理器101(例如,计算机服务器)。管理器101可以具有处理器103,用于控制管理器101的总体操作及其相关组件,包括RAM105、ROM107、输入/输出模块109和存储器115。
I/O109可以包括麦克风、键盘、触摸屏和/或输入笔,设备101的用户通过上述装置提供输入,并且还可以包括一个或多个扬声器以提供音频输出和视频显示设备,用于提供文本、视听和/或图形输出。软件可以存储在存储器115中以将指令提供给处理器103,用于使管理器101能够执行各种函数。例如,存储器115可以存储管理器101使用的软件,例如操作系统117、应用程序119和相关的数据库121。根据管理器接收的请求的类型,处理器103及其相关组件可以允许管理器101运行一系列计算机可读指令以展开程序指令。例如,如果客户请求执行程序指令用于捕获鼠标移动以便完成会话重放,当这个用户访问客户的网站时,管理器101 可以发送适当的指令到用户的计算机。
管理器101可以在网络化环境中工作,该网络化环境支持连接至一个或多个远程计算机,如终端141和151。终端141和151可以是个人计算机或服务器,包括涉及管理器101的许多或所有上述元素。可选地,终端141和/或151可以是位于或远离管理器101且由管理器101访问的“云”计算环境的一部分。图1所示的网络连接包括局域网(LAN)125和广域网(WAN)129,但也可以包括其它网络。当在局域网网络环境中使用时,管理器101通过网络接口或适配器123连接到局域网125。当在广域网网络环境中使用时,服务器101可以包括调制解调器127或在例如因特网131的广域网129上建立通信的其它设备。应当理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。假设存在已知的各种协议,例如,TCP/IP、以太网、FTP、HTTP等等中的任一种。
另外,根据本公开的示例性实施例,由管理器101使用的应用程序119可包括计算机可执行指令,用于调用涉及传送程序指令和/或内容的函数。
计算设备101和/或终端141或151也可以是移动终端,这些移动终端包括各种其它部件,例如电池、扬声器和天线(未示出)。
本公开可用于众多其它通用或专用计算系统环境或配置。适用于本公开的、众所周知的计算系统、环境和/或配置的实例包括,但不限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、微处理器系统、基于微处理器的系统、机顶盒、可编程消费性电子产品、网络PC、小型计算机、大型计算机以及包括任何以上系统或设备的分布式计算环境等。
本公开可在由计算机执行的诸如程序模块的计算机可执行指令的一般上下文中描述。通常,程序模块包括例程、程序、对象、组件和数据结构等,其执行特定任务或实现特定的抽象数据类型。本公开也可以在分布式计算环境中实现,其中任务通过依靠通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参照图2,该图描述了一种可用于实现本发明的某些方面的过程和函数的工作站和服务器的示例性框图(例如,参看美国临时申请序列第61/428,560号中的附录A)。图2描述了示例性系统200,根据本发明的方法示出了实施方法。如图所示,系统200可包括一个或多个工作站201。工作站201可以是本地的或远程的,并且通过一个或多个通信链路202连接在计算机网络203,该计算机网络经由通信链路205连接到标签/内容管理器204。在某些实施例中,工作站201可以是不同的存储/计算设备,用于存储和运输客户特定的程序指令,或在其它实施例中,工作站201可以是用户终端,其用于访问客户网站和/或执行客户特定的应用。在系统200中,管理器204可以是任何合适的服务器、处理器、计算机或数据处理设备及其组合。在整个公开中,标签/内容管理器204将用于参考存储程序指令的服务器/终端,用于标签/内容管理和标签/内容管理程序指令本身。
计算机网络203可以是任何合适的计算机网络,包括因特网、内联网、广域网(WAN)、局网络(LAN)、无线网络、数字用户线路(DSL)网络、帧中继网络、异步传输模式(ATM)网络、虚拟专用网(VPN)或上述网络中的任何网络的任意组合。通信链路202和205可以是用于工作站201和服务器204之间进行通信的任何合适的通信链路,例如网络链路、拨号链路、无线链路和硬连线链路等。
在图中随后的步骤可以通过图1和图2中的一个或多个组件和/或包括其它计算设备的其它组件来实现。
将EnsightenManageTM产品作为例子,其方面描述在美国临时申请第61/428,560号的附录中,网页作者可以在网站服务器504上的网页502的顶部处包括Ensighten的代码(或其它类似代码510A)(例如,JavaScript代码的单个一致的线)。该代码允许与网页相关联的内容/标签的管理。例如,EnsightenManageTM产品可以用于收集关于访问者的鼠标悬停在特定的对象(例如“鼠标悬停”)上的运动的分析数据,并且将该数据发送到远程服务器(例如,Ensighten的数据库506,该网页所有者的数据库504,或其它服务器508),用于储存/分析。假设网页所有者操作标记管理软件, 他们直接管理收集关于他们网页访问者的什么数据和该数据分布在哪里。在这种方案中,CPO可能不需要PMS以监控和调节(例如,阻止)围绕他们网站的访问者的分析数据流。
然而,一些公司可能将它们网络分析外包给一个或多个第三方供应商508A、508B,这些供应商专门从事网络分析、网络广告和其它网络相关的服务。同时,这些第三方供应商可以与一个或多个第四方供应商508C订约/合作,以帮助收集数据、显示/选择广告图像以及分析收集的数据等。在图5A、5B和5C所示的实例中,第四方供应商(如“广告供应商X”580C)可以在公司的网页502上执行代码510B或从这些网页上收集分析数据。该第四方供应商可能不为网站所有人所知。在这种方案中,CPO可能具有与先前场景对于有关他们的网站访问者信息的收集和流的不同的控制。此外,如果隐私问题(例如,通过客户抱怨,来自不同权利的隐私法,等)突出,CPO可能无法有效地评估和调整(例如,实时)分析数据的流出。
用于静态网页的离线审查的基本PMS。在一个实施例中,PMS可用于审核网页。PMS可解析网页(例如,HTML)和识别在网页上的所有元素(例如,图像标签、JavaScript标签、FlashTM标签、AppletTM标签等)。PMS可识别这些元素相应的位置(例如,URL、域和亚域)。例如,在这种实例中,PMS可以识别所有元素源自的域(例如,HTML图像标签的“src”属性)。基本的CPO仪表板(即,图形用户界面,其可以在计算机屏幕上显示)可以识别各个域名,并识别什么类型的信息被传递到那些域。在另一个实例中,用于审查网站的PMS也可以检查和分析用于在修改时怀疑的尝试的PMS方法,并报告它们(例如通过CPO仪表板)。在一些实施方案中,检查和分析也可以使用的隐蔽部署的JavaScript监控程序,该程序包括在本公开中描述的特征的各个方面。在其它实施方案中,PMS可以执行选择的PMS方法的代码的直接(或散列)的比较来检查修改。检查和/或分析可以在包括在定期抽查期间的各种不同的时间出现,并相应地报告发现。
虽然这种方法足够用于HTML元素构建进入页面的基本的静态网 页,但是当脚本(例如,JavaScript代码)动态更新网页上的HTML元素的属性值和/或将新元素增加到网页的文档对象模型(DOM),这种方法可能不够。另外,在该实施例中的PMS执行离线审查(例如,使用网络蜘蛛/机器人),因此,不能提供有关的实时信息及来自网页的数据流的控制。
用于动态网页的实时监视和/或控制的PMS。在另一个实施方案中,PMS可以提供有关的实时信息以及数据流到和从网页502到公司的网络服务器504上的控制(例如,网页的分析数据)。脚本代码(例如,JavaScript代码)可以嵌入在网页中(例如,在网页的顶部)以允许PMS交互DOM及网页的其它方面。这种脚本代码可以整合现有的标签管理或网络分析解决方案。例如,这种脚本代码可以包括作为在网页502的顶端的Ensighten的代码510A的一部分,如同每一EnsightenManageTM产品。
覆盖具体方法。当加载网页时,PMS网页的客户机-浏览器脚本代码510可以在网站访问者的计算设备100上执行(例如,个人计算机、膝上型计算机、智能电话、平板等)。确保这个脚本代码(例如,JavaScript)在外部供应商(例如,第三方、第四方等)的代码执行之前执行,PMS的客户机-浏览器脚本代码510A可以覆盖在网页上可用的一个或多个JavaScript方法。结果,当后续脚本和页面元素510(例如,HTML标签)在网页上进行处理和呈现时,执行PMS覆盖的JavaScript方法,而不是执行标准的JavaScript方法。特别地,可能希望覆盖那些导致向DOM产生或添加新的元素的方法。例如,在当前的JavaScript标准中,这些方法的一些实例包括但不限于(1)appendChild,(2)insertBefore,(3)replacechild及(4)写入方法。
JavaScriptAppendchild()实例。例如,使用Appendchild()方法,该方法在输入的元素节点的最后子节点之后添加一个节点,该方法可用至少下列示例性的4行伪码覆盖:
行0:Node.prototype.appendChild=Node.prototype.appendChild;
行1:Node.prototype.appendChild=function(a){
行2://codeformonitoringandregulatingtheappendChildmethod
行3:this.appendChild(a);};
在第0行中,“节点原型”语言用来参考基本类,当基本类被修饰时,其适用于DOM中的所有元素。作为这种“_appendChild”用于存储作为JavaScript标准的一部分的原始appendChild()方法的参考。然后,在第1行中,原始的appendChild()方法被第2行和第3行中新的、自定义代码覆盖。第3行调用原始的appendChild()函数,但是在调用这个函数之前,PMS可以插入代码,用于监视和调节出现在网页上的脚本。特别地,这种代码可检查正送入appendChild()方法中的“img”(图像)元素/对象,并检查它的何种类型的分析数据被收集并且其中该数据将发送到哪里的信息。例如,如果“img”(图像)元素是一个HTML图像元素(即,对象),那么“src”属性的值可指示域名(例如,带有全路径和文件名的URL)和其它信息。在本文中使用的术语“域”或“域名”适当地表示成资源的完整的URL或URL的缩写形式。
白名单和黑名单的特征。另外,在一些实施方案中,第2行中自定义代码可以包括域名与已知的友好的和/或敌意的域的比较。例如,该域名可以与白名单406(即,友好位点)和黑名单408(即,敌意位点)作比较(参见图6,参考文献610)。该比较可以通过直接比较、通过包括正则表达式的比较,或两者的组合进行。该比较可以包括一个或多个或没有域的宿主、路径、文件、查询参数、散列或超文本传输协议标题字段(例如,用户代理字段、引荐者字段和/或cookie字段)或其它参数。白名单(和黑名单)可以包括带有组合域名、亚域名等的通配符的正则表达式。另外,黑名单(或可选地,白名单)可以包括默认的表达式以指示所有未识别的域名应受到阻止。CPO可以通过在线仪表板等(参见图4)保持那些应当包括在白名单406和/或黑名单408中的域。在一些例子中,众多周知的未授权跟踪的具体位点可以自动添加(或建议用于添加)到黑名单。例如,已知不符合隐私法规(例如,本地法规、国外法规和/或DNT要求)的供应商的数据库(例如,广告服务器508C、网络分析供应商等)可以通过隐私管理系统用于相应地填充黑名单。
在这些情况下,其中试图加入网页的DOM的元素未被授权(即,与它通信的该域在黑名单上,或它不是在白名单上,并且默认设置为阻止未识别的域),PMS可以实时地阻止元素添加到DOM。因此,代码可以包含在上述第2行中以做出所需的比较,然后相应地反应。例如,如果该元素受到阻止,“img”(图像)元素/对象的“src”属性的值可以在“_appendChild“方法调用在第3行中之前被清除(参见图6,参考文献616)。可替换的是,在第3行中的“appendChild”方法完全可以跳过。作为又一种替换,元素可以被添加,但可以被修改(例如,利用默认值)以便呈现排放其数据收集能力(例如,通过清除要保存在元素/对象中的任何收集的分析数据的值)。例如,清除所收集数据的值包括修改/清除/移走附加到URL名称值对。(参见图6,参考文献618)。本领域的技术人员在阅读了这里公开的全文之后将理解,上述的实施例的至少一个或多个中的一个好处是PMS可以执行实时监视以及阻止/允许信息(例如,网络分析)传输向特定域/URL。这种实时监控可以允许网络分析分布的即时控制/调节的之后的分配,而不依赖于离线网页的事后审查。
PMS的其它报告的特征。除了提供CPO在线仪表板400,其它报告技术也可用于结合PMS。例如,响应于试图在公司的网站上收集和/或发送分析数据的黑名单上的域,SMS消息(或其它消息类型,例如,SMTP邮件消息、语音消息、即时通讯的聊天消息等等)可以产生并且发送到CPO(或其它个人或计算系统)。在另一个实施方案中,特定类型的数据可以被标记,因而当客户机侧的外部脚本试图调用涉及敏感私人用户数据的特定方法,接着实时(或延迟)警告可以生成。例如,如果外部方的脚本试图调用读取智能电话设备(或浏览器或用户的其它的唯一标识符)的唯一设备标识符(UDID)的方法,消息可以自动生成并发送到CPO。另外,报告402可以生成并发送(例如,通过电子邮件)到CPO,定期(例如,每周一次、每月一次、每天等)识别域名,该域名试图从公司的网站收集分析数据和分析数据的类型。
包装的技术方法禁止被覆盖。尽管本发明的JavaScript标准允许例如“appendChild”的一些方法被覆盖,但所述语言禁止其它方法被覆盖。 例如,使用图像元素的“src”属性来设定“设置”函数,JavaScript当前不允许PMS的客户机-浏览器脚本代码覆盖。得到授权的第三方供应商508A可包括在将“src”值改成未授权的第四方的域508C的公司的网页上的JavaScript,且仅依赖于覆盖方法和离线审查的PMS可能不能捕捉隐私策略违约。
另外,在一些实例中,分析数据的传输可掩蔽成没有添加到网页的DOM的图像元素。相反,图像元素可以通过分析提供器用于一个像素接一个像素的透明图像,用于收集与网页访问者相关的数据的目的。例如,“src”属性可以设置为URL,带有参数名称值对的添加的串(例如,www.hostname.com/theImage.tif?data=somcthing&data2=someMoreData)。一旦“src”属性被设置,该浏览器可尝试定位和检索在URL处的图像位置。在这样操作时,可以在远程服务器处获得分析数据作为这些名称值对。因此,覆盖方法用于将该图像元素添加到网页或检查域,这不足以使PMS来监视和控制(例如,允许或阻止)分析数据的流出。尽管本文已经描述了作为一个用于从计算装置收集和传送信息到远程服务器的技术实例的图像元素,但所述公开预期其它元素/对象可以使用,且本文所述技术和/或系统可以类似地应用于那些其它。
因此,在一些实施方案中,除了覆盖那些能够被覆盖的期望的方法,PMS可以包括存储用来包装可用于HTML图像元素/对象的方法的脚本代码(例如,客户机-浏览器脚本代码)的非暂时性计算机可读介质。本领域的普通技术人员在阅读了这里所公开的全文之后将理解其它的方法/对象(例如,元素)可用这种方式“包装”(即,在本公开中指在各种实施例中的覆盖),以克服在覆盖一些方法上的禁止(即,由于缺乏脚本语言的函数)。
例如,HTML图像元素使用图像构造函数在JavaScript510B中创建。该构造函数可以被覆盖。然而,除了覆盖该构造函数方法,PMS客户机-浏览器脚本代码510A包括按规则的时间间隔触发(例如,50ms等)的计时器(或等效机构)来检查图像元素的属性值。(参见图6,参考文献606)。具体地,“src”属性值可以被监视以确定Javascipt代码(或其它代 码)510B是否已经更改了属性值。(参见图6,参考文献608)。在另一个实施方案中,假定运行该脚本代码的底层平台100提供函数,触发可以不基于重复的间隔(或者轮询)模式,而是基于一旦检测到改变的属性值后自动地触发的“推”模式(参见图6,参考文献606)。这样的模式可以类似于硬件中断请求(IPQs)模式如何操作,或者带有送话器-受话器模式的基于事件的程序(例如,推-交互模式)如何工作。
在上述实例中,属性值是否被改变的确定可通过PMS客户机-浏览器脚本代码比较所检索的属性值与所存储的属性值做出(参见图6,参考文献608)。当调用原始图像构造函数时,可以获得所存储的值。当已经确定属性值已改变,PMS客户机-浏览器脚本代码可检查更新值和其它相关的信息来决定是否允许更新值(参见图6,参考文献612)。在一个实例中,PMS脚本代码可保持相同的属性值。在其它实例中,PMS可以比较新值与白名单406和/或黑名单408,以确定是否允许更新值(参见图6,参考文献612)。在又一示例中,“src”属性值可以改变到默认值(例如,对应于中性、透明图像的URL),而不是新值(参见图6,参考文献616)。有效地,PMS可以有条件地保持原始图像参考与新图像同步,采用使用覆盖图像构造函数的“包装”技术对象创建新的图像对象。(参见图6,参考文献如614和618)。
在根据本公开的一个实例中,JavaScript代码可实现实施的各个方面,该实例提供有至少具有用于图像元素的伪代码的下列样品行。本领域的技术人员在阅读了这里公开的全部内容将理解,本发明不限于仅仅HTML图像元素,并且可以在文档对象模型中(DOM)应用于其它元素以及DOM外部的其它对象:
行0;(function(scope){
行1:varImageRef=scope.Image;scope.Image=lunction(a.b){
行2:varTHIS=this,image,eventHandlers=['AbortVErrorVKeyDownVKeyPressVeyUpVload'],exclude={children:",childNodes:",outerllTML:"},excludeMethods={naturalHeight:",naturalWidth:"};
行3:image_newImageRef(a,b);
行4://codeheretomaketheobjectthatthePMS'soverriddenconstructorreturns(i.e..,"THIS")lookexactlyliketheimageobjectthattheoriginalimplementationreturns
行5://codeheretocreateemptyfunctionsonthePMS'simageobjectforalltheeventhandlers(e.g.,onLoad,etc.)listedin"eventHandlers"in行3sothattheseeventhandlermethodscanbemonitoredandcontrolled
行6:setlnterval(function(){
行7:for(pinTHIS){if((THIS[p]!==image[p])&&(THIS[p]!==undefined)&&!(pinexcludeMethods)){try{if(p==='src'){
行8://codeformonitoringandregulatingtheimageelement'ssrcattribute
行9:}image[p]=THIS[p];THIS[p]=imagefp];...
参见在该实例中的第0行,已经创建新的函数,将JavaScript的全局范围(即,“窗口”)传递到该函数。在第1行中,原始图像构造函数函数存储在变量“ImageRef,”中,接着用于图像元素的构造函数函数被覆盖(参见图6,参考文献602)。“a”和“b”输入参数可以选择性地分别提供图像的宽度和高度。在第2行中,专用的“THIS”变量指示应该监视哪些事件处理器,和在图像元素/对象上的哪些该方法可以被排除在外。
参见该实例中样本代码的第3行,虽然ImageRef()方法用两个输入参数调用,条件代码(例如,条件语句)可以包括在内以便任选调用使用一种输入参数或没有输入参数的ImageRef()方法。此外,当少于两个可选的输入参数是所期望的,这种条件代码可以是有用的。在第4行中,“for”循环可以用于将原始图像元素/对象所有的特性复制到包装器创建的对象上(参见图6,参考文献604)。在第5行中,事件处理器安装在包装器中以便监测。在第6行中,函数定义为将在规则的时间间隔重复执行(参见图6,参考文献606)。在这种情况下,伪代码省略设置间隔()的 终括号(“}”),并且为每个间隔调用接受时间量(例如,50ms)。
在第7行中,代码检查这些PMS感兴趣的图像属性(参见图6,参考文献608)。具体地,在第8行中,如果正在分析的属性是图像对象的“src”属性,则PMS可根据隐私法规进行反应。例如,如上文关于appendChild()伪代码的实例的第2行,“src”属性的值可以对照(例如,进行比较)白名单和/或黑名单,以及其它可能的动作/法规(参见图6,ref.608)。如果PMS确定没有隐私侵犯会发生,则预定义对象的实际同步(例如,图像对象514)和对应的覆盖对象(例如,包装器图像对象512)发生在第9行(参见图6,参考文献612和614)。
本领域的普通技术人员在阅读了这里公开的全文以后可以理解上面给出的伪代码的行仅仅是代码的解释和/或通过代码所实现的函数。一个或多个代码的行可以在上述呈现简化的实例中省略。
识别第四方访问后面的第三方错误。参照上述关于监视图像元素的实例,第2行还可以包括对logStack()函数(或可比函数)的调用来确定哪些特定的JavaScript代码试图创建图像元素/对象或更新图像元素的“src”属性。这种信息可以允许CPO除了识别被发出的数据是什么外,识别哪些第三方脚本负责被发送的数据。在一些实施方式中,logStack()函数通过产生一个“错误”类型对象并将数据从其剥离来运行。“错误”对象可以包含堆栈跟踪,该堆栈跟踪包括关于创建或修改图像元素/对象的调用源自哪里的信息。虽然该函数可以用在根据本公开的一些实施方式中,但是它可以被在一些实施方式中省略,其中浏览器的特定限制可以阻止对“错误”对象的适当访问。在一些实例中,除了显示其它信息外,PMS还可以在CPO仪表板上识别负责隐私策略侵犯的供应商。本公开还预期以其它方式捕获堆栈跟踪(或可比日志)。例如,在logStack方法(或可比函数)中的“arguments.caller”特性或“Function.caller”特性可以被检查,代替或者另外检查如上所述的错误对象。
隐私信息检测和处理。如上文公开的,本公开的方面涉及到防止或降低由不期望的和/或未知的第三方和/或第三方捕获分析数据(例如,网页分析数据)的可能性。为了这个目的,指导了由第三方和第四方使用以 捕获分析数据的覆盖方法的技术。本公开还指导了用于创建包装器对象以当第三方和/或第四方使用不可被覆盖的“setter”函数时监视和/或阻止分析数据向第三方和/或第四方的传输。所描述的技术中的每一个可使用白名单和/或黑名单以确定是否应该阻止尝试捕获分析数据的第三方或第四方这样做。在该公开的另一方面,PMS可评估第三方和/或第四方正在尝试捕获的分析数据以确定该分析数据是否包含隐私信息,而不是单独基于白名单和/或黑名单阻止分析数据被传输至第三方或第四方。换言之,在一些实施方式中,PMS还可分析(或处理)分析数据以确定其内容,并确定那些内容是否可能包含隐私信息。其中,隐私信息可包含个人信息,个人信息可以是识别个人的任何信息。个人信息的实例可包含姓名(名、中间名、姓、昵称)、用户名、电话号码、邮编、地址、年龄、种族等。隐私信息还可包含个人期望保持私密的任何其他信息,例如,账号信息(例如,银行账号信息、信用卡账号信息等)、密码、安全问题和答案等。
PMS可以以各种方式实现对隐私信息的检测。每一个实现可包含用于从文档(或者诸如DOM的对象模型)中的节点提取数据的方法。另外,这种方法可被分成两种类别的其中一种,两种类别为:通过观察属性提取数据的方法和通过调用方法提取数据的方法-基于其中数据(其可能潜在地包含隐私信息)被提取的方式。一些实施方式可实现来自这两个类别的方法。来自两个类别的方法的描述如下。
通过观察属性提取数据的方法。可由PMS的代码访问诸如DOM的对象模型的一个或多个节点。PMS代码(例如,PMS的客户端-浏览器脚本代码510A)可包含由在工作站201上运行的程序(例如,浏览器)执行的JavaScript代码的Ensighten的单一的一致行(在申请序列号61/428,560的美国临时申请中描述的)。在这种情况下,代码的单行可向工作站201提供PMS的脚本代码,从而使得Ensighten的数据库506(或者诸如网页所有者的服务器504的另一个服务器)上的PMS的代码可与在工作站上加载的网页502的DOM的节点进行交互并且对该节点进行评估。在其他情况下,PMS的代码可被完全存储在工作站201本身上(例 如,在RAM105或ROM107中),并被该工作站201的处理器(例如,处理器103)执行。
不管PMS代码被存储在哪里,一旦它访问DOM,则PMS代码可调用函数以检索DOM中的节点中的任何节点。例如,PMS代码可使用getElementById(id)函数以检索特定节点。getElementById(id)函数是用于检索来自DOM的元素的JavaScript的预定函数。DOM中的每一个元素具有相关的标识符。通过在getElementById(id)函数中将期望的标识符指定为id参数,PMS代码可检索来自DOM的相关元素。PMS代码可创建变量并为变量分配该函数的结果。例如,PMS代码可包含一下代码行以访问包含个人的姓(例如,如“JohnDoe”中的“Doe”)的文本节点并将其分配给名为“节点”的变量:
varnode=document.getElementById(“Last_Name_Text_Node”);
在该行代码中,“document”指的是PMS代码可以访问的DOM,其具有特定网页502的节点。接下来,变量“node”的属性可被观察,以使用JavaScript的预定函数提取数据(例如,值)。例如,“.nodeValue”属性可被用于提取包含在“Last_Name_Text_Node.”内的值。提取的值(例如,在Last_Name_Text_Node的情况下,其可能是文本)可被分配给另一个变量,例如,变量在如以下的PMS代码中名为“data”:
vardata=node.nodeValue;
作为PMS代码的这行的结果,在“Doe”(如“JohnDoe”中的)被包含在“Last_Name_Text_Node”中的地方,变量“data”可被分配“Doe”。其后,如在下文中更详细地描述的,PMS代码然后可以分析变量“data”以确定“Doe”是否包含隐私信息。
尽管在上文中描述了getElementById(id)函数,但是在一些实施方式中可使用另一个函数(例如,JavaScript中的getElementsByTagName(id)函数)。同样,PMS代码可使用其他预定属性以从DOM的节点提取数据(例如,值)。例如,PMS代码可使用“.innerHTML”、“.outerHTML”,“.textContent”、“.innerText”等属性以从DOM的不同节点提取各种数据。 在一些实例中,即使仅仅属性的其中之一可以被分配给变量,也可观察相同的节点的多个属性。例如,可使用如下的“OR”运算符(例如,“||”)来分配变量“data”:
vardata=node.innerText||node.textContent;
不管所使用的浏览器(例如,InternetExplorerTM、FirefoxTM、SafariTM等),这种类型的分配对于检查节点的属性可能是有用的。此处,PMS可被配置成阻止用于多种浏览器的分析数据。因此,在一些情况下,PMS可使用如上文所述的“OR”运算符,而在其他情况下,PMS可检测所使用的浏览器的类型并基于检测结果运行代码的特定模块。
而且,可使用PMS期望如下评估的每一个属性来创建一个或多个阵列:
varproperties=[‘innerText’,‘outerText’,‘innerHTML’,‘outerHTML’];
然后,PMS可穿过(traverse)阵列并执行特定函数以评估阵列中的每一个属性。但是,在其他实施方式中,多个变量可被用于从相同的节点的不同属性提取数据。例如,PMS代码可包含如下代码:
vardata1=node.nodeValue;
vardata2=node.textContent;
第三方和第四方可尝试从节点的任何属性或所有属性捕获分析数据。由于可在相同的节点的多种属性中找到隐私信息,所以期望的是评估每一个属性。在一些情况下,隐私信息可被划分并存储在多个属性中,因此可以期望的是,PMS代码观察相同的节点的多个属性,并一起评估数据以检测如下所述的隐私信息。因为PMS评估更多的属性,所以PMS可获得更高等级的安全性。然而,评估更多属性可降低性能,并因此,PMS可被定制以仅仅评估特定属性,特定属性被视为更可能包含隐私信息和/或更可能被第三方和第四方调查。
通过调用方法提取数据的方法。在这个第二类别中的方法使用关于节点的方法以提取保持在节点中的数据。初步地,合并来自该第二类别的过程的PMS代码可用与上文所述的一样的方式例如使用 “getElementById(id)”获取节点并可将获取的节点分配给变量。然而,该类别中的过程调用用于特定节点的方法,而不使用特定节点的属性以从该节点提取值。例如,继续上述实例,替代使用“.nodeValue”属性,“substringData(..)”可被应用于已经为其分配“Last_Name_Text_Node”的变量“node”上。特别地,可使用PMS代码的以下行,实现用于通过调用方法提取数据的方法。
varnode=document.getElementById(“Last_Name_Text_Node”);
vardata=node.substringData(1,10);
作为该PMD代码的结果,在“Doe”(如“JohnDoe”中的)被包含在“Last_Name_Text_Node”中的地方,substringData(1,10)方法可返回“Doe”,从而使得它可被分配给变量“data”。
尽管在上文中再次描述了getElementById(id)函数,但是在一些实施方式中可使用另一个函数(例如,JavaScript中的getElementsByTagName(id)函数),也实现用于通过调用方法提取数据的方法。另外,PMS代码可利用JavaScript中的其他预定方法以从DOM的节点提取值。例如,PMS代码可在节点上使用“getAttribute(..)”方法以从该节点提取值。
用于检测和处理/阻止隐私信息的方法。图7A和7B包含示出了用于检测和处理隐私信息的PMS的方法的流程图。作为执行页面(例如,网页)上的和来自PMS的机器可执行指令的结果,可以由一个或多个处理器来执行图7A和7B的步骤。如上文所解释的,对PMS的脚本代码的访问可通过Ensighten网关,其包含网页502中的单行代码。在步骤700中,可访问网页502的对象模型(例如,DOM)。具体地,浏览器可解析网页以获取包含网页502上的每一个节点的DOM。在步骤702处,可获取对象模型中的特定节点。可用多种方式穿过DOM,从而使得在步骤702处以其获取节点的顺序可变化。在一些实施方式中,方法可开始于在DOM的节点树顶端处获取节点。例如,在该方法的步骤702的第一实例中获取的节点可以是DOM的节点树的根元素的子节点。而且,在一些实施方式中,步骤702可获取属于超过另一个节点类型的一个节点类型的节点。例如,在步骤702中首次获取的节点可对应于元素节点,而不是文本节点, 其中期望的是首先评估元素节点。认识到第三方和第四方可通常从特定节点捕获分析数据,步骤702可被配置成在获取其他的节点之前获取这种节点。但是,在其他情况下,可随机选择在步骤702中首次获取的节点。
在步骤702中获取节点之后,方法可继续进行至步骤704。在步骤704处,可定义覆盖获取的节点的包装器对象。覆盖(或包装)获取的节点可包含覆盖获取的节点的构造函数(constructor)方法。明显地,获取的节点可以是多种不同类型的节点中的任何一个。例如,获取的节点可以是文本节点、元素节点、属性节点等。同样地,PMS代码可被配置成覆盖任何类型节点的构造函数。特别地,PMS可包含函数,该函数被配置成为在步骤704处获取的任何类型的节点创建通用包装器对象。例如,以下“GenericWrapper”函数可被使用。


该函数允许创建通用包装器对象而不是获取的节点。如上文所述的,诸如JavaScript的一些语言不允许特定方法(例如,用于设置图像元素的‘src’属性的设置函数(setterfunction))被覆盖。通过创建通用包装器对象而不是在步骤702中获取的节点,PMS能够避免这个限制。具体地,可替代获取的节点的通用包装器对象可配备有专门的帮助函数(例如,设置函数、获得函数(getterfunction)、eventHandler函数等),帮助函数允许PMS控制包装器对象的属性的值和由包装器对象的方法返回的值。换言之,因为PMS不能改变节点的特定值,所以它使用其自己的独特函数(例如,“GenericWrapper”),独特函数能够为任何类型的节点创建通用包装器对象以替换该节点。
为了使PMS代码调用“GenericWrapper”函数以为任何类型的节点创建通用包装器对象,“GenericWrapper”函数可使用专门设计的帮助函数。实例帮助函数包含以下:




在定义包装器对象之后,步骤706可配置包装器对象以匹配获取的节点。即,包装器对象可被配置,从而使它具有与从DOM获取的原始节点完全相同的属性和值(例如,文本)。在步骤704中用于定义通用包装器对象的相同函数(例如,“GenericWrapper”)可包含用于配置通用包装器对象以匹配获取的节点的一个或多个帮助函数。当调用了用于定义通用包装器对象(例如,“GenericWrapper”)的函数时,对该函数的调用可包含用于通过获取的节点的参数。因此,用于定义通用包装器对象的函数可接收它试图复制的节点的副本。因此,用于定义通用包装器对象的函数可使用上文中讨论的用于提取数据的方法(例如,通过观察节点的属性和调用节点上的方法)来从它接收的节点的副本提取数据。
在步骤708中,PMS可检查以查看是将分析获取的节点的数据还是检查隐私信息。即,步骤708可包含关于是否应配置将被创建代替获取的节点的包装器对象以分析数据的PMS的确定。在一些实施方式中,步骤708中的确定可取决于在步骤702中获取的节点类型。一些节点的数据可被分析,而其他节点的数据不可被分析。例如,PMS代码可以能够或者被授权以分析关于元素节点(但不是文本节点)的数据。提供PMS的实体(例如,Ensighten)可与其客户(例如,网页所有者和网站所有者)合作以确定应分析哪些节点以及不应分析哪些节点。该合作可导致用于分析的节点名称清单。如果是这样,则步骤708可将获取的节点的名称与在这种清单上的名称进行比较,以确定是否应该配置将被创建代替获取的节点的包装器对象以分析数据。为了平衡期望的性能等级和期望的安全等级,PMS可被定制成使用为隐私信息分析数据的包装器对象替代特定节点。
而且,应理解,每次将创建节点的时候,应进行是否使用分析数据的包装器对象来替换该节点的确定。即,每次用户尝试使用PMS代码查看网页时,PMS可以进行步骤708中的确定。而且,确定的结果每一次可基于数据分析是被开启还是被关闭而不同。提供PMS代码(例如,Ensighten)的实体或者网页所有者可定制PMS代码以开启/关闭数据分析。例如,可通过与特定的网页或网站相关的被存储的设置来执行开启/ 关闭数据分析。如果是这样,则检查以查看数据分析是开启还是关闭可包含检查这种设置。
如果将不分析数据(在步骤708处为否),则PMS可继续进行到步骤710,以使用包装器对象替换获取的节点,该包装器对象已经被创建以看起来完全像获取的节点。换言之,获取的节点可与包装器对象同步,从而使得包装器对象变成DOM的部分。在一些情况下,步骤710可能不替换获取的节点,因为包装器对象被配置成复制获取的节点。在任何事件中,在步骤710之后,PMS可继续进行到步骤799,以确定是否已经获取了所有的节点。如果已经获取了所有的节点,则PMS代码可停止获取节点并可结束执行。如果在DOM中具有PMS代码尚未获取的其他节点,那么PMS可返回到步骤702并执行关于最近获取的节点的随后的步骤。
如果将分析数据(在步骤708处为是),则PMS可继续进行到步骤712。在步骤712处,PMS可配置包装器对象以包含一个或多个定制的获得函数。获得函数是在节点上被调用以从节点检索数据的函数。上文中公开的“createGetters”函数可被配置成建造一个或多个定制的获得函数。通过使用具有定制的获得函数的包装器对象替换获取的节点,PMS代码可控制由包装器对象返回什么数据。具体地,定制的获得函数可被配置成返回获取的节点将返回的数据,只要该数据不包含隐私信息和/或未被用于分析数据。因此,定制的获得函数可被配备有函数或对函数的调用,函数或对函数的调用可确定将替代获取的节点的通用包装器对象的数据是否包含隐私信息。额外地或可选择地,定制的获得函数可配备有函数或对函数的调用,函数或对函数的调用可评估堆栈跟踪以确定获得函数是否被调用以返回分析数据。
在步骤714中,PMS代码可使用DOM中的具有定制的获得函数的包装器对象来替换获取的节点。换言之,在步骤714处,获取的节点可与包装器对象同步,从而使得包装器对象变成DOM的部分。同样地,获取的节点及其原始函数(例如,原始获得函数)对于争取收集分析数据的DOM中的其他节点来说可能不再是可访问的。反而,争取从获取的节点 收集数据的节点可尝试访问包装器对象的新获得函数,不像原始获取的节点,其可防止隐私信息被捕获。
在一些实施方式中,可使用JavaScript代码实现用于穿过DOM以获取节点、创建通用包装器对象并使用通用包装器对象替代获取的节点的上述步骤中的若干个。伪代码的以下行示出了可如何使用JavaScript以执行以上描述的步骤中的一些。鉴于这些行和本公开的全文,本领域的技术人员应理解可实现其他变体和方法。
第0行;varelems=document.getElementsByTagName(*);
第1行;for(vareleminelems){
第2行;vartheNodeToWrap=document.getElementByID(‘elem’);
第3行;varNewWrapperObject=newGenericWrapper(theNodeToWrap);
第4行;document.replaceChild(theNodeToWrap,NewWrapperObject);}
第0-2行可被用于实施上面所述的步骤700和702。在第0行中,可使用在DOM上调用的方法(例如,getElementsByTagName(..))将DOM中的所有元素节点(例如,“document”)放置在元素阵列(例如,“elems”)中。通过在该方法中使用星号(例如,“*”),可识别DOM中的所有元素。
在第1行中,“forloop”可被创建以对在第0行中识别的元素阵列中的每一个元素起作用。因此,可为元素阵列中的每一个元素实施在第2-4行中的代码。
在第2行中,来自元素阵列的特定元素被选为步骤702中获取的节点,其中将为该获取的节点创建包装的对象。该选定元素被分配给名为“theNodeToWrap.”的变量。
在第3行中,由作为参数被传递的“theNodeToWrap”进行对GenericWrapper函数的调用。该行代码将由GenericWrapper函数返回的通用包装器对象存储为名为“newWrapperObject.”的变量。而且,该行中 的调用可以是上述步骤704中的实现并可发起实施步骤706、708和712的过程。
在第4行中,在DOM上调用replaceChild(..)方法以使用“newWrapperObject.”替换“theNodeToWrap”。该代码可实现上文所述的步骤710或714,取决于GenericWrapper函数是否已经使用分析数据的函数(例如,获得函数)创建了包装器对象。
一旦在步骤714处使用包装器对象替换了获取的节点,则可对该包装器对象的任何函数进行调用。例如,其中已经放置了包装器对象的相同的DOM中的另一个节点可调用包装器对象的获得函数。一些节点可由于合法的、非分析数据收集原因而调用新包装器对象的获得函数。例如,一个节点可调用新包装器对象的获得函数以在网页502上显示新包装器对象的值用于让用户查看。甚至在所显示的值是隐私信息的地方,该动作或事件可以对于用户是可接受的,因为正是该用户在查看隐私信息并且隐私信息未被传输或被其他人查看。然而,相比之下,一些第三方或第四方可在网页502上插入节点,网页502调用在该相同的网页上的其他节点的获得函数以收集分析数据。步骤716示出实例,实例中,一些类型的节点(由第三方或第四方收集分析数据的节点或不收集分析数据的节点)进行对新包装器对象的获得函数的调用。
在步骤718处,新包装器对象的获得函数可确定是否出于分析数据收集的目的将其调用。如上所述的,新包装器对象的获得函数可包含一个或多个函数,一个和多个函数被用于评估堆栈跟踪以确定调用获得函数以返回将作为分析数据被传输的数据的可能性。例如,评估堆栈跟踪时,获得函数可确定将其调用的节点还调用了若干个其他获得函数,以及作为结果,获得函数可推断它已被正在收集分析数据的节点调用。额外地或可选择地,获得函数可评估将其调用的节点以查看该节点的URL是否出现在白名单和/或黑名单上,白名单包含预先批准的URL的清单,黑名单包含未批准的或不赞成的URL的清单。
不管怎样,如果所调用的获得函数确定未出于分析数据目的已经将其调用(在步骤718处为否),那么获得函数可起它替换的原始节点的作用 并返回在步骤720处所要求的值。相比之下,如果获得函数确定出于分析数据的目的可以已经将其调用(在步骤718处为是),那么步骤722可被实施。
在步骤722中,PMS可实现用于通过观察如上所述的包装器对象的一个或多个属性来从包装器对象提取数据的一个或多个方法。具体地,获得函数(和/或被获得函数调用的一个或多个帮助函数)可提取其所属的相同的包装器对象的一个或多个属性并观察哪些属性。如在上文中总体解释的,可通过使用以下行提取节点的属性以获取潜在的分析数据:vardata=node.nodeValue。当被使用在步骤722中时,“data”可以是包装器对象的变量,以及“node”可以是已经被配置成匹配获取的节点的包装器对象本身。
额外地或可选择地,PMS可实施步骤724。在步骤724处,PMS可实现用于通过在如上所述的包装器对象上调用一个或多个方法来从包装器对象提取数据的一个或多个方法。如在上文中总体解释的,诸如“substringData(..),”的方法可在节点上被调用以利用如下行从节点提取数据:vardata=node.substringData(1,10)。当被使用在步骤724中时,“data”可以是包装器对象的变量,以及“node”可以是已经被配置成匹配获取的节点的包装器对象本身。
在步骤726处,一旦提取了数据,则PMS可执行模式识别软件以评估数据。模式识别软件可包括被获得函数调用以评估提取的数据的一个或多个函数。可选择地,模式识别软件可被存储在Ensighten数据库506、网页所有者的数据库504或另一个服务器508上。而且,模式识别软件可被配置成寻找在提取的数据中的模式以识别隐私信息。特定类型的隐私信息具有可表示包含了什么类型的信息的共同特性(或模式)。例如,因为已知电话号常常被表示为七(7)个数字,如果所提取的数据具有七个数字,那么它可能是数据包含电话号码的指示。模式识别软件可做出关于提取的数据是否是诸如电话号码的隐私信息的最终确定。在不同实施方式中,可能要求不同程度的相似性。例如,扩展以上电话号码实例,模式识别软件可能不将七个数字归类为电话号码,但如果前三个数字被字符(例 如,句号或者连字号)与后四个数字隔开,则可能将七个数字归类为电话号码,因为这是表示电话号码的常见方式。尽管在本文中通过实例的方式使用了电话号码,但是其他类型的隐私信息可具有共同特性,并且因此,可以是可使用模式识别软件来识别的。而且,识别一则隐私信息可协助识别另一则隐私信息。例如,如果软件确定数据包含信用卡号,那么它可确定该信用卡号邻近的三个其他数字对应于关于该信用卡的安全码。
模式识别软件还可使用关于提取的数据的环境的信息。例如,PMS可确定获取的节点来自对应于银行网站上的网页的DOM。PMS可将该信息反馈给模式识别软件,从而使得模式识别软件可对识别在提取的数据中的银行账号特别灵敏。此外,模式识别软件可配置用于在检测数据是否包含隐私信息之前对数据进行解密的多种解密算法,因为一些包装器对象可用加密形式存储数据。环境信息也可被模式识别软件使用以确定使用哪些解密算法或者从哪些解密算法开始。例如,网页/网站所有者当创建包装器对象时可要求PMS对特定数据进行加密,并且因此,PMS可使用包装器对象属于这种网页/网站的其认知来选择解密算法以在评估数据之前对其进行解密。
步骤728查看模式识别软件的结果。具体地,在步骤728处,PMS可确定模式识别软件是否已经将提取的数据识别为隐私信息。明显地,在一些实例中,在步骤728处的确定可能不查看隐私信息是否正确-而只查看它是否是隐私信息(例如,电话号码)。例如,步骤728可能不确定提取的数据中的电话号码是否是正在查看从中获取节点的网页502的人的正确电话号码,并且相反,可确定提取的数据是否完全是电话号码(例如,具有电话号码的格式)。此外,在一些实例中,步骤728可确定是否应该阻止所识别的隐私信息被传输至第三方和第四方。在一些情况下,模式识别软件可识别用户(例如,CPO)可能不介意允许第三方和第四方在分析数据中收集的隐私信息。在这种情况下,尽管模式识别软件检测到分析数据包含隐私信息,但是PMS可基于由用户(例如,CPO)设置的规则来确定数据不是应被阻止的隐私信息。如果用于包含获取的节点的网页的规则表明隐私信息不需要被阻止,那么在步骤728处PMS可确定数据不是 隐私信息(在步骤728处为否)。用户(例如,CPO)可通过例如下文中更详细地描述的仪表板404来表明他/她是否希望保持隐私信息免受第三方和第四方来协助创建这些规则。如果PMS确定提取的数据不是隐私信息(在步骤728处为否),那么PMS可继续进行到步骤730。步骤730可与上述步骤720相似。
在一些实施方式中,在步骤728处的确定可考虑提取的数据是否是正在查看从其中获取节点的网页的人的实际的(或正确的)隐私信息。PMS可使用一个或多个内部数据库或者一个或多个外部数据(例如,黄页)以查看隐私信息是否是正确的,内部数据库可存储由用户出于保护他们的隐私信息的目的而提供给PMS的信息。在这些情况下,如果隐私信息是不正确的,那么PMS可继续进行到步骤730,因为当它是错误的时候,对于保护信息可能不存在问题。
如果数据是隐私信息(在步骤728处为是),那么PMS可继续进行到步骤732。本公开可提供用于处理其中分析数据包含隐私信息的情况的若干个解决方案。在步骤732处,PMS可确定实现一个或多个解决方案中的哪个。不同解决方案可被用于不同实施方式和/或节点。如在图7B中示出的,PMS可确定是否报告分析数据或修改分析数据。
在步骤734处,PMS可向诸如Ensighten的数据库506的数据库报告被识别为隐私信息的分析数据。因此,第三方和第四方试图捕获的分析数据可随后被评估。而且,可对被报告的数据进行趋势分析以检测什么类型的信息最经常被第三方和第四方作为目标。与报告分析数据一起,PMS还可报告被用于说明该分析数据的节点类型(例如,在步骤716处调用获得函数的节点类型)和/或数据旨在用于或被传输至(如果不被阻止)的URL。从该信息,趋势分析还可确定哪个第三方和第四方获取什么分析数据和/或第三方和第四方如何(例如,通过什么类型的节点)捕获分析数据。
而且,在一些实施方式中,PMS可使用趋势分析的结果以增强隐私信息的安全性。例如,如果PMS确定特定URL在接收超过特定阈值的一定量的分析数据,那么PMS可自动将该URL加到黑名单以阻止该URL 接收分析数据。不管怎样,在步骤734之后,PMS可继续进行到步骤799,以检查是否将从DOM获取额外的节点。
返回到步骤732,如果将修改分析数据(在步骤732处修改),那么PMS可继续进行到步骤736。在步骤736处,可用多种方式修改分析数据。在一些实例中,PMS可清除或删除数据,从而使得如果接收了,则它具有空值、“0”、未定义的、错误等值。可选择地,PMS可改变分析数据以具有一些其他值。例如,PMS可将银行账号改为一些其他数字以欺骗第三方或第四方使他们相信他们正在接收正确的银行账号。对于跟踪第三方或第四方是否正不恰当地使用他们接收的分析数据,这可能是有用的。例如,如果接收改变的银行账号的第四方试图使用该改变的银行账号访问银行账户,那么可跟踪到第四方。在其他实例中,分析数据可被改变以包含对第三方或第四方的警告,警告他们未被授权接收他们正尝试捕获的分析信息。
一旦分析数据被修改,则在步骤738中,可将修改的分析数据返回到在步骤716处调用获得函数的节点。结果是,修改的分析数据可被传输至与在步骤716处调用获得函数的节点有关的第三方和第四方,且最初在获取的节点中的隐私信息可被保护。
为了实现步骤728-738,PMS代码可包含条件(if-else)语句。即,在PMS代码中的条件语句可被用于处理模式识别软件的结果。例如,PMS可包含条件语句,该条件语句检查由模式识别软件返回的布尔运算,以及如果该布尔运算的值表明信息是隐私信息,那么PMS代码可执行代码以清除数据(例如,data=0)或修改数据(例如,data=“informationnotallowed”)。
另外,在步骤738之后,PMS可继续进行到步骤799。如果在步骤799处PMS确定已经获取并处理了特定网页502的DOM中的所有节点,那么PMS可停止获取节点并结束处理,直到页面被刷新或选择新的页面。
图7A和7B示出了实例步骤。在一些实施方式中,特定步骤可以是可选的、忽略的或重新排序的。例如,在一些情况下,可忽略步骤718,且新包装器对象的获得函数可将对其的所有调用视为可能来自出于分析 目的而收集数据的节点。而且,尽管图7B示出了可报告或修改返回的隐私信息,但是可选择地,不是必须采用这些解决方案。在一些实施方式中,隐私信息可只被修改,隐私信息可只被报告或者隐私信息可总被修改和报告。
在另一个可替代的实施方式中,在步骤702和704之间可实施额外的步骤,以确定获取的节点是否包含隐私信息。如果获取的节点不包含隐私信息,那么PMS可不通过为获取的节点创建包装器对象的过程。换言之,PMS可确定不需要保护获取的节点的信息,并因此,可跳过为该获取的节点创建通用包装器对象。
在又一个可替代的实施方式中,在步骤702和704之间可实施额外的步骤,以确定获取的节点的URL是否在黑名单上。如果获取的节点包含在黑名单上找到的URL,那么PMS可不为该获取的节点创建包装器对象,并且相反,可简单地将其从DOM中去除。换言之,可增加步骤以净化DOM,以去除已知/怀疑被用于不期望的分析数据收集的节点。
根据刚描述的额外的步骤,应理解,其他步骤可被增加至图7A和7B的步骤,以及在这些图中示出的步骤旨在提供实例步骤,从实例步骤,本领域的技术人员将理解如何做出和使用PMS代码。
首席隐私官员的仪表板。图4A和4B示出关于CPO仪表板404的图形用户界面400。PMS可存储计算机可执行指令和/或提供客户端-浏览器脚本代码,从而使得仪表板404可被呈现在与Ensighten的数据库506有关的计算设备上、在与网页所有者的数据库504有关的远程计算设备(例如,与网页的所有者有关的CPO的远程计算设备)上、或者在网页访问者的远程计算设备100上。仪表板404的各方面允许创建用于授权或阻止对从网页收集的分析数据的直接访问的隐私规则。例如,CPO仪表板可以允许CPO(或其它用户)创建隐私规则,该隐私规则使PMS基于访问者的位置(用户终端是移动终端还是固定终端)或其它参数阻止将特定类型的所收集的访问者数据发送到供应商。例如,国外的(例如,德国)的隐私法规可能要求没有(或没有特定类型的)访问者数据应该发送给供应商。CPO仪表板可以将PMS配置410成检测网站访问者的位置(例如, 通过反向地理编码访问者的IP地址来识别访问者的位置),且随后阻止将所收集的关于用户的数据传送到特定供应商(例如,第三方供应商、第四方供应商等)的任何尝试。本领域的技术人员在回顾本文公开的全文以后可以理解,大量其它信息和特征可以在CPO仪表板上显示/可用。例如,CPO仪表板402可以显示图像“src”属性的名称-值参数的属性名称和值。这可以帮助CPO确定关于他们的网页的访问者什么类型的数据被收集和发送。先前的实例中的至少一个技术优点是,根据本公开的各个方面,单个PMS可以用于所有世界各地的访问者,并基于各种参数(诸如网站访问者的位置和专用于该位置的隐私法规)进行调整。此外,在回顾了本文公开的全文(包括与本公开的提交同时递交的任何材料(例如,信息公开声明))以后,可以基于对于本领域技术人员明显的其它参数和特征调整PMS。
此外,图8A和8B示出了CPO仪表板404的其他方面。如在图8A和8B中示出的,仪表板404可包含隐私信息标签801和定制PMS标签802,当被选择时,隐私信息标签801和定制PMS标签802使得仪表板404分别提供隐私信息窗口803和定制PMS窗口804。隐私信息窗口803和定制PMS窗口804可向CPO提供用于创建和/或编辑规则的若干个选项(或设置)。这种规则可在如何运行方面指导PMS。
当Ensighten的单一的一致行的JavaScript代码触发PMS以评估特定网页时,PMS可参考关于该特定网页和/或用户的存储的规则或者设置,以确定应该阻止什么隐私信息被发送至第三方和第四方。在一些实施方式中,这些规则可被模式识别软件使用,从而使其只识别将被阻止的隐私信息。在其他实施方式中,模式识别软件可识别所有类型的隐私信息,且PMS可基于规则决定应该阻止哪个隐私信息(参见步骤728)。而且,一些规则可确定应实现PMS代码的哪些模块。例如,规则可通知PMS代码它是否应该执行用于将分析数据报告给Ensighten的数据库的模块(例如,一个或多个函数/方法)和/或用于改变分析数据使得隐私信息得到保护的模块。
而且,通过隐私信息窗口803和定制PMS窗口804创建/编辑的规则可被应用于特定网页(例如,网页502)、整个网站或特定顾客的多个网站。例如,CPO可表明他/她在隐私信息窗口803中设置的规则将被应用于特定网站上的所有网页,从而使得CPO不需要针对每一个网页创建/编辑规则。
图8A示出了隐私信息窗口803的实例设置。经由隐私信息窗口803,用户(例如,CPO)可指定他/她想阻止作为分析数据被收集的各种类型的隐私信息。例如,CPO可确定他/她不愿意允许第三方或第四方捕获包含至CPO的网页的访问者的电子邮件地址的分析数据,并因此,可选择“电子邮件地址”文本旁边的复选框。通过选择该复选框,CPO可指示PMS阻止试图捕获至特定网页或一个网站或多个网站的访问者的电子邮件地址的第三方和第四方。相比之下,如果未选择复选框,则这个可能是CPO愿意允许对应类型的隐私信息作为分析数据被捕获的指示。例如,参考图8A,“年龄”文本旁边的复选框未被选择,并因此,CPO可允许第三方和第四方提取至他/她的网页或一个网站或多个网站的访问者的年龄。
虽然未在图8A中示出,但是隐私信息窗口803可提供选项,通过该选项,用户(例如,CPO)可输入关于特定个人(其可以是用户本身)的特定隐私信息,从而使得PMS可识别并阻止用户希望不让第三方和第四方知道的精确的隐私信息。例如,隐私窗口803可提供用户输入栏,用户输入栏中用户提供他/她的电话号码,从而使得PMS可确保提供的电话号码不包含在传输的分析数据中。
图8B示出了定制PMS窗口804的实例设置。经由定制PMS窗口804,用户(例如,CPO)可设置参数,PMS可使用该参数以确定它应执行代码的哪些模块和/或它应将代码的哪些模块并入新的包装器对象(例如,哪个获得函数和/或帮助函数)。例如,CPO可使用在定制PMS窗口804上所示的虚拟开关来开启或关闭PMS的数据分析。当通过定制PMS窗口804关闭数据分析时,PMS代码可在步骤708处确定不分析数据。当开启数据分析时,PMS代码可在步骤708处确定分析数据,并因此,可继续执行以执行步骤712。
而且,在步骤702处,CPO可指定应获取哪些节点。在一些实例中,网页的DOM中的所有节点可被获取。然而,如果CPO宁愿针对私人信息仅仅某些节点被获取并且被评估,那么CPO可通过定制PMS窗口804指定这种节点。例如,CPO可认出DOM中的特定节点相对不大可能被选择(tap)用于分析数据收集,并因此,可选择不使PMS评估这些节点。尽管,图8B中的定制PMS窗口804示出了CPO可选择不同节点类型(例如,元素节点、文本节点等),但是在一些实施方式中,定制PMS窗口804可显示关于网页(或网站)的DOM中的所有节点的名称,从而使得CPO可选择获取(并评估)特定节点,而不是仅仅指定节点的类型。
此外,图8B的定制PMS窗口804示出了CPO还可选择用于处理其中找到隐私信息的情况的各种解决方案。基于所选择的解决方案,PMS可执行代码的不同模块以执行步骤732、734和736。例如,通过定制PMS窗口804,CPO可指定什么时候检测隐私信息、什么时候PMS应该修改隐私信息以改变其值。在一些实例中,CPO可通过定制PMS窗口804表明将隐私信息改变成什么值。
图8B旨在示出可通过仪表板404控制PMS代码的方法/模块。尽管示出了用于控制PMS代码的执行的若干个设置,但是可通过仪表板404提供其他设置。的确,本文公开的PMS的所有可选特性可以在仪表板中具有对应的设置,以允许CPO针对特定的网页或一个网站或多个网站定制PMS。
CPO仪表板的启用/关闭监视开关。另外,在根据本公开的一些实施方式中,如果期望以牺牲实时在线隐私管理为代价来获得网站性能时,那么CPO仪表板可以包括输入装置(例如,图形化的启用/关闭开关)以允许CPO切换(例如,关闭,启用,部分地启用)PMS功能的状态。响应于输入装置,在JavaScript代码中的变量(例如,布尔型变量)可以被更新以激活或停用PMS代码。这样,当开关处于关闭位置时,网页可以被呈现,而无需通过PMS的JavaScript代码的交互/分析。可选择地,当开关部分处于部分启用位置时,PMS可选择以评估节点的特定类型(例如,元素节点或图像节点)而不是DOM中的所有节点。输入装置的状态(例 如,关闭、启用、部分启用等)可以发送到远程服务器,用于储存且便于在以后的时间检索。
经PMS认证的验证。图3示出了显示已从PMS收到该网页/网站符合隐私策略的认证的网页(被省略)的网络浏览器。例如,图标304示出了可以在网页502上出现的图标,以向到网页的访问者指示该网页已经经过验证(例如,经PMS认证的验证)且正在使用PMS进行监视,其在某些实施方式中可以根据本公开的各个方面。图形图标304可以是可选的且根据其选择可显示对话框302。对话框302可以允许访问者进一步自定义他/她的隐私设置/偏好。例如,用户可以退出完成的跟踪和定向广告(例如,根据年龄验证,用户按照儿童隐私法可能被退出特定类型的(或所有的)跟踪,因为用户是在特定年龄下的儿童)。一旦选择了设置,则用户的偏好可以传送到远程服务器(例如,Ensighten的应用服务器506)以进行保存并且与用户相关联。可以使用浏览器端cookies来创建该关联。例如,浏览器端cookie可被保存在访问者设备100上,浏览器端cookie具有允许PMS在未来访问时自动地检测用户的偏好的信息。
在一些实施方式中,对话框302可包含与参考图8A的隐私信息窗口803讨论的那些选项相似的选项。因此,用户经由对话框302可指定阻止什么类型的隐私信息作为分析数据被传输。
公司可能与用于监视和控制它们的分析数据收集和分发的PMS签约。因此,图标304可以被显示在公司的网页502上。此外,通过PMS客户端-浏览器脚本代码(例如,JavaScript代码),PMS可以检测和读出因特网范围的cookies。例如,当访问不同的网站时,PMS可以能够使用以cookie为基础的方法以自动地在所有站点上实现用户偏好(例如,一旦用户被验证为在特定的年龄以下,则用户的cookie设置可以有助于自动地使该用户退出跟踪和在其它网站上的其它活动)。本领域技术人员在回顾了本文所公开的全文以后将理解的是,所公开的基础概念的众多推导是预期的。例如,图标304可以以不同的颜色来显示以指示不同级别的隐私管理。图标可以主要以红色来显示,以指示网站在由用户先前指定的舒适的阈值之外的隐私设置下运行。同时,图标可以主要是以绿色来显示, 以指示隐私控制与用户的偏好是相称的。另外,通过图标304的选择,类似于CPO仪表板的仪表板可以被提供给用户。这样,用户可以能够识别和理解他们的在线体验的什么方面正在受到监视以及那些信息正被发送到哪里。
此外,或代替图标304,网页可包含多个图标。图9A示出具有锁定图标901和解锁图标902的网页900。可以相对靠近对应片段的信息来放置锁定图标901和解锁图标902,对应片段的信息可以潜在地是隐私信息。例如,如在图9A中示出的,解锁图标902可以邻近至该网页900的访问者的名称-“JohnDoe”来放置。每一个锁定图标901和解锁图标902表明是否阻止对应片段的信息被包含在分析数据中。具体地,可阻止对应于锁定图标901的信息片段被包含在分析数据之中,而可不阻止对应于解锁图标902的信息片段被包含在分析数据之中。当节点被包装器对象取代时,可将锁定图标901和解锁图标902包含在网页900中。换言之,每一个包装器对象可包含用于呈现与其存储的数据有关的锁定图标901和/或解锁图标902的函数。当呈现锁定图标901时,对应的包装器对象的获得函数可被配置成在返回数据之前修改数据或者可以完全制止返回数据。同时,当呈现解锁图标902时,对应的包装器对象的获得函数可被配置成返回数据,而不修改数据。
图9A还示出了可由第三方或第四方放置在网页上的广告905。该广告905可以是被配置成从网页900提取数据并将提取的数据作为分析数据传输给第三方或第四方或甚至另一方的图像元素。在这种情况下,广告905可收集出现在网页900上的例如名称、电话号码、地址等。然而,如果网页900利用PMS代码,则PMS代码可运行以阻止广告905收集该信息。具体地,PMS可阻止广告905收集隐私信息,在此处,隐私信息为与锁定图标901有关的信息。
在一些实施方式中,网页900的所有者和/或CPO可能不知道广告905的精确的源,和/或可能不知道广告905被用于收集分析数据。确实,在一些情况下,正在收集分析数据的节点在网页900上可能是不可见的。因此,所有者和/或CPO可选择以在他们的网页或一个网站或多个网站上实 现Ensighten的PMS代码。如果是这样,则Ensighten的PMS代码可将锁定图标901和解锁图标902放置在如示出的网页900上。通过显示邻近(例如在一英寸内)在网页900上的各个片段的信息的锁定图标901和解锁图标902,可通知网页900的访问者对他们的信息的可能的访问。一些用户可能不希望他们的信息被收集并可被向他们示出他们的信息受保护的网页和网站吸引。
图9B示出了当用户在网页900上选择“编辑配置文件”链接时可出现的另一个网页901。明显地,网页901可包含多个表单域903,表单域903被配置成接受用户输入。锁定图标901和解锁图标902可与表单域903中的一个或多个相关联。因此,用户可以可视化:他的/她的信息的哪些片段被阻止被包含在分析数据中。这可以鼓励用户(其可能否则犹豫输入信息)以完成表单域903。
此外,锁定图标901和解锁图标902可以是当被点击时从一个图标变成另一个图标的可选择元素(例如,HTML元素)。即,当锁定图标901被选择时,它可变成解锁图标902,以及当解锁图标902被选择时,它可变成锁定图标901。选择锁图标定和解锁图标901、902可能不仅仅改变图标的外观,但是还可向PMS通知改变。PMS可解析网页901以提取锁定图标和解锁图标901、902,因为它将是任何其他元素节点。PMS然后可分析锁定图标和解锁图标901、902,以确定用户希望阻止哪些信息片段被发送在分析数据中。根据该分析,PMS可存储可被用于创建当分析分析数据时PMS可使用的规则的设置。即,一旦存储了这些设置,则当PMS评估分析数据时,PMS可执行特定规则以确保与锁定图标901相关的信息片段被视作隐私信息并阻止将其发送至第三方和第四方。具体地,规则可包含传递给被用于取代特定节点的包装器对象的获得函数的参数,从而使得获得函数可确定是否返回所请求的数据。例如,信息片段旁边的锁定图标901可使得包装器对象的特定获得函数扣留该信息片段或在将其返回之前修改它,其中包装器对象的特定获得函数通常负责根据请求返回该信息片段。
例如,参考图9B,在地址表单域903a中输入他或她的地址的用户可期望阻止该地址被在分析数据中发送。如果是这样,则用户可选择(使用例如光标并点击鼠标)解锁图标902,将其转变成锁定图标901。一旦这发生,则PMS可接收改变通知并可将地址存入隐私信息的清单中。此后,如果第三方或第四方试图收集包含输入至地址表单域903a中的地址的分析数据,则PMS可识别分析数据中的地址并将其清除,或者以其他方式修改它(如在本文中所描述的)。因此,锁定图标901和解锁图标902可具有与通过如上所述的仪表板404的隐私信息窗口803输入隐私信息相似的效果。
而且,除了使用对话框302以定制隐私设置之外或者取代使用对话框302以定制隐私设置,用户可选择锁定图标901和解锁图标902。通过这些锁定图标901和解锁图标902,网站所有者可以给出对于什么分析数据可被收集到他们的网站访问者的至少一些控制。因此,网站所有者或CPO可期望PMS代码被配置成利用用户偏好来确定应阻止什么信息作为分析数据被传输,而不是使用PMS代码以阻止网站所有者或CPO相信用户将希望被阻止的所有分析数据。
附加的特征。本公开所预期的PMS包括JavaScript语言的代码,但是本领域的一个普通技术人员在阅读本文公开的全文以后可以理解,除了或代替JavaScript,可以使用其它编程语言编写的代码。在本公开中很多具体的实例已经使用Javascript仅作为脚本语言的实例,允许网页上的元素动态更新和函数覆盖能力。本公开预期JavaScript可以是一天反对以有利于另一客户机侧(和服务器侧)的脚本语言,并且所公开的PMS不限于此。本领域的一个普通技术人员将意识到,JavaScript可以由其它的编程语言和技术代替(例如,DHTML5.0和canvas/video元素)。在一个实例中,嵌入到网页中的AdobeFlashTM(原来为Macromediaflash)对象可以使用ActionScriptTM动态地控制,在其中类似于Javascipt的语言也基于ECMAScript标准。本公开预期了各种实施例,其中,利用技术可以监视Flash对象,这些技术应该为本领域的技术人员在阅读了这里公开的全文以后所理解。例如,图像资源、图片对象和按钮对象可以具有覆盖或继承 的方法以提供本文所述的类似函数。类似地,根据本公开的各个方面,也可以使用例如SilverlightTM的其它非Javascipt技术。
另外,此处示出的实施例的不同方面利用当前版本的JavaScript和它所提供的能力。例如,JavaScript规范目前不允许HTML图像元素的“src”属性的“设置器”方法的覆盖。如果Javascipt的未来版本提供覆盖上述方法的能力,本领域的技术人员在阅读了这里所公开的全文以后将理解,适当调整公开的PMS特征是本公开可预期的。例如,当前公开了用于监视图像元素/对象的属性的轮询可以被覆盖方法所取代。可选地,如果特定元素的值的改变通知特征变得可以用JavaScript获得,本发明预期该特征可用于代替(或补充)目前在一个实施例中描述的轮询技术。
此外,当前网络分析技术使用图像元素以便将所收集的数据从用户的设备发送到远程服务器。然而,本发明预期用于将收集的数据(例如,分析数据)发送到远程服务器的其它技术。例如,WebsocketsTM可用于创建一个开放直接的TCP/IP连接至远程服务器以便发送分析数据。本领域的技术人员在阅读了这里公开的全文以后会理解,PMS可以覆盖负责创建(例如,添加、修改、更新和/或调节)WebsocketsTM的方法,并且相应地应用本文所公开的原理。
本公开的各个方面在本文中以示例性实施例的形式描述。本领域的普通技术人员来在阅读本公开以后可以理解在陈述的公开的范围和精神之内还有许多其它实施例、修改和变化。例如,本领域的普通技术人员将理解,说明性附图中所示和本文描述的步骤可以以不同于所列次序的其它次序来执行,并且依照本发明的方面,所示的一个或多个步骤可以是可选的。

在线隐私管理.pdf_第1页
第1页 / 共50页
在线隐私管理.pdf_第2页
第2页 / 共50页
在线隐私管理.pdf_第3页
第3页 / 共50页
点击查看更多>>
资源描述

《在线隐私管理.pdf》由会员分享,可在线阅读,更多相关《在线隐私管理.pdf(50页珍藏版)》请在专利查询网上搜索。

公开了一种用于首席隐私官员(CPO)或其它用户在实时地监视和/或控制关于用户的以及他/她的在线体验的数据流(例如,流出)中使用的隐私管理系统(PMS)。PMS可采用模式识别软件以评估分析数据并可能地阻止在分析数据中发送隐私信息。PMS可提供仪表板,仪表板显示指示阻止或允许了什么目的地/源的白名单和/或黑名单以及指示应该阻止什么类型的隐私信息的隐私信息设置。PMS包括浏览器-客户端脚本代码,并且还可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1