US20230015047A1 - Data processing systems and methods for automatic discovery and assessment of mobile software development kits - Google Patents

Data processing systems and methods for automatic discovery and assessment of mobile software development kits Download PDF

Info

Publication number
US20230015047A1
US20230015047A1 US17/948,036 US202217948036A US2023015047A1 US 20230015047 A1 US20230015047 A1 US 20230015047A1 US 202217948036 A US202217948036 A US 202217948036A US 2023015047 A1 US2023015047 A1 US 2023015047A1
Authority
US
United States
Prior art keywords
data
party
development tool
application
privacy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
US17/948,036
Inventor
Kevin Jones
Pratik Doshi
Jonathan Blake Brannon
Prabhu Kumar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneTrust LLC
Original Assignee
OneTrust LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/254,901 external-priority patent/US9729583B1/en
Priority claimed from US15/619,455 external-priority patent/US9851966B1/en
Priority claimed from US15/853,674 external-priority patent/US10019597B2/en
Priority claimed from US15/996,208 external-priority patent/US10181051B2/en
Priority claimed from US16/055,083 external-priority patent/US10289870B2/en
Priority claimed from US16/159,634 external-priority patent/US10282692B2/en
Priority claimed from US16/277,568 external-priority patent/US10440062B2/en
Priority claimed from US16/552,765 external-priority patent/US10678945B2/en
Priority claimed from US16/895,278 external-priority patent/US11200341B2/en
Priority claimed from US16/915,097 external-priority patent/US10909265B2/en
Priority to US17/948,036 priority Critical patent/US20230015047A1/en
Application filed by OneTrust LLC filed Critical OneTrust LLC
Assigned to OneTrust, LLC reassignment OneTrust, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Doshi, Pratik, KUMAR, PRABHU, JONES, KEVIN, BRANNON, JONATHAN BLAKE
Publication of US20230015047A1 publication Critical patent/US20230015047A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Definitions

  • personal data which may include sensitive personal data
  • personal data may include, but is not limited to, Internet browsing habits and history, purchase history, geolocation data, biometric data (e.g., fingerprint data, facial recognition data), user preferences, user activity on websites and/or social media (e.g., postings, likes and dislikes, social media data), and any other data that may be associated with and/or can be used to identify a particular user.
  • biometric data e.g., fingerprint data, facial recognition data
  • social media e.g., postings, likes and dislikes, social media data
  • Applications configured on user devices, like smartphones, can present privacy issues. Such applications may obtain, use, and/or transfer personal data, including sensitive personal data, both knowingly and unknowingly to users of such devices and applications.
  • SDKs software development kits
  • An SDK may include privacy-related functions and attributes and may install and/or use files that may be scattered throughout a mobile device's file system.
  • application developers and providers may be reluctant to be transparent about the particular SDKs used in the generation of an application. Due to the large number of files likely to be configured on a typical mobile device and the difficulty in identifying a particular application or development kit associated with each file, it can be challenging to determine that a particular SDK was used to generate a particular application configured on the mobile device. Additionally, scanning software (e.g., software tools used to analyze privacy impacts of software programs) may inaccurately assess the degree to which a software program transmits or otherwise processes such sensitive information when the identity of the SDK used to build the program is inaccessible to the scanning software.
  • scanning software e.g., software tools used to analyze privacy impacts of software programs
  • a method comprises: scanning, by computing hardware, at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool; (2) generating, by the computing hardware, a functionality token for the third-party development tool by: (A) querying, based on the identifying information for the third-party development tool, a database that stores a plurality of third-party identities in correlation with a plurality of respective identifying information of third-party development tools, (B) determining, based on a result of querying the database, a third-party identity corresponding to the third-party development tool, and (C) generating the functionality token based on the third-party identity; (3) determining, by the computing hardware, a functionality category
  • the method further comprises generating, by the computing hardware, a tokenized name for the third-party development tool using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device; and the identifying information for the third-party development tool comprises the tokenized name.
  • the method further comprises determining, by the computing hardware, based on the identifying information, a source of the third-party development tool, and assigning, by the computing hardware, the third-party development tool category based on the source.
  • the tokenized name comprises a source token
  • the method comprises determining the source of the third-party development tool based on the source token.
  • scanning the at least one of the folder on the mobile device or the file stored on the mobile device comprises performing a filename search on the mobile device to determine the identifying information for the third-party development tool.
  • the functionality token comprise a first functionality token representing a first functionality type of the third-party development tool and a second functionality token representing a second functionality type of the third-party development tool.
  • assigning, by the computing hardware, the third-party development tool category to the third-party development tool based on the functionality category comprises assigning the third-party development tool category based on a relative relevance weighting of the first functionality token and the second functionality token.
  • the third-party development tool is a software development kit used to generate an application, the application being configured to operate on the mobile device.
  • a system comprises a non-transitory computer-readable medium storing instructions and a processing device communicatively coupled to the non-transitory computer-readable medium.
  • the processing is configured to execute the instructions and thereby perform operations comprising : (1) scanning at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool; (2) generating a source token for the third-party development tool by: (A) querying, based on the identifying information for the third-party development tool, a database that stores a plurality of third-party identities in correlation with a plurality of respective identifying information of third-party development tools, (B) determining, based on a result of querying the database, a third-party identity corresponding to the third-party development tool, and (C) generating the source token based on the third-party identity; (3) identifying a third-party computing system from the source token; (4) assigning a third-party development tool category to the
  • the operations further comprise generating a tokenized name for the third-party development tool using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device.
  • the identifying information for the third-party development tool comprises the tokenized name.
  • the tokenized name comprises a first function token, and the operations further comprise assigning the third-party development tool category based on the first functionality token.
  • the tokenized name comprises a second function token, and the operations further comprise assigning the third-party development tool category based on the first functionality token and the second functionality token.
  • scanning the at least one of a folder on the mobile device or the file stored on the mobile device comprises determining the identifying information for the third-party development tool based on at least one of a package name, a file name, or a folder name.
  • the third-party development tool is a software development kit used to generate an application.
  • the third-party development tool category includes at least one of a targeting category, a functional category, or a location category.
  • a non-transitory computer-readable medium having program code that is stored thereon is provided.
  • the program code is executable by one or more processing devices for performing operations comprising: (1) scanning at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool; (2) generating a tokenized name for the third-party development tool based on the identifying information, the tokenized name comprising a functionality token representing a function of the third-party development tool; (3) assigning a third-party development tool category to the third-party development tool based on the functionality token; and (4) linking the assigned third-party development tool category to the third-party development tool.
  • generating the tokenized name for the third-party development tool comprises using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device.
  • the identifying information for the third-party development tool may comprise the tokenized name.
  • scanning the at least one of the folder on the mobile device or the file stored on the mobile device comprises performing a filename search on the. mobile device to determine the identifying information for the third-party development tool.
  • the functionality token is a first functionality token
  • the tokenized name comprises a second functionality token
  • the operations further comprise assigning the third-party development tool category based on the first functionality token but not on the second functionality token.
  • the functionality token comprise a first functionality token representing a first functionality type of the third-party development tool and a second functionality token representing a second functionality type of the third-party development tool
  • assigning the third-party development tool category to the third-party development tool based on the functionality category comprises assigning the third-party development tool category based on a relative relevance weighting of the first functionality token and the second functionality token.
  • the third-party development tool is a software development kit used to generate an application, the application being configured to operate on the mobile device.
  • FIG. 1 depicts a data model generation and population system according to particular embodiments.
  • FIG. 2 is a schematic diagram of a computer (such as the data model generation server 110 , or data model population server 20 ) that is suitable for use in various embodiments of the data model generation and population system shown in FIG. 1 .
  • a computer such as the data model generation server 110 , or data model population server 20 .
  • FIG. 3 is a flowchart showing an example of steps performed by a Data Model Generation
  • FIGS. 4 - 10 depict various exemplary visual representations of data models according to particular embodiments.
  • FIG. 11 is a flowchart showing an example of steps performed by a Data Model Population Module.
  • FIG. 12 is a flowchart showing an example of steps performed by a Data Population Questionaire Generation Module.
  • FIG. 13 is a process flow for populating a data inventory according to a particular embodiment using one or more data mapping techniques.
  • FIGS. 14 - 25 depict exemplary screen displays and graphical user interfaces (GUIs) according to various embodiments of the system, which may display information associated with the system or enable access to, or interaction with, the system by one or more users (e.g., to configure a questionnaire for populating one or more inventory attributes for one or more data models, complete one or more assessments, etc.).
  • GUIs graphical user interfaces
  • FIG. 26 is a flowchart showing an example of steps performed by an Intelligent Identity Scanning Module.
  • FIG. 27 is schematic diagram of network architecture for an intelligent identity scanning system 2700 according to a particular embodiment.
  • FIG. 28 is a schematic diagram of an asset access methodology utilized by an intelligent identity scanning system 2700 in various embodiments of the system.
  • FIG. 29 is a flowchart showing an example of a processes performed by a Data Subject Access Request Fulfillment Module 2900 according to various embodiments.
  • FIGS. 30 - 31 depict exemplary screen displays and graphical user interfaces (GUIs) according to various embodiments of the system, which may display information associated with the system or enable access to, or interaction with, the system by one or more users (e.g., for the purpose of submitting a data subject access request or other suitable request).
  • GUIs graphical user interfaces
  • FIGS. 32 - 35 depict exemplary screen displays and graphical user interfaces (GUIs) according to various embodiments of the system, which may display information associated with the system or enable access to, or interaction with, the system by one or more users (e.g., for the purpose of flagging one or more risks associated with one or more particular questionnaire questions).
  • GUIs graphical user interfaces
  • FIG. 36 depicts a schematic diagram of a centralized data repository system according to particular embodiments of the present system.
  • FIG. 37 is a centralized data repository module according to various embodiments, which may, for example, be executed by the centralized data repository system of FIG. 36 .
  • FIG. 38 depicts a schematic diagram of a consent receipt management system according to particular embodiments.
  • FIGS. 39 - 54 are computer screen shots that demonstrate the operation of various embodiments.
  • FIG. 55 depicts a schematic diagram of an application privacy analysis system according to particular embodiments of the present system.
  • FIG. 56 depicts a schematic diagram of an application privacy analysis system according to particular embodiments of the present system.
  • FIG. 57 depicts a schematic diagram of a static application privacy analysis system according to particular embodiments of the present system.
  • FIG. 58 depicts a schematic diagram of a dynamic application privacy analysis system according to particular embodiments of the present system.
  • FIG. 59 is a flowchart showing an example of a process performed by a Privacy Analysis Module according to various embodiments.
  • FIG. 60 depicts a schematic diagram of an SDK discovery and assessment system according to various embodiments.
  • FIG. 61 is a flowchart showing an example of a process performed by a Mobile SDK Package Assessment Module according to various embodiments.
  • a data model generation and population system is configured to generate a data model (e.g., one or more data models) that maps one or more relationships between and/or among a plurality of data assets utilized by a corporation or other entity (e.g., individual, organization, etc.) in the context, for example, of one or more business processes.
  • each of the plurality of data assets may include, for example, any entity that collects, processes, contains, and/or transfers data (e.g., such as a software application, “internet of things” computerized device, database, web site, data-center, server, etc.).
  • a first data asset may include any software or device (e.g., server or servers) utilized by a particular entity for such data collection, processing, transfer, storage, etc.
  • the data model may store the following information: (1) the organization that owns and/or uses a particular data asset (a primary data asset, which is shown in the center of the data model in FIG. 4 ); (2) one or more departments within the organization that are responsible for the data asset; (3) one or more software applications that collect data (e.g., personal data) for storage in and/or use by the data asset (e.g., or one or more other suitable collection assets from which the personal data that is collected, processed, stored, etc.
  • a particular data asset a primary data asset, which is shown in the center of the data model in FIG. 4
  • the data asset may store the following information: (1) the organization that owns and/or uses a particular data asset (a primary data asset, which is shown in the center of the data model in FIG. 4 ); (2) one or more departments within the organization that are responsible for the data asset; (3) one or more software applications that collect data (e.g., personal data) for storage in and/or use by the data asset (e.g., or one or more other suitable collection assets
  • the primary data asset is sourced); (4) one or more particular data subjects (or categories of data subjects) that information is collected from for use by the data asset; (5) one or more particular types of data that are collected by each of the particular applications for storage in and/or use by the data asset; (6) one or more individuals (e.g., particular individuals or types of individuals) that are permitted to access and/or use the data stored in, or used by, the data asset; (7) which particular types of data each of those individuals are allowed to access and use; and (8) one or more data assets (destination assets) that the data is transferred to for other use, and which particular data is transferred to each of those data assets.
  • the system may also optionally store information regarding, for example, which business processes and processing activities utilize the data asset.
  • the data model stores this information for each of a plurality of different data assets and may include links between, for example, a portion of the model that provides information for a first particular data asset and a second portion of the model that provides information for a second particular data asset.
  • the data model generation and population system may be implemented in the context of any suitable privacy management system that is configured to ensure compliance with one or more legal or industry standards related to the collection and/or storage of private information.
  • a particular organization, sub-group, or other entity may initiate a privacy campaign or other activity (e.g., processing activity) as part of its business activities.
  • the privacy campaign may include any undertaking by a particular organization (e.g., such as a project or other activity) that includes the collection, entry, and/or storage (e.g., in memory) of any personal data associated with one or more individuals.
  • a privacy campaign may include any project undertaken by an organization that includes the use of personal data, or any other activity that could have an impact on the privacy of one or more individuals.
  • personal data may include, for example: (1) the name of a particular data subject (which may be a particular individual); (2) the data subject's address; (3) the data subject's telephone number; (4) the data subject's e-mail address; (5) the data subject's social security number; (6) information associated with one or more of the data subject's credit accounts (e.g., credit card numbers); (7) banking information for the data subject; (8) location data for the data subject (e.g., their present or past location); (9) internet search history for the data subject; and/or (10) any other suitable personal information, such as other personal information discussed herein.
  • such personal data may include one or more cookies (e.g., where the individual is directly identifiable or may be identifiable based at least in part on information stored in the one or more cookies).
  • the system when generating a data model, may, for example: (1) identify one or more data assets associated with a particular organization; (2) generate a data inventory for each of the one or more data assets, where the data inventory comprises information such as: (a) one or more processing activities associated with each of the one or more data assets, (b) transfer data associated with each of the one or more data assets (data regarding which data is transferred to/from each of the data assets, and which data assets, or individuals, the data is received from and/or transferred to, (c) personal data associated with each of the one or more data assets (e.g., particular types of data collected, stored, processed, etc. by the one or more data assets), and/or (d) any other suitable information; and (3) populate the data model using one or more suitable techniques.
  • the data inventory comprises information such as: (a) one or more processing activities associated with each of the one or more data assets, (b) transfer data associated with each of the one or more data assets (data regarding which data is transferred to/from each of the data assets, and which data assets,
  • the one or more techniques for populating the data model may include, for example: (1) obtaining information for the data model by using one or more questionnaires associated with a particular privacy campaign, processing activity, etc.; (2) using one or more intelligent identity scanning techniques discussed herein to identify personal data stored by the system and map such data to a suitable data model, data asset within a data model, etc.; (3) obtaining information for the data model from a third-party application (or other application) using one or more application programming interfaces (API); and/or (4) using any other suitable technique.
  • API application programming interfaces
  • the system is configured to generate and populate a data model substantially on the fly (e.g., as the system receives new data associated with particular processing activities).
  • the system is configured to generate and populate a data model based at least in part on existing information stored by the system (e.g., in one or more data assets), for example, using one or more suitable scanning techniques described herein.
  • a particular organization may undertake a plurality of different privacy campaigns, processing activities, etc. that involve the collection and storage of personal data.
  • each of the plurality of different processing activities may collect redundant data (e.g., may collect the same personal data for a particular individual more than once), and may store data and/or redundant data in one or more particular locations (e.g., on one or more different servers, in one or more different databases, etc.).
  • a particular organization may store personal data in a plurality of different locations which may include one or more known and/or unknown locations.
  • the system may be configured to create a data model that facilitates a straightforward retrieval of information stored by the organization as desired.
  • the system may be configured to use a data model in substantially automatically responding to one or more data access requests by an individual (e.g., or other organization).
  • an individual e.g., or other organization.
  • entities may determine the privacy and security impact of data and software installed on computing devices that such entities may control or interact with.
  • Examples of such data and software may include cookies that may contain personal data and applications that may track a user's activity (“trackers”).
  • the disclosed systems may assess (e.g., score, categorize, etc.) such data and applications based on various privacy-related criteria and/or security-related criteria.
  • the system may apply such assessment techniques to mobile devices and the data and software installed thereon.
  • the system may identify one or more software development kits (SDKs) configured on a mobile device and/or used to generate an application configured on the mobile device.
  • SDKs software development kits
  • NLP natural language processing
  • the system may generate a tokenized name for the SDK that includes tokens representing the vendor of the SDK and various functions performed by applications generated using the SDK.
  • the system may determine scores for one or more such tokens and determine a privacy category or score for the SDK based on the token scores.
  • the security and privacy impact of the particular identified SDK may be assessed based, at least in part, on one or more privacy and security impact determinations (e.g., scores, categorization, etc.) associated with the SDK and/or the SDK vendor.
  • privacy and security impact determinations e.g., scores, categorization, etc.
  • SDKs software development kits
  • various embodiments of present disclosure overcome many of the technical challenges associated with determining particular SDKs used to generate applications configured on a mobile device.
  • various embodiments of the disclosure are directed to a computational framework configured for analyzing the many files (e.g., distributed across many folders within a file system) that may be configured on a mobile device and determining whether such files are associated with valid SDKs.
  • the various embodiments may then tokenize the file names of identified SDKs to generate data structures representing various aspects of the identified SDKs.
  • the system can evaluate these data structures (the tokenized SDK package names and/or one or more portions thereof) to determine a privacy category, privacy-related score, and/or a privacy assessment information for the package.
  • the various embodiments evaluate individual tokens of a package's tokenized name, determine a score for one or more of the tokens (including, in various embodiments, weighting such scores), and determine a category and/or score for the associated SDK based on the token scores.
  • the various embodiments spare users from the time-consuming operations of manually searching folders and files on a mobile to device to identify files, determining whether an SDK is associated with each identified file, determining a function of an SDK that may be represented by a particular file if it is associated with an SDK, and determining the privacy-related implications (e.g., most relevant privacy category or a privacy-related score) of the SDK based on various functions of the SDK indicated by files that have been identified as being associated with the SDK.
  • the various embodiments thus increase the efficiency with which users can evaluate the privacy impact of SDKs used to generate mobile device applications.
  • various embodiments of the disclosure provided herein are more effective, efficient, timely, accurate, and faster in determining a mobile device application's privacy implications and those of an SDK used to generate the application.
  • various embodiments of the disclosure provided herein can facilitate the identification and/or documentation of (e.g., automated) processes and activities performed by an application that may be related to privacy and security.
  • the system may use the determination of the privacy implications of a mobile device application and/or its associated SDK to determine an entity's compliance (and/or efforts to comply) with numerous regulations and requirements.
  • Various embodiments of the disclosure can execute data processing related to determining the privacy implications of a mobile device application and/or its associated SDK that cannot be feasibly performed by a human, for example, by using such data processing to analyze the many files configured throughout the file system of a mobile device to identify a package and generate a tokenized package name which can then be used to calculate a privacy score and/or determine a suitable privacy category based on values determined for the tokens in a tokenized package name. This is especially advantageous when this data processing must be carried out over a reasonable timeframe to ensure that the privacy implications of a mobile device application and/or its associated SDK can be understood in a timely fashion.
  • the various embodiments of the present disclosure improve the computational efficiency and reliability of various automated systems and procedures for determining the privacy implications of a mobile device application and/or its associated SDK, and therefore an extent of compliance with one or more particular regulations and/or requirements and/or extents of compliance between multiple regulations and/or requirements based on such privacy implications. Further detail is now provided for different aspects of various embodiments of the disclosure.
  • various embodiments may be, for example, embodied as a computer system, a method, or a computer program product. Accordingly, various embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, particular embodiments may take the form of a computer program product stored on a computer-readable storage medium having computer-readable instructions (e.g., software) embodied in the storage medium. Various embodiments may take the form of web-implemented computer software. Any suitable computer-readable storage medium may be utilized including, for example, hard disks, compact disks, DVDs, optical storage devices, and/or magnetic storage devices.
  • These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture that is configured for implementing the function specified in the flowchart block or blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
  • blocks of the block diagrams and flowchart illustrations support combinations of mechanisms for performing the specified functions, combinations of steps for performing the specified functions, and program instructions for performing the specified functions. It should also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and other hardware executing appropriate computer instructions.
  • FIG. 1 is a block diagram of a Data Model Generation and Population System 100 according to a particular embodiment.
  • the Data Model Generation and Population System 100 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more legal or industry regulations related to the collection and storage of personal data.
  • a privacy compliance system also referred to as a privacy management system
  • the Data Model Generation and Population System 100 is configured to: (1) generate a data model based on one or more identified data assets, where the data model includes a data inventory associated with each of the one or more identified data assets; (2) identify populated and unpopulated aspects of each data inventory; and (3) populate the unpopulated aspects of each data inventory using one or more techniques such as intelligent identity scanning, questionnaire response mapping, APIs, etc.
  • the Data Model Generation and Population System 100 includes one or more computer networks 115 , a Data Model Generation Server 110 , a Data Model Population Server 120 , an Intelligent Identity Scanning Server 130 , One or More Databases 140 or other data structures, one or more remote computing devices 150 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.), and One or More Third Party Servers 160 .
  • the one or more computer networks 115 facilitate communication between the Data Model Generation Server 110 , Data Model Population Server 120 , Intelligent Identity Scanning Server 130 , One or More Databases 140 , one or more remote computing devices 150 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.), and One or More Third Party Servers 160 .
  • the remote computing devices 150 e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.
  • One or More Third Party Servers 160 e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.
  • the Data Model Generation Server 110 the Data Model Generation Server 110 , Data Model Population Server 120 , Intelligent Identity Scanning Server 130 , One or More Databases 140 , one or more remote computing devices 150 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.), and One or More Third Party Servers 160 are shown as separate servers, it should be understood that in other embodiments, one or more of these servers and/or computing devices may comprise a single server, a plurality of servers, one or more cloud-based servers, or any other suitable configuration.
  • the one or more computer networks 115 may include any of a variety of types of wired or wireless computer networks such as the Internet, a private intranet, a public switch telephone network (PSTN), or any other type of network.
  • the communication link between The Intelligent Identity Scanning Server 130 and the One or More Third Party Servers 160 may be, for example, implemented via a Local Area Network (LAN) or via the Internet.
  • the One or More Databases 140 may be stored either fully or partially on any suitable server or combination of servers described herein.
  • FIG. 2 illustrates a diagrammatic representation of a computer 200 that can be used within the Data Model Generation and Population System 100 , for example, as a client computer (e.g., one or more remote computing devices 130 shown in FIG. 1 ), or as a server computer (e.g., Data Model Generation Server 110 shown in FIG. 1 ).
  • the computer 200 may be suitable for use as a computer within the context of the Data Model Generation and Population System 100 that is configured to generate a data model and map one or more relationships between one or more pieces of data that make up the model.
  • the computer 200 may be connected (e.g., networked) to other computers in a LAN, an intranet, an extranet, and/or the Internet.
  • the computer 200 may operate in the capacity of a server or a client computer in a client-server network environment, or as a peer computer in a peer-to-peer (or distributed) network environment.
  • the computer 200 may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, a switch or bridge, or any other computer capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that computer.
  • PC personal computer
  • PDA Personal Digital Assistant
  • STB set-top box
  • STB set-top box
  • switch or bridge any other computer capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that computer.
  • the term “computer”
  • An exemplary computer 200 includes a processing device 202 , a main memory 204 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), static memory 206 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 218 , which communicate with each other via a bus 232 .
  • main memory 204 e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.
  • DRAM dynamic random access memory
  • SDRAM synchronous DRAM
  • RDRAM Rambus DRAM
  • static memory 206 e.g., flash memory, static random access memory (SRAM), etc.
  • SRAM static random access memory
  • the processing device 202 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, or the like. More particularly, the processing device 202 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets.
  • the processing device 202 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like.
  • the processing device 202 may be configured to execute processing logic 226 for performing various operations and steps discussed herein.
  • the computer 120 may further include a network interface device 208 .
  • the computer 200 also may include a video display unit 210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 212 (e.g., a keyboard), a cursor control device 214 (e.g., a mouse), and a signal generation device 216 (e.g., a speaker).
  • a video display unit 210 e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)
  • an alphanumeric input device 212 e.g., a keyboard
  • a cursor control device 214 e.g., a mouse
  • a signal generation device 216 e.g., a speaker
  • the data storage device 218 may include a non-transitory computer-accessible storage medium 230 (also known as a non-transitory computer-readable storage medium or a non-transitory computer-readable medium) on which is stored one or more sets of instructions (e.g., software instructions 222 ) embodying any one or more of the methodologies or functions described herein.
  • the software instructions 222 may also reside, completely or at least partially, within main memory 204 and/or within processing device 202 during execution thereof by computer 200 - main memory 204 and processing device 202 also constituting computer-accessible storage media.
  • the software instructions 222 may further be transmitted or received over a network 115 via network interface device 208 .
  • While the computer-accessible storage medium 230 is shown in an exemplary embodiment to be a single medium, the term “computer-accessible storage medium” should be understood to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “computer-accessible storage medium” should also be understood to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the computer and that cause the computer to perform any one or more of the methodologies of the disclosed embodiments.
  • the term “computer-accessible storage medium” should accordingly be understood to include, but not be limited to, solid-state memories, optical and magnetic media, etc.
  • a Data Model Generation and Population System 100 may be implemented in the context of any suitable system (e.g., a privacy compliance system).
  • the Data Model Generation and Population System 100 may be implemented to analyze a particular company or other organization's data assets to generate a data model for one or more processing activities, privacy campaigns, etc. undertaken by the organization.
  • the system may implement one or more modules in order to at least partially ensure compliance with one or more regulations (e.g., legal requirements) related to the collection and/or storage of personal data.
  • one or more regulations e.g., legal requirements
  • Various aspects of the system's functionality may be executed by certain system modules, including a Data Model Generation Module 300 , Data Model Population Module 1100 , Data Population Questionnaire Generation Module 1200 , Intelligent Identity Scanning Module 2600 , and Data Subject Access Request Fulfillment Module 2900 . These modules are discussed in greater detail below.
  • Data Model Generation Module 300 may perform the steps described below in an order other than in which they are presented.
  • the Data Model Generation Module 300 , Data Model Population Module 1100 , Data Population Questionnaire Generation Module 1200 , Intelligent Identity Scanning Module 2600 , and Data Subject Access Request Fulfillment Module 2900 may omit certain steps described below.
  • the Data Model Generation Module 300 may perform steps in addition to those described (e.g., such as one or more steps described with respect to one or more other modules, etc.).
  • a Data Model Generation Module 300 is configured to: (1) generate a data model (e.g., a data inventory) for one or more data assets utilized by a particular organization; (2) generate a respective data inventory for each of the one or more data assets; and (3) map one or more relationships between one or more aspects of the data inventory, the one or more data assets, etc. within the data model.
  • a data asset e.g., data system, software application, etc.
  • a data asset may include, for example, any entity that collects, processes, contains, and/or transfers data (e.g., such as a software application, “internet of things” computerized device, database, website, data-center, server, etc.).
  • a first data asset may include any software or device (e.g., server or servers) utilized by a particular entity for such data collection, processing, transfer, storage, etc.
  • a particular data asset, or collection of data assets may be utilized as part of a particular data processing activity (e.g., direct deposit generation for payroll purposes).
  • a data model generation system may, on behalf of a particular organization (e.g., entity), generate a data model that encompasses a plurality of processing activities.
  • the system may be configured to generate a discrete data model for each of a plurality of processing activities undertaken by an organization.
  • the system begins, at Step 310 , by generating a data model for one or more data assets and digitally storing the data model in computer memory.
  • the system may, for example, store the data model in the One or More Databases 140 described above (or any other suitable data structure).
  • generating the data model comprises generating a data structure that comprises information regarding one or more data assets, attributes and other elements that make up the data model.
  • the one or more data assets may include any data assets that may be related to one another.
  • the one or more data assets may be related by virtue of being associated with a particular entity (e.g., organization).
  • the one or more data assets may include one or more computer servers owned, operated, or utilized by the entity that at least temporarily store data sent, received, or otherwise processed by the particular entity.
  • the one or more data assets may comprise one or more third party assets which may, for example, send, receive and/or process personal data on behalf of the particular entity.
  • These one or more data assets may include, for example, one or more software applications (e.g., such as EXPENSIFY to collect expense information, QUICKBOOKS to maintain and store salary information, etc.).
  • the system is configured to identify a first data asset of the one or more data assets.
  • the first data asset may include, for example, any entity (e.g., system) that collects, processes, contains, and/or transfers data (e.g., such as a software application, “interne of things” computerized device, database, website, data-center, server, etc.).
  • the first data asset may include any software or device utilized by a particular organization for such data collection, processing, transfer, etc.
  • the first data asset may be associated with a particular processing activity (e.g., the first data asset may make up at least a part of a data flow that relates to the collection, storage, transfer, access, use, etc.
  • the first data asset may clarify, for example, one or more relationships between and/or among one or more other data assets within a particular organization.
  • the first data asset may include a software application provided by a third party (e.g., a third party vendor) with which the particular entity interfaces for the purpose of collecting, storing, or otherwise processing personal data (e.g., personal data regarding customers, employees, potential customers, etc.).
  • the first data asset is a storage asset that may, for example: (1) receive one or more pieces of personal data form one or more collection assets; (2) transfer one or more pieces of personal data to one or more transfer assets; and/or (3) provide access to one or more pieces of personal data to one or more authorized individuals (e.g., one or more employees, managers, or other authorized individuals within a particular entity or organization).
  • the first data asset is a primary data asset associated with a particular processing activity around which the system is configured to build a data model associated with the particular processing activity.
  • the system is configured to identify the first data asset by scanning a plurality of computer systems associated with a particular entity (e.g., owned, operated, utilized, etc. by the particular entity).
  • the system is configured to identify the first data asset from a plurality of data assets identified in response to completion, by one or more users, of one or more questionnaires.
  • the system generates a first data inventory of the first data asset.
  • the data inventory may comprise, for example, one or more inventory attributes associated with the first data asset such as, for example: (1) one or more processing activities associated with the first data asset; (2) transfer data associated with the first data asset (e.g., how and where the data is being transferred to and/or from); (3) personal data associated with the first data asset (e.g., what type of personal data is collected and/or stored by the first data asset; how, and from where, the data is collected, etc.); (4) storage data associated with the personal data (e.g., whether the data is being stored, protected and deleted); and (5) any other suitable attribute related to the collection, use, and transfer of personal data.
  • inventory attributes associated with the first data asset such as, for example: (1) one or more processing activities associated with the first data asset; (2) transfer data associated with the first data asset (e.g., how and where the data is being transferred to and/or from); (3) personal data associated with the first data asset (e.g., what type of personal
  • the one or more inventory attributes may comprise one or more other pieces of information such as, for example: (1) the type of data being stored by the first data asset; (2) an amount of data stored by the first data asset; (3) whether the data is encrypted; (4) a location of the stored data (e.g., a physical location of one or more computer servers on which the data is stored); etc.
  • the one or more inventory attributes may comprise one or more pieces of information technology data related to the first data asset (e.g., such as one or more pieces of network and/or infrastructure information, IP address, MAC address, etc.).
  • the system may generate the data inventory based at least in part on the type of first data asset. For example, particular types of data assets may have particular default inventory attributes.
  • the system is configured to generate the data inventory for the first data asset, which may, for example, include one or more placeholder fields to be populated by the system at a later time. In this way, the system may, for example, identify particular inventory attributes for a particular data asset for which information and/or population of data is required as the system builds the data model.
  • the system may, when generating the data inventory for the first data asset, generate one or more placeholder fields that may include, for example: (1) the organization (e.g., entity) that owns and/or uses the first data asset (a primary data asset, which is shown in the center of the data model in FIG. 4 ); ( 2 ) one or more departments within the organization that are responsible for the first data asset; (3) one or more software applications that collect data (e.g., personal data) for storage in and/or use by the first data asset (e.g., or one or more other suitable collection assets from which the personal data that is collected, processed, stored, etc.
  • the organization e.g., entity
  • the first data asset a primary data asset, which is shown in the center of the data model in FIG. 4
  • the system may, when generating the data inventory for the first data asset, generate one or more placeholder fields that may include, for example: (1) the organization (e.g., entity) that owns and/or uses the first data asset (a primary data asset, which is shown in the center
  • the first data asset is sourced); (4) one or more particular data subjects (or categories of data subjects) that information is collected from for use by the first data asset; (5) one or more particular types of data that are collected by each of the particular applications for storage in and/or use by the first data asset; (6) one or more individuals (e.g., particular individuals or types of individuals) that are permitted to access and/or use the data stored in, or used by, the first data asset; (7) which particular types of data each of those individuals are allowed to access and use; and (8) one or more data assets (destination assets) that the data is transferred to from the first data asset, and which particular data is transferred to each of those data assets.
  • data assets destination assets
  • the system may be configured to generate the one or more placeholder fields based at least in part on, for example: (1) the type of the first data asset; (2) one or more third party vendors utilized by the particular organization; (3) a number of collection or storage assets typically associated with the type of the first data asset; and/or (4) any other suitable factor related to the first data asset, its one or more inventory attributes, etc.
  • the system may substantially automatically generate the one or more placeholders based at least in part on a hierarchy and/or organization of the entity for which the data model is being built. For example, a particular entity may have a marketing division, legal department, human resources department, engineering division, or other suitable combination of departments that make up an overall organization.
  • the system may identify that the first data asset will have both an associated organization and subdivision within the organization to which it is assigned.
  • the system may be configured to store an indication in computer memory that the first data asset is associated with an organization and a department within the organization.
  • the system modifies the data model to include the first data inventory and electronically links the first data inventory to the first data asset within the data model.
  • modifying the data model may include configuring the data model to store the data inventory in computer memory, and to digitally associate the data inventory with the first data asset in memory.
  • FIGS. 4 and 5 show a data model according to a particular embodiment.
  • the data model may store the following information for the first data asset: (1) the organization that owns and/or uses the first data asset; (2) one or more departments within the organization that are responsible for the first data asset; (3) one or more applications that collect data (e.g., personal data) for storage in and/or use by the first data asset; (4) one or more particular data subjects that information is collected from for use by the first data asset; (5) one or more collection assets from which the first asset receives data (e.g., personal data); (6) one or more particular types of data that are collected by each of the particular applications (e.g., collection assets) for storage in and/or use by the first data asset; (7) one or more individuals (e.g., particular individuals, types of individuals, or other parties) that are permitted to access and/or use the data stored in or used by the first data asset; (8) which particular types of data each of those individuals are allowed to access and use; and (9) one or more data assets
  • the data model stores this information for each of a plurality of different data assets and may include one or more links between, for example, a portion of the model that provides information for a first particular data asset and a second portion of the model that provides information for a second particular data asset.
  • the system next identifies a second data asset from the one or more data assets.
  • the second data asset may include one of the one or more inventory attributes associated with the first data asset (e.g., the second data asset may include a collection asset associated with the first data asset, a destination asset or transfer asset associated with the first data asset, etc.).
  • a second data asset may be a primary data asset for a second processing activity, while the first data asset is the primary data asset for a first processing activity.
  • the second data asset may be a destination asset for the first data asset as part of the first processing activity.
  • the second data asset may then be associated with one or more second destination assets to which the second data asset transfers data.
  • particular data assets that make up the data model may define one or more connections that the data model is configured to map and store in memory.
  • the system is configured to identify one or more attributes associated with the second data asset, modify the data model to include the one or more attributes, and map the one or more attributes of the second data asset within the data model.
  • the system may, for example, generate a second data inventory for the second data asset that comprises any suitable attribute described with respect to the first data asset above.
  • the system may then modify the data model to include the one or more attributes and store the modified data model in memory.
  • the system may further, in various embodiments, associate the first and second data assets in memory as part of the data model.
  • the system may be configured to electronically link the first data asset with the second data asset.
  • such association may indicate a relationship between the first and second data assets in the context of the overall data model (e.g., because the first data asset may serve as a collection asset for the second data asset, etc.).
  • the system may be further configured to generate a visual representation of the data model.
  • the visual representation of the data model comprises a data map.
  • the visual representation may, for example, include the one or more data assets, one or more connections between the one or more data assets, the one or more inventory attributes, etc.
  • generating the visual representation (e.g., visual data map) of a particular data model may include, for example, generating a visual representation that includes: (1) a visual indication of a first data asset (e.g., a storage asset), a second data asset (e.g., a collection asset), and a third data asset (e.g., a transfer asset); (2) a visual indication of a flow of data (e.g., personal data) from the second data asset to the first data asset (e.g., from the collection asset to the storage asset); (3) a visual indication of a flow of data (e.g., personal data) from the first data asset to the third data asset (e.g., from the storage asset to the transfer asset); (4) one or more visual indications of a risk level associated with the transfer of personal data; and/or (5) any other suitable information related to the one or more data assets, the transfer of data between/among the one or more data assets, access to data stored or collected
  • the visual indication of a particular asset may comprise a box, symbol, shape, or other suitable visual indicator.
  • the visual indication may comprise one or more labels (e.g., a name of each particular data asset, a type of the asset, etc.).
  • the visual indication of a flow of data may comprise one or more arrows.
  • the visual representation of the data model may comprise a data flow, flowchart, or other suitable visual representation.
  • the system is configured to display (e.g., to a user) the generated visual representation of the data model on a suitable display device.
  • FIGS. 4 - 10 depict exemplary data models according to various embodiments of the system described herein.
  • FIG. 4 depicts an exemplary data model that does not include a particular processing activity (e.g., that is not associated with a particular processing activity).
  • a particular data asset e.g., a primary data asset
  • the particular asset may be associated with one or more collection assets (e.g., one or more data subjects from whom personal data is collected for storage by the particular asset), one or more parties that have access to data stored by the particular asset, one or more transfer assets (e.g., one or more assets to which data stored by the particular asset may be transferred), etc.
  • collection assets e.g., one or more data subjects from whom personal data is collected for storage by the particular asset
  • transfer assets e.g., one or more assets to which data stored by the particular asset may be transferred
  • a particular data model for a particular asset may include a plurality of data elements.
  • a system may be configured to substantially automatically identify one or more types of data elements for inclusion in the data model, and automatically generate a data model that includes those identified data elements (e.g., even if one or more of those data elements must remain unpopulated because the system may not initially have access to a value for the particular data element).
  • the system may be configured to store a placeholder for a particular data element until the system is able to populate the particular data element with accurate data.
  • the data model shown in FIG. 4 may represent a portion of an overall data model.
  • the transfer asset depicted may serve as a storage asset for another portion of the data model.
  • the transfer asset may be associated with a respective one or more of the types of data elements described above.
  • the system may generate a data model that may build upon itself to comprise a plurality of layers as the system adds one or more new data assets, attributes, etc.
  • a particular data model may indicate one or more parties that have access to and/or use of the primary asset (e.g., storage asset).
  • the system may be configured to enable the one or more parties to access one or more pieces of data (e.g., personal data) stored by the storage asset.
  • the data model may further comprise one or more collection assets (e.g., one or more data assets or individuals from which the storage asset receives data such as personal data).
  • the collection assets comprise a data subject (e.g., an individual that may provide data to the system for storage in the storage asset) and a collection asset (e.g., which may transfer one or more pieces of data that the collection asset has collected to the storage asset).
  • FIG. 5 depicts a portion of an exemplary data model that is populated for the primary data asset GUSTO.
  • GUSTO is a software application that, in the example shown in FIG. 5 , may serve as a human resources service that contains financial, expense, review, time and attendance, background, and salary information for one or more employees of a particular organization (e.g., GeneriTech).
  • the primary asset e.g., GUSTO
  • the HR e.g., Human Resources
  • the primary asset, GUSTO may collect financial information from one or more data subjects (e.g., employees of the particular organization), receive expense information transferred from Expensify (e.g., expensing software), and receive time and attendance data transferred from Kronos (e.g., timekeeping software).
  • access to the information collected and/or stored by GUSTO may include, for example: (1) an ability to view and administer salary and background information by HR employees, and (2) an ability to view and administer employee review information by one or more service managers.
  • personal and other data collected and stored by GUSTO e.g., salary information, etc.
  • the system may be configured to generate a data model based around GUSTO that illustrates a flow of personal data utilized by GUSTO.
  • the data model in this example illustrates, for example, a source of personal data collected, stored and/or processed by GUSTO, a destination of such data, an indication of who has access to such data within GUSTO, and an organization and department responsible for the information collected by GUSTO.
  • the data model and accompanying visual representation e.g., data map
  • the system may be utilized in the context of compliance with one or more record keeping requirements related to the collection, storage, and processing of personal data.
  • FIGS. 6 and 7 depict an exemplary data model and related example that is similar, in some respects, to the data model and example of FIGS. 4 and 5 .
  • the exemplary data model and related example include a specific business process and processing activity that is associated with the primary asset (GUSTO).
  • the business process is compensation and the specific processing activity is direct deposit generation in GUSTO.
  • the collection and transfer of data related to the storage asset of GUSTO is based on a need to generate direct deposits through GUSTO in order to compensate employees.
  • GUSTO generates the information needed to conduct a direct deposit (e.g., financial and salary information) and then transmits this information to: (1) a company bank system for execution of the direct deposit; (2) QUICKBOOKS for use in documenting the direct deposit payment; and (3) HR File cabinet for use in documenting the salary info and other financial information.
  • a direct deposit e.g., financial and salary information
  • the system when generating such a data model, particular pieces of data (e.g., data attributes, data elements) may not be readily available to the system.
  • the system is configured to identify a particular type of data, create a placeholder for such data in memory, and seek out (e.g., scan for and populate) an appropriate piece of data to further populate the data model.
  • the system may identify GUSTO as a primary asset and recognize that GUSTO stores expense information.
  • the system may then be configured to identify a source of the expense information (e.g., Expensify).
  • FIG. 8 depicts an exemplary screen display 800 that illustrates a visual representation (e.g., visual data map) of a data model (e.g., a data inventory).
  • the data map provides a visual indication of a flow of data collected from particular data subjects (e.g., employees 801 ).
  • the data map illustrates that three separate data assets receive data (e.g., which may include personal data) directly from the employees 801 .
  • these three data assets include Kronos 803 (e.g., a human resources software application), Workday 805 (e.g., a human resources software application), and ADP 807 (e.g., a human resources software application and payment processor).
  • Kronos 803 e.g., a human resources software application
  • Workday 805 e.g., a human resources software application
  • ADP 807 e.g., a human resources software application and payment processor
  • the data map indicates a transfer of data from Workday 805 to ADP 807 as well as to a Recovery Datacenter 809 and a London HR File Center 811 .
  • the Recovery Datacenter 809 and London HR File Center 811 may comprise additional data assets in the context of the data model illustrated by the data map shown in FIG. 8 .
  • the Recover Datacenter 809 may include, for example, one or more computer servers (e.g., backup servers).
  • the London HR File Center 811 may include, for example, one or more databases (e.g., such as the One or More Databases 140 shown in FIG. 1 ). AS shown in FIG.
  • each particular data asset depicted in the data map may be shown along with a visual indication of the type of data asset.
  • Kronos 803 , Workday 805 , and ADP 807 are depicted adjacent a first icon type (e.g., a computer monitor), while Recover Datacenter 809 and London HR File Center 811 are depicted adjacent a second and third icon type respectively (e.g., a server cluster and a file folder).
  • first icon type e.g., a computer monitor
  • Recover Datacenter 809 and London HR File Center 811 are depicted adjacent a second and third icon type respectively (e.g., a server cluster and a file folder).
  • the system may be configured to visually indicate, via the data model, particular information related to the data model in a relatively minimal manner.
  • FIG. 9 depicts an exemplary screen display 900 that illustrates a data map of a plurality of assets 905 in tabular form (e.g., table form).
  • a table that includes one or more inventory attributes of each particular asset 905 in the table may indicate, for example: (1) a managing organization 910 of each respective asset 905 ; (2) a hosting location 915 of each respective asset 905 (e.g., a physical storage location of each asset 905 ); (3) a type 920 of each respective asset 905 , if known (e.g., a database, software application, server, etc.); (4) a processing activity 925 associated with each respective asset 905 ; and/or (5) a status 930 of each particular data asset 905 .
  • the status 930 of each particular asset 905 may indicate a status of the asset 905 in the discovery process. This may include, for example: (1) a “new” status for a particular asset that has recently been discovered as an asset that processes, stores, or collects personal data on behalf of an organization (e.g., discovered via one or more suitable techniques described herein); (2) an “in discovery” status for a particular asset for which the system is populating or seeking to populate one or more inventory attributes, etc.
  • FIG. 10 depicts an exemplary data map 1000 that includes an asset map of a plurality of data assets 1005 A-F, which may, for example, be utilized by a particular entity in the collection, storage, and/or processing of personal data.
  • the plurality of data assets 1005 A-F may have been discovered using any suitable technique described herein (e.g., one or more intelligent identity scanning techniques, one or more questionnaires, one or more application programming interfaces, etc.).
  • a data inventory for each of the plurality of data assets 1005 A-F may define, for each of the plurality of data assets 1005 A-F a respective inventory attribute related to a storage location of the data asset.
  • the system may be configured to generate a map that indicates a location of the plurality of data assets 1005 A-F for a particular entity.
  • locations that contain a data asset are indicated by circular indicia that contain the number of assets present at that location.
  • the locations are broken down by country.
  • the asset map may distinguish between internal assets (e.g., first party servers, etc.) and external/third party assets (e.g., third party owned servers or software applications that the entity utilizes for data storage, transfer, etc.).
  • the system is configured to indicate, via the visual representation, whether one or more assets have an unknown location (e.g., because the data model described above may be incomplete with regard to the location).
  • the system may be configured to: (1) identify the asset with the unknown location; (2) use one or more data modeling techniques described herein to determine the location (e.g., such as pinging the asset, generating one or more questionnaires for completion by a suitable individual, etc.); and (3) update a data model associated with the asset to include the location.
  • a Data Model Population Module 1100 is configured to: (1) determine one or more unpopulated inventory attributes in a data model; (2) determine one or more attribute values for the one or more unpopulated inventory attributes; and (3) modify the data model to include the one or more attribute values.
  • the system begins, at Step 1110 , by analyzing one or more data inventories for each of the one or more data assets in the data model.
  • the system may, for example, identify one or more particular data elements (e.g., inventory attributes) that make up the one or more data inventories.
  • the system may, in various embodiments, scan one or more data structures associated with the data model to identify the one or more data inventories.
  • the system is configured to build an inventory of existing (e.g., known) data assets and identify inventory attributes for each of the known data assets.
  • the system is configured to determine, for each of the one or more data inventories, one or more populated inventory attributes and one or more unpopulated inventory attributes (e.g., and/or one or more unpopulated data assets within the data model).
  • the system may determine that, for a particular asset, there is a destination asset.
  • the destination asset may be known (e.g., and already stored by the system as part of the data model).
  • the destination asset may be unknown (e.g., a data element that comprises the destination asset may comprise a placeholder or other indication in memory for the system to populate the unpopulated inventory attribute (e.g., data element).
  • a particular storage asset may be associated with a plurality of inventory assets (e.g., stored in a data inventory associated with the storage asset).
  • the plurality of inventory assets may include an unpopulated inventory attribute related to a type of personal data stored in the storage asset.
  • the system may, for example, determine that the type of personal data is an unpopulated inventory asset for the particular storage asset.
  • the system is configured to determine, for each of the one or more unpopulated inventory attributes, one or more attribute values.
  • the system may determine the one or more attribute values using any suitable technique (e.g., any suitable technique for populating the data model).
  • the one or more techniques for populating the data model may include, for example: (1) obtaining data for the data model by using one or more questionnaires associated with a particular privacy campaign, processing activity, etc.; (2) using one or more intelligent identity scanning techniques discussed herein to identify personal data stored by the system and then map such data to a suitable data model; (3) using one or more application programming interfaces (API) to obtain data for the data model from another software application; and/or (4) using any other suitable technique. Exemplary techniques for determining the one or more attribute values are described more fully below.
  • the system may be configured to use such techniques or other suitable techniques to populate one or more unpopulated data assets within the data model.
  • the system modifies the data model to include the one or more attribute values for each of the one or more unpopulated inventory attributes.
  • the system may, for example, store the one or more attributes values in computer memory, associate the one or more attribute values with the one or more unpopulated inventory attributes, etc.
  • the system may modify the data model to include the one or more data assets identified as filling one or more vacancies left within the data model by the unpopulated one or more data assets.
  • the system is configured to store the modified data model in memory.
  • the system is configured to store the modified data model in the One or More Databases 140 , or in any other suitable location.
  • the system is configured to store the data model for later use by the system in the processing of one or more data subject access requests.
  • the system is configured to store the data model for use in one or more privacy impact assessments performed by the system.
  • a Data Population Questionnaire Generation Module 1200 is configured to generate a questionnaire (e.g., one or more questionnaires) comprising one or more questions associated with one or more particular unpopulated data attributes, and populate the unpopulated data attributes based at least in part on one or more responses to the questionnaire.
  • the system may be configured to populate the unpopulated data attributes based on one or more responses to existing questionnaires.
  • the one or more questionnaires may comprise one or more processing activity questionnaires (e.g., privacy impact assessments, data privacy impact assessments, etc.) configured to elicit one or more pieces of data related to one or more undertakings by an organization related to the collection, storage, and/or processing of personal data (e.g., processing activities).
  • the system is configured to generate the questionnaire (e.g., a questionnaire template) based at least in part on one or more processing activity attributes, data asset attributes (e.g., inventory attributes), or other suitable attributes discussed herein.
  • the system begins, at Step 1210 , by identifying one or more unpopulated data attributes from a data model.
  • the system may, for example, identify the one or more unpopulated data attributes using any suitable technique described above.
  • the one or more unpopulated data attributes may relate to, for example, one or more processing activity or asset attributes such as: (1) one or more processing activities associated with a particular data asset; (2) transfer data associated with the particular data asset (e.g., how and where the data stored and/or collected by the particular data asset is being transferred to and/or from); (3) personal data associated with the particular data assets asset (e.g., what type of personal data is collected and/or stored by the particular data asset; how, and from where, the data is collected, etc.); (4) storage data associated with the personal data (e.g., whether the data is being stored, protected and deleted); and (5) any other suitable attribute related to the collection, use, and transfer of personal data by one or more data assets or via one or more processing activities.
  • processing activity or asset attributes such as: (1) one or more processing activities associated with a particular data asset; (2) transfer data associated with the particular data asset (e.g., how and where the data stored and/or collected by the particular data asset is being transferred to and/or from); (3) personal data associated with the
  • the one or more unpopulated inventory attributes may comprise one or more other pieces of information such as, for example: (1) the type of data being stored by the particular data asset; (2) an amount of data stored by the particular data asset; (3) whether the data is encrypted by the particular data asset; (4) a location of the stored data (e.g., a physical location of one or more computer servers on which the data is stored by the particular data asset); etc.
  • the system generates a questionnaire (e.g., a questionnaire template) comprising one or more questions associated with one or more particular unpopulated data attributes.
  • a questionnaire e.g., a questionnaire template
  • the one or more particulate unpopulated data attributes may relate to, for example, a particular processing activity or a particular data asset (e.g., a particular data asset utilized as part of a particular processing activity).
  • the one or more questionnaires comprise one or more questions associated with the unpopulated data attribute.
  • the system may generate a questionnaire associated with a processing activity that utilizes the asset (e.g., or a questionnaire associated with the asset).
  • the system may generate the questionnaire to include one or more questions regarding the location of the server.
  • the system maps one or more responses to the one or more questions to the associated one or more particular unpopulated data attributes.
  • the system may, for example, when generating the questionnaire, associate a particular question with a particular unpopulated data attribute in computer memory.
  • the questionnaire may comprise a plurality of question/answer pairings, where the answer in the question/answer pairings maps to a particular inventory attribute for a particular data asset or processing activity.
  • the system may, upon receiving a response to the particular question, substantially automatically populate the particular unpopulated data attribute.
  • the system modifies the data model to populate the one or more responses as one or more data elements for the one or more particular unpopulated data attributes.
  • the system is configured to modify the data model such that the one or more responses are stored in association with the particular data element (e.g., unpopulated data attribute) to which the system mapped it at Step 1230 .
  • the system is configured to store the modified data model in the One or More Databases 140 , or in any other suitable location.
  • the system is configured to store the data model for later use by the system in the processing of one or more data subject access requests.
  • the system is configured to store the data model for use in one or more privacy impact assessments performed by the system.
  • the system may be configured to modify the questionnaire based at least in part on the one or more responses.
  • the system may, for example, substantially dynamically add and/or remove one or more questions to/from the questionnaire based at least in part on the one or more responses (e.g., one or more response received by a user completing the questionnaire).
  • the system may, in response to the user providing a particular inventory attribute or new asset, generates additional questions that relate to that particular inventory attribute or asset.
  • the system may, as the system adds additional questions, substantially automatically map one or more responses to one or more other inventory attributes or assets.
  • the system may substantially automatically generate one or more additional questions related to, for example, an encryption level of the storage, who has access to the storage location, etc.
  • the system may modify the data model to include one or more additional assets, data attributes, inventory attributes, etc. in response to one or more questionnaire responses.
  • the system may modify a data inventory for a particular asset to include a storage encryption data element (which specifies whether the particular asset stores particular data in an encrypted format) in response to receiving such data from a questionnaire. Modification of a questionnaire is discussed more fully below with respect to FIG. 13 .
  • FIG. 13 depicts an exemplary process flow 1300 for populating a data model (e.g., modifying a data model to include a newly discovered data asset, populating one or more inventory attributes for a particular processing activity or data asset, etc.).
  • FIG. 13 depicts one or more exemplary data relationships between one or more particular data attributes (e.g., processing activity attributes and/or asset attributes), a questionnaire template (e.g., a processing activity template and/or a data asset template), a completed questionnaire (e.g., a processing activity assessment and/or a data asset assessment), and a data inventory (e.g., a processing activity inventory and/or an asset inventory).
  • the system is configured to: (1) identify new data assets; (2) generate an asset inventory for identified new data assets; and (3) populate the generated asset inventories. Systems and methods for populating the generated inventories are described more fully below.
  • a system may be configured to map particular processing activity attributes 1320 A to each of: (1) a processing activity template 1330 A; and (2) a processing activity data inventory 1310 A.
  • the processing activity template 1330 A may comprise a plurality of questions (e.g., as part of a questionnaire), which may, for example, be configured to elicit discovery of one or more new data assets.
  • the plurality of questions may each correspond to one or more fields in the processing activity inventory 1310 A, which may, for example, define one or more inventory attributes of the processing activity.
  • the system is configured to provide a processing activity assessment 1340 A to one or more individuals for completion.
  • the system is configured to launch the processing activity assessment 1340 A from the processing activity inventory 1310 A and further configured to create the processing activity assessment 1340 A from the processing activity template 1330 .
  • the processing activity assessment 1340 A may comprise, for example, one or more questions related to the processing activity.
  • the system may, in various embodiments, be configured to map one or more responses provided in the processing activity assessment 1340 A to one or more corresponding fields in the processing activity inventory 1310 A.
  • the system may then be configured to modify the processing activity inventory 1310 A to include the one or more responses, and store the modified inventory in computer memory.
  • the system may be configured to approve a processing activity assessment 1340 A (e.g., receive approval of the assessment) prior to feeding the processing activity inventory attribute values into one or more fields and/or cells of the inventory.
  • the system may generate an asset inventory 1310 B (e.g., a data asset inventory) that defines a plurality of inventory attributes for the new asset (e.g., new data asset).
  • asset inventory 1310 B e.g., a data asset inventory
  • a system may be configured to map particular asset attributes 1320 B to each of: (1) an asset template 1330 BA; and (2) an asset inventory 1310 A.
  • the asset template 1330 B may comprise a plurality of questions (e.g., as part of a questionnaire), which may, for example, be configured to elicit discovery of one or more processing activities associated with the asset and/or one or more inventory attributes of the asset.
  • the plurality of questions may each correspond to one or more fields in the asset inventory 1310 B, which may, for example, define one or more inventory attributes of the asset.
  • the system is configured to provide an asset assessment 1340 B to one or more individuals for completion.
  • the system is configured to launch the asset assessment 1340 B from the asset inventory 1310 B and further configured to create the asset assessment 1340 B from the asset template 1330 B.
  • the asset assessment 1340 B may comprise, for example, one or more questions related to the data asset.
  • the system may, in various embodiments, be configured to map one or more responses provided in the asset assessment 1340 B to one or more corresponding fields in the asset inventory 1310 B.
  • the system may then be configured to modify the asset inventory 1310 B (e.g., and/or a related processing activity inventory 1310 A) to include the one or more responses, and store the modified inventory in computer memory.
  • the system may be configured to approve an asset assessment 1340 B (e.g., receive approval of the assessment) prior to feeding the asset inventory attribute values into one or more fields and/or cells of the inventory.
  • FIG. 13 further includes a detail view 1350 of a relationship between particular data attributes 1320 C with an exemplary data inventory 1310 C and a questionnaire template 1330 C.
  • a particular attribute name may map to a particular question title in a template 1330 C as well as to a field name in an exemplary data inventory 1310 C.
  • the system may be configured to populate (e.g., automatically populate) a field name for a particular inventory 1310 C in response to a user providing a question title as part of a questionnaire template 1330 C.
  • a particular attribute description may map to a particular question description in a template 1330 C as well as to a tooltip on a fieldname in an exemplary data inventory 1310 C. In this way, the system may be configured to provide the tooltip for a particular inventory 1310 C that includes the question description provided by a user as part of a questionnaire template 1330 C.
  • a particular response type may map to a particular question type in a template 1330 C as well as to a field type in an exemplary data inventory 1310 C.
  • a particular question type may include, for example, a multiple choice question (e.g., A, B, C, etc.), a freeform response, an integer value, a drop down selection, etc.
  • a particular field type may include, for example, a memo field type, a numeric field type, an integer field type, a logical field type, or any other suitable field type.
  • a particular data attribute may require a response type of, for example: (1) a name of an organization responsible for a data asset (e.g., a free form response); (2) a number of days that data is stored by the data asset (e.g., an integer value); and/or (3) any other suitable response type.
  • a response type of, for example: (1) a name of an organization responsible for a data asset (e.g., a free form response); (2) a number of days that data is stored by the data asset (e.g., an integer value); and/or (3) any other suitable response type.
  • the system may be configured to map a one or more attribute values to one or more answer choices in a template 1330 C as well as to one or more lists and/or responses in a data inventory 1310 C. The system may then be configured to populate a field in the data inventory 1310 C with the one or more answer choices provided in a response to a question template 1330 C with one or more attribute values.
  • FIGS. 14 - 25 depict exemplary screen displays that a user may encounter when generating a questionnaire (e.g., one or more questionnaires and/or templates) for populating one or more data elements (e.g., inventory attributes) of a data model for a data asset and/or processing activity.
  • FIG. 14 depicts an exemplary asset based questionnaire template builder 1400 .
  • the template builder may enable a user to generate an asset based questionnaire template that includes one or more sections 1420 related to the asset (e.g., asset information, security, disposal, processing activities, etc.).
  • the system may be configured to substantially automatically generate an asset based questionnaire template based at least in part on the one or more unpopulated inventory attributes discussed above.
  • the system may, for example, be configured to generate a template that is configured to populate the one or more unpopulated attributes (e.g., by eliciting responses, via a questionnaire to one or more questions that are mapped to the attributes within the data inventory).
  • the system is configured to enable a user to modify a default template (e.g., or a system-created template) by, for example, adding additional sections, adding one or more additional questions to a particular section, etc.
  • a default template e.g., or a system-created template
  • the system may provide one or more tools for modifying the template. For example, in the embodiment shown in FIG. 14 , the system may provide a user with a draft and drop question template 1410 , from which the user may select a question type (e.g., textbox, multiple choice, etc.).
  • a question type e.g., textbox, multiple choice, etc.
  • a template for an asset may include, for example: (1) one or more questions requesting general information about the asset; (2) one or more security-related questions about the asset; (3) one or more questions regarding how the data asset disposes of data that it uses; and/or (4) one or more questions regarding processing activities that involve the data asset.
  • each of these one or more sections may comprise one or more specific questions that may map to particular portions of a data model (e.g., a data map).
  • FIG. 15 depicts an exemplary screen display of a processing activity questionnaire template builder 1500 .
  • the screen display shown in FIG. 15 is similar to the template builder shown in FIG. 14 with respect to the data asset based template builder.
  • the template builder may enable a user to generate a processing activity based questionnaire template that includes one or more sections 1520 related to the processing activity (e.g., business process information, personal data, source, storage, destinations, access and use, etc.).
  • the system may be configured to substantially automatically generate a processing activity based questionnaire template based at least in part on the one or more unpopulated inventory attributes related to the processing activity (e.g., as discussed above).
  • the system may, for example, be configured to generate a template that is configured to populate the one or more unpopulated attributes (e.g., by eliciting responses, via a questionnaire to one or more questions that are mapped to the attributes within the data inventory).
  • the system is configured to enable a user to modify a default template (e.g., or a system-created template) by, for example, adding additional sections, adding one or more additional questions to a particular section, etc.
  • the system may provide one or more tools for modifying the template.
  • the system may provide a user with a draft and drop question template 1510 , from which the user may select a question type (e.g., textbox, multiple choice, asset attributes, data subjects, etc.).
  • the system may be further configured to enable a user to publish a completed template (e.g., for use in a particular assessment).
  • the system may be configured to substantially automatically publish the template.
  • a template for a processing activity may include, for example: (1) one or more questions related to the type of business process that involves a particular data asset; (2) one or more questions regarding what type of personal data is acquired from data subjects for use by a particular data asset; (3) one or more questions related to a source of the acquired personal data; (4) one or more questions related to how and/or where the personal data will be stored and/or for how long; (5) one or more questions related to one or more other data assets that the personal data will be transferred to; and/or (6) one or more questions related to who will have the ability to access and/or use the personal data.
  • an exemplary screen display 1600 depicts a listing of assets 1610 for a particular entity. These may, for example, have been identified as part of the data model generation system described above. As may be understood from this figure, a user may select a drop down indicator 1615 to view more information about a particular asset. In the exemplary embodiment shown in FIG. 16 , the system stores the managing organization group for the “New Asset”, but is missing some additional information (e.g., such as a description 1625 of the asset).
  • the system in particular embodiments, is configured to enable a user to select a Send Assessment indicia 1620 in order to transmit an assessment related to the selected asset to an individual tasked with providing one or more pieces of information related to the asset (e.g., a manager, or other individual with knowledge of the one or more inventory attributes).
  • a Send Assessment indicia 1620 in order to transmit an assessment related to the selected asset to an individual tasked with providing one or more pieces of information related to the asset (e.g., a manager, or other individual with knowledge of the one or more inventory attributes).
  • the system may create the assessment based at least in part on a template associated with the asset, and transmit the assessment to a suitable individual for completion (e.g., and/or transmit a request to the individual to complete the assessment).
  • FIG. 17 depicts an exemplary assessment transmission interface 1700 via which a user can transmit one or more assessments for completion.
  • the user may assign a respondent, provide a deadline, indicate a reminder time, and provide one or more comments using an assessment request interface 1710 .
  • the user may then select a Send Assessment(s) indicia 1720 in order to transmit the assessment.
  • FIG. 18 depicts an exemplary assessment 1800 which a user may encounter in response to receiving a request to complete the assessment as described above with respect to FIGS. 16 and 17 .
  • the assessment 1800 may include one or more questions that map to the one or more unpopulated attributes for the asset shown in FIG. 16 .
  • the one or more questions may include a question related to a description of the asset, which may include a free form text box 1820 for providing a description of the asset.
  • FIG. 19 depicts an exemplary screen display 1900 with the text box 1920 completed, where the description includes a value of “Value_1”.
  • the user may have renamed “New Asset” (e.g., which may have included a default or placeholder name) shown in FIGS. 16 and 17 to “7th Asset.”
  • New Asset e.g., which may have included a default or placeholder name
  • the exemplary screen display 2000 depicts the listing of assets 2010 from FIG. 16 with some additional attributes populated.
  • the Description 2025 e.g., “Value_1”
  • the system may be configured to map the provided description to the attribute value associated with the description of the asset in the data inventory.
  • the system may have then modified the data inventory for the asset to include the description attribute.
  • the system is configured to store the modified data inventory as part of a data model (e.g., in computer memory).
  • FIGS. 21 - 24 depict exemplary screen displays showing exemplary questions that make up part of a processing activity questionnaire (e.g., assessment).
  • FIG. 21 depicts an exemplary interface 2100 for responding to a first question 2110 and a second question 2120 .
  • the first question 2110 relates to whether the processing activity is a new or existing processing activity.
  • the first question 2110 shown in FIG. 21 is a multiple choice question.
  • the second question 2120 relates to whether the organization is conducting the activity on behalf of another organization. As shown in this figure, the second question 2120 includes both a multiple choice portion and a free-form response portion.
  • the system may be configured to modify a questionnaire in response to (e.g., based on) one or more responses provided by a user completing the questionnaire.
  • the system is configured to modify the questionnaire substantially on-the-fly (e.g., as the user provides each particular answer).
  • FIG. 22 depicts an interface 2200 that includes a second question 2220 that differs from the second question 2120 shown in FIG. 21 .
  • the system in response to the user providing a response to the first question 2110 in FIG. 21 that indicates that the processing activity is a new processing activity, the system may substantially automatically modify the second question 2120 from FIG. 21 to the second question 2220 from FIG. 22 (e.g., such that the second question 2220 includes one or more follow up questions or requests for additional information based on the response to the first question 2110 in FIG. 21 ).
  • the second question 2220 requests a description of the activity that is being pursued.
  • the system may not modify the questionnaire to include the second question 2220 from FIG. 22 , because the system may already store information related to a description of the processing activity at issue.
  • any suitable question described herein may include a tooltip 2225 on a field name (e.g., which may provide one or more additional pieces of information to guide a user's response to the questionnaire and/or assessment).
  • FIGS. 23 and 24 depict additional exemplary assessment questions.
  • the questions shown in these figures relate to, for example, particular data elements processed by various aspects of a processing activity.
  • FIG. 25 depicts a dashboard 2500 that includes an accounting of one or more assessments that have been completed, are in progress, or require completion by a particular organization.
  • the dashboard 2500 shown in this figure is configured to provide information relate to the status of one or more outstanding assessments.
  • the dashboard may indicate that, based on a fact that a number of assessments are still in progress or incomplete, that a particular data model for an entity, data asset, processing activity, etc. remains incomplete.
  • an incomplete nature of a data model may raise one or more flags or indicate a risk that an entity may not be in compliance with one or more legal or industry requirements related to the collection, storage, and/or processing of personal data.
  • the Intelligent Identity Scanning Module 2600 is configured to scan one or more data sources to identify personal data stored on one or more network devices for a particular organization, analyze the identified personal data, and classify the personal data (e.g., in a data model) based at least in part on a confidence score derived using one or more machine learning techniques.
  • the confidence score may be and/or comprise, for example, an indication of the probability that the personal data is actually associated with a particular data subject (e.g., that there is at least an 80 % confidence level that a particular phone number is associated with a particular individual.)
  • the system begins, at Step 2610 , by connecting to one or more databases or other data structures, and scanning the one or more databases to generate a catalog of one or more individuals and one or more pieces of personal information associated with the one or more individuals.
  • the system may, for example, be configured to connect to one or more databases associated with a particular organization (e.g., one or more databases that may serve as a storage location for any personal or other data collected, processed, etc. by the particular organization, for example, as part of a suitable processing activity.
  • a particular organization may use a plurality of one or more databases (e.g., the One or More Databases 140 shown in FIG.
  • a plurality of servers e.g., the One or More Third Party Servers 160 shown in FIG. 1
  • any other suitable data storage location in order to store personal data and other data collected as part of any suitable privacy campaign, privacy impact assessment, processing activity, etc.
  • the system is configured to scan the one or more databases by searching for particular data fields comprising one or more pieces of information that may include personal data.
  • the system may, for example, be configured to scan and identify one of more pieces of personal data such as: (1) name; (2) address; (3) telephone number; (4) e-mail address; (5) social security number; (6) information associated with one or more credit accounts (e.g., credit card numbers); (7) banking information; (8) location data; (9) internet search history; (10) non-credit account data; and/or ( 11 ) any other suitable personal information discussed herein.
  • the system is configured to scan for a particular type of personal data (e.g., or one or more particular types of personal data).
  • the system may, in various embodiments, be further configured to generate a catalog of one or more individuals that also includes one or more pieces of personal information (e.g., personal data) identified for the individuals during the scan.
  • the system may, for example, in response to discovering one or more pieces of personal data in a particular storage location, identify one or more associations between the discovered pieces of personal data.
  • a particular database may store a plurality of individuals' names in association with their respective telephone numbers.
  • One or more other databases may include any other suitable information.
  • the system may, for example, generate the catalog to include any information associated with the one or more individuals identified in the scan.
  • the system may, for example, maintain the catalog in any suitable format (e.g., a data table, etc.).
  • the system is configured to scan one or more structured and/or unstructured data repositories based at least in part on the generated catalog to identify one or more attributes of data associated with the one or more individuals.
  • the system may, for example, be configured to utilize information discovered during the initial scan at Step 2610 to identify the one or more attributes of data associated with the one or more individuals.
  • the catalog generated at Step 2610 may include a name, address, and phone number for a particular individual.
  • the system may be configured, at Step 2620 , to scan the one or more structured and/or unstructured data repositories to identify one or more attributes that are associated with one or more of the particular individual's name, address and/or phone number.
  • a particular data repository may store banking information (e.g., a bank account number and routing number for the bank) in association with the particular individual's address.
  • the system may be configured to identify the banking information as an attribute of data associated with the particular individual.
  • the system may be configured to identify particular data attributes (e.g., one or more pieces of personal data) stored for a particular individual by identifying the particular data attributes using information other than the individual's name.
  • the system is configured to analyze and correlate the one or more attributes and metadata for the scanned one or more structured and/or unstructured data repositories.
  • the system is configured to correlate the one or more attributes with metadata for the associated data repositories from which the system identified the one or more attributes. In this way, the system may be configured to store data regarding particular data repositories that store particular data attributes.
  • the system may be configured to cross-reference the data repositories that are discovered to store one or more attributes of personal data associated with the one or more individuals with a database of known data assets.
  • the system is configured to analyze the data repositories to determine whether each data repository is part of an existing data model of data assets that collect, store, and/or process personal data.
  • the system may be configured to identify the data repository as a new data asset (e.g., via asset discovery), and take one or more actions (e.g., such as any suitable actions described herein) to generate and populate a data model of the newly discovered data asset.
  • This may include, for example: (1) generating a data inventory for the new data asset; (2) populating the data inventory with any known attributes associated with the new data asset; (3) identifying one or more unpopulated (e.g., unknown) attributes of the data asset; and (4) taking any suitable action described herein to populate the unpopulated data attributes.
  • the system my, for example: (1) identify a source of the personal data stored in the data repository that led to the new asset discovery; (2) identify one or more relationships between the newly discovered asset and one or more known assets; and/or (3) etc.
  • the system is configured to use one or more machine learning techniques to categorize one or more data elements from the generated catalog, analyze a flow of the data among the one or more data repositories, and/or classify the one or more data elements based on a confidence score as discussed below.
  • the system in various embodiments, is configured to receive input from a user confirming or denying a categorization of the one or more data elements, and, in response, modify the confidence score.
  • the system is configured to iteratively repeat Steps 2640 and 2650 .
  • the system is configured to modify the confidence score in response to a user confirming or denying the accuracy of a categorization of the one or more data elements.
  • the system is configured to prompt a user (e.g., a system administrator, privacy officer, etc.) to confirm that a particular data element is, in fact, associated with a particular individual from the catalog.
  • the system may, in various embodiments, be configured to prompt a user to confirm that a data element or attribute discovered during one or more of the scans above were properly categorized at Step 2640 .
  • the system is configured to modify the confidence score based at least in part on receiving one or more confirmations that one or more particular data elements or attributes discovered in a particular location during a scan are associated with particular individuals from the catalog.
  • the system may be configured to increase the confidence score in response to receiving confirmation that particular types of data elements or attributes discovered in a particular storage location are typically confirmed as being associated with particular individuals based on one or more attributes for which the system was scanning.
  • FIG. 27 depicts an exemplary technical platform via which the system may perform one or more of the steps described above with respect to the Intelligent Identity Scanning Module 2600 .
  • an Intelligent Identity Scanning System 2600 comprises an Intelligent Identity Scanning Server 130 , such as the Intelligent Identity Scanning Server 130 described above with respect to FIG. 1 .
  • the Intelligent Identity Scanning Server 130 may, for example, comprise a processing engine (e.g., one or more computer processors).
  • the Intelligent Identity Scanning Server 130 may include any suitable cloud hosted processing engine (e.g., one or more cloud-based computer servers).
  • the Intelligent Identity Scanning Server 130 is hosted in a Microsoft Azure cloud.
  • the Intelligent Identity Scanning Server 130 is configured to sit outside one or more firewalls (e.g., such as the firewall 195 shown in FIG. 26 ). In such embodiments, the Intelligent Identity Scanning Server 130 is configured to access One or More Remote Computing Devices 150 through the Firewall 195 (e.g., one or more firewalls) via One or More Networks 115 (e.g., such as any of the One or More Networks 115 described above with respect to FIG. 1 ).
  • One or More Networks 115 e.g., such as any of the One or More Networks 115 described above with respect to FIG. 1 ).
  • the One or More Remote Computing Devices 150 include one or more computing devices that make up at least a portion of one or more computer networks associated with a particular organization.
  • the one or more computer networks associated with the particular organization comprise one or more suitable servers, one or more suitable databases, one or more privileged networks, and/or any other suitable device and/or network segment that may store and/or provide for the storage of personal data.
  • the one or more computer networks associated with the particular organization may comprise One or More Third Party Servers 160 , One or More Databases 140 , etc.
  • the One or More Remote Computing Devices 150 are configured to access one or more segments of the one or more computer networks associated with the particular organization.
  • the one or more computer networks associated with the particular organization comprise One or More Privileged Networks 165 .
  • the one or more computer networks comprise one or more network segments connected via one or more suitable routers, one or more suitable network hubs, one or more suitable network switches, etc.
  • various components that make up one or more parts of the one or more computer networks associated with the particular organization may store personal data (e.g., such as personal data stored on the One or More Third Party Servers 160 , the One or More Databases 140 , etc.).
  • the system is configured to perform one or more steps related to the Intelligent Identity Scanning Server 2600 in order to identify the personal data for the purpose of generating the catalog of individuals described above (e.g., and/or identify one or more data assets within the organization's network that store personal data)
  • the One or More Remote Computing Devices 150 may store a software application (e.g., the Intelligent Identity Scanning Module).
  • the system may be configured to provide the software application for installation on the One or More Remote Computing Devices 150 .
  • the software application may comprise one or more virtual machines.
  • the one or more virtual machines may be configured to perform one or more of the steps described above with respect to the Intelligent Identity Scanning Module 2600 (e.g., perform the one or more steps locally on the One or More Remote Computing Devices 150 ).
  • the one or more virtual machines may have the following specifications: (1) any suitable number of cores (e.g., 4 , 6 , 8 , etc.); (2) any suitable amount of memory (e.g., 4 GB, 8 GB, 16 GB etc.); (3) any suitable operating system (e.g., CentOS 7.2); and/or (4) any other suitable specification.
  • the one or more virtual machines may, for example, be used for one or more suitable purposes related to the Intelligent Identity Scanning System 2700 .
  • These one or more suitable purposes may include, for example, running any of the one or more modules described herein, storing hashed and/or non-hashed information (e.g., personal data, personally identifiable data, catalog of individuals, etc.), storing and running one or more searching and/or scanning engines (e.g., Elasticsearch), etc.
  • hashed and/or non-hashed information e.g., personal data, personally identifiable data, catalog of individuals, etc.
  • searching and/or scanning engines e.g., Elasticsearch
  • the Intelligent Identity Scanning System 2700 may be configured to distribute one or more processes that make up part of the Intelligent Identity Scanning Process (e.g., described above with respect to the Intelligent Identity Scanning Module 1800 ).
  • the one or more software applications installed on the One or more Remote Computing Devices 150 may, for example, be configured to provide access to the one or more computer networks associated with the particular organization to the Intelligent Identity Scanning Server 130 .
  • the system may then be configured to receive, from the One or more Remote Computing Devices 150 at the Intelligent Identity Scanning Server 130 , via the Firewall 195 and One or More Networks 115 , scanned data for analysis.
  • the Intelligent Identity Scanning System 2700 is configured to reduce an impact on a performance of the One or More Remote Computing Devices 150 , One or More Third Party Servers 160 and other components that make up one or more segments of the one or more computer networks associated with the particular organization.
  • the Intelligent Identity Scanning System 2700 may be configured to utilize one or more suitable bandwidth throttling techniques.
  • the Intelligent Identity Scanning System 2700 is configured to limit scanning (e.g., any of the one or more scanning steps described above with respect to the Intelligent Identity Scanning Module 2600 ) and other processing steps (e.g., one or more steps that utilize one or more processing resources) to non-peak times (e.g., during the evening, overnight, on weekends and/or holidays, etc.).
  • the system is configured to limit performance of such processing steps to backup applications and data storage locations.
  • the system may, for example, use one or more sampling techniques to decrease a number of records required to scan during the personal data discovery process.
  • FIG. 28 depicts an exemplary asset access methodology that the system may utilize in order to access one or more network devices that may store personal data (e.g., or other personally identifiable information).
  • the system may be configured to access the one or more network devices using a locally deployed software application (e.g., such as the software application described immediately above).
  • the software application is configured to route identity scanning traffic through one or more gateways, configure one or more ports to accept one or more identity scanning connections, etc.
  • the system may be configured to utilize one or more credential management techniques to access one or more privileged network portions.
  • the system may, in response to identifying particular assets or personally identifiable information via a scan, be configured to retrieve schema details such as, for example, an asset ID, Schema ID, connection string, credential reference URL, etc.
  • schema details such as, for example, an asset ID, Schema ID, connection string, credential reference URL, etc.
  • the system may be configured to identify and store a location of any discovered assets or personal data during a scan.
  • a Data Subject Access Request Fulfillment Module 2900 is configured to receive a data subject access request, process the request, and fulfill the request based at least in part on one or more request parameters.
  • an organization, corporation, etc. may be required to provide information requested by an individual for whom the organization stores personal data within a certain time period (e.g., 30 days).
  • a certain time period e.g. 30 days.
  • an organization may be required to provide an individual with a listing of, for example: (1) any personal data that the organization is processing for an individual, (2) an explanation of the categories of data being processed and the purpose of such processing; and/or (3) categories of third parties to whom the data may be disclosed.
  • Various privacy and security policies may provide data subjects (e.g., individuals, organizations, or other entities) with certain rights related to the data subject's personal data that is collected, stored, or otherwise processed by an organization.
  • data subjects e.g., individuals, organizations, or other entities
  • certain rights related to the data subject's personal data that is collected, stored, or otherwise processed by an organization.
  • These rights may include, for example: (1) a right to obtain confirmation of whether a particular organization is processing their personal data; (2) a right to obtain information about the purpose of the processing (e.g., one or more reasons for which the personal data was collected); (3) a right to obtain information about one or more categories of data being processed (e.g., what type of personal data is being collected, stored, etc.); (4) a right to obtain information about one or more categories of recipients with whom their personal data may be shared (e.g., both internally within the organization or externally); (5) a right to obtain information about a time period for which their personal data will be stored (e.g., or one or more criteria used to determine that time period); (6) a right to obtain a copy of any personal data being processed (e.g., a right to receive a copy of their personal data in a commonly used, machine-readable format); (7) a right to request erasure (e.g., the right to be forgotten), rectification (e.g., correction or deletion of inaccurate data),
  • a particular organization may undertake a plurality of different privacy campaigns, processing activities, etc. that involve the collection and storage of personal data.
  • each of the plurality of different processing activities may collect redundant data (e.g., may collect the same personal data for a particular individual more than once), and may store data and/or redundant data in one or more particular locations (e.g., on one or more different servers, in one or more different databases, etc.).
  • a particular organization may store personal data in a plurality of different locations which may include one or more known and/or unknown locations.
  • a data subject access request fulfillment system may utilize one or more data model generation and population techniques (e.g., such as any suitable technique described herein) to create a centralized data map with which the system can identify personal data stored, collected, or processed for a particular data subject, a reason for the processing, and any other information related to the processing.
  • data model generation and population techniques e.g., such as any suitable technique described herein
  • the system begins, at Step 2910 , by receiving a data subject access request.
  • the system receives the request via a suitable web form.
  • the request comprises a particular request to perform one or more actions with any personal data stored by a particular organization regarding the requestor.
  • the request may include a request to view one or more pieces of personal data stored by the system regarding the requestor.
  • the request may include a request to delete one or more pieces of personal data stored by the system regarding the requestor.
  • the request may include a request to update one or more pieces of personal data stored by the system regarding the requestor.
  • the request may include a request based on any suitable right afforded to a data subject, such as those discussed above.
  • the system is configured to process the request by identifying and retrieving one or more pieces of personal data associated with the requestor that are being processed by the system.
  • the system is configured to identify any personal data stored in any database, server, or other data repository associated with a particular organization.
  • the system is configured to use one or more data models, such as those described above, to identify this personal data and suitable related information (e.g., where the personal data is stored, who has access to the personal data, etc.).
  • the system is configured to use intelligent identity scanning (e.g., as described above) to identify the requestor's personal data and related information that is to be used to fulfill the request.
  • the system is configured to use one or more machine learning techniques to identify such personal data.
  • the system may identify particular stored personal data based on, for example, a country in which a website that the data subject request was submitted is based, or any other suitable information.
  • the system is configured to scan and/or search one or more existing data models (e.g., one or more current data models) in response to receiving the request in order to identify the one or more pieces of personal data associated with the requestor.
  • the system may, for example, identify, based on one or more data inventories (e.g., one or more inventory attributes) a plurality of storage locations that store personal data associated with the requestor.
  • the system may be configured to generate a data model or perform one or more scanning techniques in response to receiving the request (e.g., in order to automatically fulfill the request).
  • the system is configured to take one or more actions based at least in part on the request.
  • the system is configured to take one or more actions for which the request was submitted (e.g., display the personal data, delete the personal data, correct the personal data, etc.).
  • the system is configured to take the one or more actions substantially automatically.
  • the system in response a data subject submitting a request to delete their personal data from an organization's systems, may: (1) automatically determine where the data subject's personal data is stored; and (2) in response to determining the location of the data (which may be on multiple computing systems), automatically facilitate the deletion of the data subject's personal data from the various systems (e.g., by automatically assigning a plurality of tasks to delete data across multiple business systems to effectively delete the data subject's personal data from the systems).
  • the step of facilitating the deletion may comprise, for example: (1) overwriting the data in memory; (2) marking the data for overwrite; (2) marking the data as free (e.g., and deleting a directory entry associated with the data); and/or (3) any other suitable technique for deleting the personal data.
  • the system uses an appropriate data model (see discussion above) to efficiently determine where all of the data subject's personal data is stored.
  • FIGS. 30 - 31 depict exemplary screen displays that a user may view when submitting a data subject access request.
  • a website 3000 associated with a particular organization may include a user-selectable indicia 3005 for submitting a privacy-related request.
  • a user desiring to make such a request may select the indicia 3005 in order to initiate the data subject access request process.
  • FIG. 31 depicts an exemplary data subject access request form in both an unfilled and filled out state.
  • the system may prompt a user to provide information such as, for example: (1) what type of requestor the user is (e.g., employee, customer, etc.); (2) what the request involves (e.g., requesting info, opting out, deleting data, updating data, etc.); (3) first name; (4) last name; (5) email address; (6) telephone number; (7) home address; and/or (8) one or more details associated with the request.
  • information such as, for example: (1) what type of requestor the user is (e.g., employee, customer, etc.); (2) what the request involves (e.g., requesting info, opting out, deleting data, updating data, etc.); (3) first name; (4) last name; (5) email address; (6) telephone number; (7) home address; and/or (8) one or more details associated with the request.
  • a data subject may submit a subject access request, for example, to request a listing of any personal information that a particular organization is currently storing regarding the data subject, to request that the personal data be deleted, to opt out of allowing the organization to process the personal data, etc.
  • a data modeling or other system described herein may include one or more features in addition to those described.
  • Various such alternative embodiments are described below.
  • the questionnaire template generation system and assessment system described herein may incorporate one or more risk flagging systems.
  • FIGS. 32 - 35 depict exemplary user interfaces that include risk flagging of particular questions within a processing activity assessment.
  • a user may select a flag risk indicia to provide input related to a description of risks and mitigation of a risk posed by one or more inventory attributes associated with the question.
  • the system may be configured to substantially automatically assign a risk to a particular response to a question in a questionnaire.
  • the assigned risk is determined based at least in part on the template from which the assessment was generated.
  • the system may utilize the risk level assigned to particular questionnaire responses as part of a risk analysis of a particular processing activity or data asset.
  • risk level assigned to particular questionnaire responses as part of a risk analysis of a particular processing activity or data asset.
  • a centralized data repository system in various embodiments, is configured to provide a central data-storage repository (e.g., one or more servers, databases, etc.) for the centralized storage of personally identifiable information (PII) and/or personal data for one or more particular data subjects.
  • PII personally identifiable information
  • the centralized data repository may enable the system to populate one or more data models (e.g., using one or more suitable techniques described above) substantially on-the-fly (e.g., as the system collects, processes, stores, etc. personal data regarding a particular data subject).
  • the system is configured to maintain a substantially up-to-date data model for a plurality of data subjects (e.g., each particular data subject for whom the system collects, processes, stores, etc. personal data).
  • the system may then be configured to substantially automatically respond to one or more data access requests by a data subject (e.g., individual, entity, organization, etc.), for example, using the substantially up-to-date data model.
  • a data subject e.g., individual, entity, organization, etc.
  • the system may be configured to respond to the one or more data access requests using any suitable technique described herein.
  • a particular organization may undertake a plurality of different privacy campaigns, processing activities, etc. that involve the collection and storage of personal data.
  • each of the plurality of different processing activities may collect redundant data (e.g., may collect the same personal data for a particular individual more than once), and may store data and/or redundant data in a plurality of different locations (e.g., on one or more different servers, in one or more different databases, etc.).
  • a particular organization may store personal data in a plurality of different locations which may include one or more known and/or unknown locations.
  • the centralized data repository may include one or more third party data repositories (e.g., one or more third party data repositories maintained on behalf of a particular entity that collects, stores, and/or processes personal data).
  • a third party data repository system is configured to facilitate the receipt and centralized storage of personal data for each of a plurality of respective data subjects.
  • the system may be configured to: (1) receive personal data associated with a particular data subject (e.g., a copy of the data, a link to a location of where the data is stored, etc.); and (2) store the personal data in a suitable data format (e.g., a data model, a reference table, etc.) for later retrieval.
  • the system may be configured to receive an indication that personal data has been collected regarding a particular data subject (e.g., collected by a first party system, a software application utilized by a particular entity, etc.).
  • the third party data repository system is configured to: (1) receive an indication that a first party system (e.g., entity) has collected and/or processed a piece of personal data for a data subject; (2) determine a location in which the first party system has stored the piece of personal data; (3) optionally digitally store (e.g., in computer memory) a copy of the piece of personal data and associate, in memory, the piece of personal data with the data subject; and (4) optionally digitally store an indication of the storage location utilized by the first party system for the piece of personal data.
  • the system is configured to provide a centralized database, for each particular data subject (e.g., each particular data subject about whom a first party system collects or has collected personally identifiable information), of any personal data processed and/or collected by a particular entity.
  • a third party data repository system is configured to interface with a consent receipt management system (e.g., such as the consent receipt management system described below).
  • the system may, for example: (1) receive an indication of a consent receipt having an associated unique subject identifier and one or more receipt definitions (e.g., such as any suitable definition described herein); (2) identify, based at least in part on the one or more receipt definitions, one or more pieces of repository data associated with the consent receipt (e.g., one or more data elements or pieces of personal data for which the consent receipt provides consent to process; a storage location of the one or more data elements for which the consent receipt provides consent to process; etc.); (3) digitally store the unique subject identifier in one or more suitable data stores; and (4) digitally associate the unique subject identifier with the one or more pieces of repository data.
  • the system is configured to store the personal data provided as part of the consent receipt in association with the unique subject identifier.
  • the system is configured to, for each stored unique subject identifier: (1) receive an indication that new personal data has been provided by or collected from a data subject associated with the unique subject identifier (e.g., provided to an entity or organization that collects and/or processes personal data); and (2) in response to receiving the indication, storing the new personal data (e.g., or storing an indication of a storage location of the new personal data by the entity) in association with the unique subject identifier.
  • a data subject associated with the unique subject identifier e.g., provided to an entity or organization that collects and/or processes personal data
  • storing the new personal data e.g., or storing an indication of a storage location of the new personal data by the entity
  • the third party data repository system is configured to maintain a centralized database of data collected, stored, and or processed for each unique data subject (e.g., indexed by unique subject identifier).
  • the system may then, in response to receiving a data subject access request from a particular data subject, fulfill the request substantially automatically (e.g., by providing a copy of the personal data, deleting the personal data, indicating to the entity what personal data needs to be deleted from their system and where it is located, etc.).
  • the system may, for example, automatically fulfill the request by: (1) identifying the unique subject identifier associated with the unique data subject making the request; and (2) retrieving any information associated with the unique data subject based on the unique subject identifier.
  • FIG. 36 is a block diagram of a centralized data repository system 3600 according to a particular embodiment.
  • the centralized data repository system 3600 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more legal or industry regulations related to the collection and storage of personal data.
  • the centralized data repository system 3600 is a stand-alone system that is configured to interface with one or more first party data management or other systems for the purpose of maintaining a centralized data repository of personal data collected, stored, and/or processed by each of the one or more first party data systems.
  • the centralized data repository system 3600 includes one or more computer networks 115 , One or More Centralized Data Repository Servers 3610 , a Consent Receipt Management Server 3620 , One or More First Party System Servers 3630 , One or More Databases 140 or other data structures, and one or more remote data subject computing devices 3650 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.).
  • a desktop computer laptop computer, tablet computer, smartphone, etc.
  • the One or More Centralized Data Repository Servers 3610 Consent Receipt Management Server 3620 , One or More First Party System Servers 3630 , One or More Databases 140 or other data structures, and one or more remote data subject computing devices 3650 are shown as separate servers, it should be understood that in other embodiments, one or more of these servers and/or computing devices may comprise a single server, a plurality of servers, one or more cloud-based servers, or any other suitable configuration.
  • the One or More Centralized Data Repository Servers 3610 may be configured to interface with the One or More First Party System Servers 3630 to receive any of the indications or personal data (e.g., for storage) described herein.
  • the One or More Centralized Data Repository Servers 3610 and One or More First Party System Servers 3630 may, for example, interface via a suitable application programming interface, direct connection, etc.
  • the One or More Centralized Data Repository Servers 3610 comprise the Consent Receipt Management Server 3620 .
  • a data subject may provide one or more pieces of personal data via the One or More Remote Data Subject Computing Devices 3650 to the One or More First Party System Servers 3630 .
  • the data subject may, for example, complete a webform on a website hosted on the One or More First Party System Servers 3630 .
  • the system may then, in response to receiving the one or more pieces of personal data at the One or More First Party System Servers 3630 , transmit an indication to the One or More Centralized Data Repository Servers 3610 that the One or More First Party System Servers 3630 have collected, stored, and/or processed the one or more pieces of personal data.
  • the One or More Centralized Data Repository Servers 3610 may then store the one or more pieces of personal data (e.g., a copy of the data, an indication of the storage location of the personal data in the One or More First Party System Servers 3630 , etc.) in a centralized data storage location (e.g., in One or More Databases 140 , on the One or More Centralized Data Repository Servers 3610 , etc.).
  • a centralized data storage location e.g., in One or More Databases 140 , on the One or More Centralized Data Repository Servers 3610 , etc.
  • Various functionality of the centralized data repository system 3600 may be implemented via a Centralized Data Repository Module 3700 .
  • the system when executing certain steps of the Centralized Data Repository Module, may be configured to generate, a central repository of personal data on behalf of an entity, and populate the central repository with personal data as the entity collects, stores and/or processes the personal data.
  • the system is configured to index the personal data within the central repository by data subject.
  • FIG. 37 depicts a Centralized Data Repository Module 3700 according to a particular embodiment.
  • the system when executing the Centralized Data Repository Module 3700 , begins, at Step 3710 , by receiving a request to generate a central repository of personal data on behalf of an entity.
  • the system is a third-party system that receives a request from the entity to generate and maintain a central repository (e.g., third party repository) of personal data that the entity collects, stores, and or processes.
  • a central repository e.g., third party repository
  • the system in response to receiving the request, is configured to generate the central repository by: (1) designating at least a portion of one or more data stores for the storage of the personal data, information about the data subjects about whom the personal data is collected, etc.; (2) initiating a connection between the central repository and one or more data systems operated by the entity (e.g., one or more first party systems); (3) etc.
  • the system is configured to generate, for each data subject about whom the entity collects, receives, and/or processes personal data, a unique identifier.
  • the system may, for example: (1) receive an indication that a first party system has collected, stored, and/or processed a piece of personal data; (2) identify a data subject associated with the piece of personal data; (3) determine whether the central repository system is currently storing data associated with the data subject; and (4) in response to determining that the central repository system is not currently storing data associated with the data subject (e.g., because the data subject is a new data subject), generating the unique identifier.
  • the system is configured to assign a unique identifier for each data subject about whom the first party system has previously collected, stored, and/or processed personal data.
  • the unique identifier may include any unique identifier such as, for example: (1) any of the one or more pieces of personal data collected, stored, and/or processed by the system (e.g., name, first name, last name, full name, address, phone number, e-mail address, etc.); (2) a unique string or hash comprising any suitable number of numerals, letters, or combination thereof; and/or (3) any other identifier that is sufficiently unique to distinguish between a first and second data subject for the purpose of subsequent data retrieval.
  • any unique identifier such as, for example: (1) any of the one or more pieces of personal data collected, stored, and/or processed by the system (e.g., name, first name, last name, full name, address, phone number, e-mail address, etc.); (2) a unique string or hash comprising any suitable number of numerals, letters, or combination thereof; and/or (3) any other identifier that is sufficiently unique to distinguish between a first and second data subject for the purpose of subsequent data retrieval.
  • system is configured to assign a permanent identifier to each particular data subject. In other embodiments, the system is configured to assign one or more temporary unique identifiers to the same data subject.
  • the unique identifier may be based at least in part on the unique receipt key and/or unique subject identifier discussed below with respect to the consent receipt management system.
  • the system when receiving consent form a data subject to process, collect, and at least store one or more particular types of personal data associated with the data subject, the system is configured to generate a unique ID to memorialize the consent and provide authorization for the system to collect the subject's data.
  • the system may be configured to utilize any unique ID generated for the purposes of tracking data subject consent as a unique identifier in the context of the central repository system described herein.
  • the system is configured to continue to Step 3730 , and store the unique identifier in computer memory.
  • the system is configured to store the unique identifier in an encrypted manner.
  • the system is configured to store the unique identifier in any suitable location (e.g., the one or more databases 140 described above).
  • the system is configured to store the unique identifier as a particular file structure such as, for example, a particular folder structure in which the system is configured to store one or more pieces of personal data (e.g., or pointers to one or more pieces of personal data) associated with the unique identifier (e.g., the data subject associated with the unique identifier).
  • the system is configured to store the unique identifier in any other suitable manner (e.g., in a suitable data table, etc.).
  • the system is configured to receive an indication that one or more computer systems have received, collected or processed one or more pieces of personal data associated with a data subject.
  • the one or more computer systems include any suitable computer system associated with a particular entity.
  • the one or more computer systems comprise one or more software applications, data stores, databases, etc. that collect, process, and/or store data (e.g., personally identifiable data) on behalf of the entity (e.g., organization).
  • the system is configured to receive the indication through integration with the one or more computer systems.
  • the system may provide a software application for installation on a system device that is configured to transmit the indication in response to the system receiving, collecting, and/or processing one or more pieces of personal data.
  • the system may receive the indication in response to: (1) a first party system, data store, software application, etc. receiving, collecting, storing, and or processing a piece of data that includes personally identifying information; (2) a user registering for an account with a particular entity (e.g., an online account, employee account, social media account, e-mail account, etc.); (3) a company storing information about one or more data subjects (e.g., employee information, customer information, potential customer information, etc.; and/or (4) any other suitable indication that a first entity or any computer system or software on the first entity's behalf has collected, stored, and/or processed a piece of data that includes or may include personally identifiable information.
  • a first party system, data store, software application, etc. receiving, collecting, storing, and or processing a piece of data that includes personally identifying information
  • a user registering for an account with a particular entity (e.g., an online account, employee account, social media account, e-mail account, etc.); (3) a company storing information
  • the system may receive the indication in response to a user submitting a webform via a website operated by the first entity.
  • the webform may include, for example, one or more fields that include the user's e-mail address, billing address, shipping address, and payment information for the purposes of collected payment data to complete a checkout process on an e-commerce website.
  • the system in response to receiving an indication that the user has submitted the at least partially completed webform, may be configured to receive the indication described above with respect to Step 3740 .
  • a first party privacy management system or other system may be configured to transmit an indication to the central repository system in response to collecting, receiving, or processing one or more pieces of personal data personal data.
  • the indication may include, for example: (1) an indication of the type of personal data collected; (2) a purpose for which the personal data was collected; (3) a storage location of the personal data by the first party system; and/or (4) any other suitable information related to the one or more pieces of personal data or the handling of the personal data by the first party system.
  • the system is configured to receive the indication via an application programming interface, a software application stored locally on a computing device within a network that makes up the first party system, or in any other suitable manner.
  • the central repository system is configured to store, in computer memory, an indication of the personal data in association with the respective unique identifier.
  • the central repository system comprises a component of a first party system for the centralized storage of personal data collected by one or more various distributed computing systems (e.g., and software applications) operated by a particular entity for the purpose of collecting, storing, and/or processing personal data.
  • the central repository system is a third-party data repository system that is separate from the one or more first party systems described above.
  • a third-party data repository system may be configured to maintain a central repository of personal data for a plurality of different entities.
  • the central repository system is configured to store a copy of the personal data (e.g., store a digital copy of the personal data in computer memory associated with the central repository system).
  • the central repository system is configured to store an indication of a storage location of the personal data within the first party system.
  • the system may be configured to store an indication of a physical location of a particular storage location (e.g., a physical location of a particular computer server or other data store) and an indication of a location of the personal data in memory on that particular storage location (e.g., a particular path or filename of the personal data, a particular location in a spreadsheet, CSV file, or other suitable document, etc.).
  • the system may be configured to confirm receipt of valid consent to collect, store, and/or process personal data from the data subject prior to storing the indication of the personal data in association with the respective unique identifier.
  • the system may be configured to integrate with (e.g., interface with) a consent receipt management system (e.g., such as the consent receipt management system described more fully below).
  • the system may be configured to: (1) receive the indication that the first party system has collected, stored, and/or processed a piece of personal data; (2) identify, based at least in part on the piece of personal data, a data subject associated with the piece of personal data; (3) determine, based at least in part on one or more consent receipts received from the data subject(e.g., one or more valid receipt keys associated with the data subject), and one or more pieces of information associated with the piece of personal data, whether the data subject has provided valid consent to collect, store, and/or process the piece of personal data; (4) in response to determining that the data subject has provided valid consent, storing the piece of personal data in any manner described herein; and (5) in response to determining that the data subject has not provided valid consent, deleting the piece of personal data (e.g., not store the piece of personal data).
  • the system in response to determining that the data subject has not provided valid consent, may be further configured to: (1) automatically determine where the data subject's personal data is stored (e.g., by the first party system); and (2) in response to determining the location of the data (which may be on multiple computing systems), automatically facilitate the deletion of the data subject's personal data from the various systems (e.g., by automatically assigning a plurality of tasks to delete data across multiple business systems to effectively delete the data subject's personal data from the systems).
  • the step of facilitating the deletion may comprise, for example: (1) overwriting the data in memory; (2) marking the data for overwrite; (2) marking the data as free (e.g., and deleting a directory entry associated with the data); and/or (3) any other suitable technique for deleting the personal data.
  • the system is configured to take one or more actions based at least in part on the data stored in association with the unique identifier.
  • the one or more actions may include, for example, responding to a data subject access request initiated by a data subject (e.g., or other individual on the data subject's behalf) associated with the unique identifier.
  • the system is configured to identify the unique identifier associated with the data subject making the data subject access request based on information submitted as part of the request.
  • any entity e.g., organization, company, etc.
  • collects, stores, processes, etc. personal data may require one or more of: (1) consent from a data subject from whom the personal data is collected and/or processed; and/or (2) a lawful basis for the collection and/or processing of the personal data.
  • the entity may be required to, for example: (1) demonstrate that a data subject has freely given specific, informed, and unambiguous indication of the data subject's agreement to the processing of his or her personal data (e.g., in the form of a statement or clear affirmative action); (2) demonstrate that the entity received consent from a data subject in a manner clearly distinguishable from other matters (e.g., in an intelligible and easily accessible form, using clear and plain language, etc.); (3) enable a data subject to withdraw consent as easily as the data subject can give consent; (4) separate a data subject's consent from performance under any contract unless such processing is necessary for performance under the contract; etc.
  • a consent receipt management system may be implemented in the context of any suitable privacy management system that is configured to ensure compliance with one or more legal or industry standards related to the collection and/or storage of private information (e.g., such as personal data).
  • Various privacy and security policies e.g., such as the European Union's General Data Protection Regulation, and other such policies
  • data subjects e.g., individuals, organizations, or other entities
  • certain rights related to the data subject's personal data that is collected, stored, or otherwise processed by an organization.
  • These rights may include, for example: (1) a right to erasure of the data subject's personal data (e.g., in cases where no legal basis applies to the processing and/or collection of the personal data; (2) a right to withdraw consent to the processing and/or collection of their personal data; (3) a right to receive the personal data concerning the data subject, which he or she has provided to an entity (e.g., organization), in a structured, commonly used and machine-readable format; and/or (4) any other right which may be afforded to the data subject under any applicable legal and/or industry policy.
  • a right to erasure of the data subject's personal data e.g., in cases where no legal basis applies to the processing and/or collection of the personal data
  • a right to withdraw consent to the processing and/or collection of their personal data e.g., consent to the processing and/or collection of their personal data
  • a right to receive the personal data concerning the data subject which he or she has provided to an entity (e.g., organization), in
  • the consent receipt management system is configured to: (1) enable an entity to demonstrate that valid consent has been obtained for each particular data subject for whom the entity collects and/or processes personal data; and (2) enable one or more data subjects to exercise one or more rights described herein.
  • the system may, for example, be configured to track data on behalf of an entity that collects and/or processes persona data related to: (1) who consented to the processing or collection of personal data (e.g., the data subject themselves or a person legally entitled to consent on their behalf such as a parent, guardian, etc.); (2) when the consent was given (e.g., a date and time); (3) what information was provided to the consenter at the time of consent (e.g., a privacy policy, what personal data would be collected following the provision of the consent, for what purpose that personal data would be collected, etc.); (4) how consent was received (e.g., one or more copies of a data capture form, webform, etc. via which consent was provided by the consenter); (5) when consent was withdrawn (e.g., a date and time of consent withdrawal if the consenter withdraws consent); and/or (6) any other suitable data related to receipt or withdrawal of consent.
  • persona data related to: (1) who consented to the processing or collection of personal data (e
  • the system may be configured to provide data subjects with a centralized interface that is configured to: (1) provide information regarding each of one or more valid consents that the data subject has provided to one or more entities related to the collection and/or processing of their personal data; (2) provide one or more periodic reminders regarding the data subject's right to withdraw previously given consent (e.g., every 6 months in the case of communications data and metadata, etc.); (3) provide a withdrawal mechanism for the withdrawal of one or more previously provided valid consents (e.g., in a format that is substantially similar to a format in which the valid consent was given by the data subject); (4) refresh consent when appropriate (e.g., the system may be configured to elicit updated consent in cases where particular previously validly consented to processing is used for a new purpose, a particular amount of time has elapsed since consent was given, etc.).
  • a centralized interface that is configured to: (1) provide information regarding each of one or more valid consents that the data subject has provided to one or more entities related to the collection and/or processing of their personal data
  • the system is configured to manage one or more consent receipts between a data subject and an entity.
  • a consent receipt may include a record (e.g., a data record stored in memory and associated with the data subject) of consent, for example, as a transactional agreement where the data subject is already identified or identifiable as part of the data processing that results from the provided consent.
  • the system may be configured to generate a consent receipt in response to a data subject providing valid consent.
  • the system is configured to determine whether one or more conditions for valid consent have been met prior to generating the consent receipt.
  • FIG. 38 depicts an exemplary data flow that a consent receipt management system may utilize in the recordation and management of one or more consent receipts.
  • a third party consent receipt management system may be configured to manage one or more consent receipts for a particular entity.
  • a data subject may access an interaction interface (e.g., via the web) for interacting with a particular entity (e.g., one or more entity systems).
  • the interaction interface e.g., user interface
  • the interaction interface may be provided by the entity.
  • a data subject may initiate a transaction with the entity that requires the data subject to provide valid consent (e.g., because the transaction includes the processing of personal data by the entity).
  • the transaction may include, for example: (1) accessing the entity's website; (2) signing up for a user account with the entity; (3) signing up for a mailing list with the entity; (4) a free trial sign up; (5) product registration; and/or (6) any other suitable transaction that may result in collection and/or processing personal data, by the entity, about the data subject.
  • any particular transaction may record and/or require one or more valid consents from the data subject.
  • the system may require a particular data subject to provide consent for each particular type of personal data that will be collected as part of the transaction.
  • the system may, in various embodiments, be configured to prompt the data subject to provide valid consent, for example, by: (1) displaying, via the interaction interface, one or more pieces of information regarding the consent (e.g., what personal data will be collected, how it will be used, etc.); and (2) prompt the data subject to provide the consent.
  • the system may be configured to: (1) generate a unique receipt key (e.g., unique receipt ID); (2) associate the unique receipt key with the data subject (e.g., a unique subject identifier), the entity, and the transaction; and (3) electronically store (e.g., in computer memory) the unique receipt key.
  • the system may further store a unique user ID (e.g., unique subject identifier) associated with the data subject (e.g., a hashed user ID, a unique user ID provided by the data subject, unique ID based on a piece of personal data such as an e-mail address, etc.).
  • the unique consent receipt key is generated by a third party consent receipt management system.
  • the system may then be configured to associate the unique consent receipt key with the interaction interface, and further configured to associate the unique consent receipt key with a unique transaction ID generated as a result of a data subject transaction initiated via the interaction interface.
  • the unique consent receipt key may be associated with one or more receipt definitions, which may include, for example: (1) the unique transaction ID; (2) an identity of one or more controllers and/or representatives of the entity that is engaging in the transaction with the data subject (e.g., and contact information for the one or more controllers); (3) one or more links to a privacy policy associated with the transaction at the time that consent was given; (4) a listing of one or more data types for which consent to process was provided (e.g., email, MAC address, name, phone number, browsing history, etc.); (5) one or more methods used to collect data for which consent to process was provided (e.g., using one or more cookies, receiving the personal data from the data subject directly, etc.); (6) a description of a service (e.g., a service provided as part of the transaction such as a free trial, user account, etc.); (7) one or more purposes of the processing (e.g., for marketing purposes, to facilitate contact with the data subject, etc.); (8) a jurisdiction (
  • FIG. 39 depicts an exemplary consent definition summary for a particular transaction (e.g., free trial signup).
  • the system In response to receiving valid consent from the data subject, the system is configured to transmit the unique transaction ID and the unique consent receipt key back to the third party consent receipt management system for processing and/or storage.
  • the system is configured to transmit the transaction ID to a data store associated with one or more entity systems (e.g., for a particular entity on behalf of whom the third party consent receipt management system is obtaining and managing validly received consent).
  • the system is configured to transmit the unique transaction ID, the unique consent receipt key, and any other suitable information related to the validly given consent to the centralized data repository system described above for use in determining whether to store particular data and/or for assigning a unique identifier to a particular data subject for centralized data repository management purposes.
  • the system may be further configured to transmit a consent receipt to the data subject which may include, for example: (1) the unique transaction ID; (2) the unique consent receipt key; and/or (3) any other suitable data related to the validly provided consent.
  • the system is configured to transmit a consent receipt in any suitable format (e.g., JSON, HTML, e-mail, text, cookie, etc.).
  • the receipt transmitted to the data subject may include a link to a subject rights portal via which the data subject may, for example: (1) view one or more provided valid consents; (2) withdraw consent; (3) etc.
  • FIGS. 40 and 41 depict exemplary screen displays that a data subject may encounter when providing consent to the processing of personal data.
  • a data subject e.g., John Doe
  • may provide particular personal data e.g., first and last name, email, company, job title, phone number, etc.
  • the free trial may constitute a transaction between the data subject (e.g., user) and a particular entity providing the free trial.
  • the data subject e.g., user
  • the data subject may encounter the interface shown in FIG. 40 in response to accessing a website associated with the particular entity for the free trial (e.g., a sign up page).
  • the interface 4000 is configured to enable the user (e.g., data subject) to provide the information required to sign up for the free trial.
  • the interface further includes a listing of particular things that the data subject is consenting to (e.g., the processing of first name, last name, work email, company, job title, and phone number) as well as one or more purposes for the processing of such data (e.g., marketing information).
  • the interface further includes a link to a Privacy Policy that governs the use of the information.
  • the system in response to the user (e.g., data subject) submitting the webform shown in FIG. 40 , the system is configured to generate a consent receipt that memorializes the user's provision of the consent (e.g., by virtue of the user submitting the form).
  • FIG. 41 depicts an exemplary consent receipt 4100 in the form of a message transmitted to the data subject (e.g., via e-mail).
  • the consent receipt includes, for example: (1) a receipt number (e.g., a hash, key, or other unique identifier); (2) what information was processed as a result of the user's consent (e.g., first and last name, email, company, job title, phone number, etc.); (3) one or more purposes of the processing (e.g., marketing information); (4) information regarding withdrawal of consent; (5) a link to withdraw consent; and (6) a timestamp at which the system received the consent (e.g., a time at which the user submitted the form in FIG. 40 ).
  • the consent receipt transmitted to the user may include any other suitable information.
  • FIG. 42 depicts an exemplary log of consent receipts 4200 for a particular transaction (e.g., the free trial signup described above).
  • the system is configured to maintain a database of consent receipts that includes, for example, a timestamp of each receipt, a unique key associated with each receipt, a customer ID associated with each receipt (e.g., the customer's e-mail address), etc.
  • the centralized data repository system described above may be configured to cross-reference the database of consent receipts (e.g., or maintain the database) in response to receiving the indication that a first party system has received, stored, and/or processed personal data (e.g., via the free trial signup interface) in order to confirm that the data subject has provided valid consent prior to storing the indication of the personal data.
  • FIGS. 43 - 54 depict exemplary user interfaces via which a user (e.g., a controller or other individual associated with a particular entity) may create a new transaction for which the system is configured to generate a new interaction interface (e.g., interface via which the system is configured to elicit and receive consent for the collection and/or processing of personal data from a data subject under the new transaction.
  • a user e.g., a controller or other individual associated with a particular entity
  • a new interaction interface e.g., interface via which the system is configured to elicit and receive consent for the collection and/or processing of personal data from a data subject under the new transaction.
  • the system is configured to display a dashboard of existing transactions 4300 that are associated with a particular entity.
  • the dashboard includes, for example: (1) a name of each transaction; (2) a status of each transaction; (2) one or more data categories collected as part of each transaction; (3) a unique subject ID used as part of the transaction (e.g., email, device ID, etc.); (4) a creation date of each transaction; (5) a date of first consent receipt under each transaction; and (6) a total number of receipts received for each transaction.
  • the dashboard further includes a Create New Transaction button, which a user may select in order to create a new transaction.
  • the centralized data repository system described above may limit storage of personal data on behalf of a particular entity to specific personal data for which the particular entity has received consent from particular data subjects.
  • the system may be configured to not store any personal data collected, and/or processed other than in response to an indication that the data was collected through the free trial signup or product registration transaction.
  • FIG. 44 depicts an interface 4400 for creating a new transaction, which a user may access, for example, by selecting the Create New Transaction button shown in FIG. 43 .
  • the user may enter, via one or more text entry forms, a name of the transaction, a description of the transaction, a group associated with the transaction, and/or any other suitable information related to the new transaction.
  • the system may be configured to prompt the user to select whether the new transaction is based on an existing processing activity.
  • An existing processing activity may include, for example, any other suitable transaction or any other activity that involves the collection and/or processing of personal data.
  • the system may be configured to prompt the user, via one or more additional interfaces, to provide information regarding the new transaction.
  • FIGS. 47 - 54 depict exemplary user interfaces via which the user may provide additional information regarding the new transaction.
  • the system may be configured to prompt the user to provide the information via free-form text entry, via one or more drop down menus, by selecting one or more predefined selections, or in any suitable manner.
  • the system is configured to prompt the user to provide one or more standardized pieces of information regarding the new transaction.
  • the system is configured to enable a particular entity (e.g., organization, company, etc.) to customize one or more questions or prompts that the system displays to a user creating a new transaction.
  • the system may, for example, prompt the user, via the user interface, to: (1) describe a process or service that the consent under the transaction relates to; (2) provide a public URL where consent is or will be collected; (3) provide information regarding how consent is being collected (e.g., via a website, application, device, paper form, etc.); (4) provide information regarding one or more data elements that will be processed based on the consent provided by the data subject (e.g., what particular personal data will be collected); and (5) provide information regarding what data elements are processed by one or more background checks (e.g., credit check and/or criminal history).
  • background checks e.g., credit check and/or criminal history
  • the system may be configured to prompt the user to provide data related to, for example: (1) one or more elements that will be used to uniquely identify a data subject; (2) a purpose for seeking consent; (3) what type of consent is sought (e.g., unambiguous, explicit, not sure, etc.); (4) who is the data controller in charge of the processing of the personal data (e.g., the legal entity responsible); (5) a contact address (e.g., for the data controller; (6) etc.
  • data related to for example: (1) one or more elements that will be used to uniquely identify a data subject; (2) a purpose for seeking consent; (3) what type of consent is sought (e.g., unambiguous, explicit, not sure, etc.); (4) who is the data controller in charge of the processing of the personal data (e.g., the legal entity responsible); (5) a contact address (e.g., for the data controller; (6) etc.
  • the system may be further configured to prompt the user to provide data regarding, for example: (1) who the contact person is for the transaction (e.g., a job title, name, etc. of the contact person); (2) a contact email (e.g., an email address that a data subject can contact to get more information about the transaction, consent, etc.); (3) a contact telephone number (e.g., a telephone number that a data subject can contact to get more information about the transaction, consent, etc.); (4) an applicable jurisdiction for the processing (e.g., European Union, United States, Other, etc.), which may include one or more jurisdictions; (5) a URL of a privacy policy associated with the transaction; (6) etc.
  • a contact email e.g., an email address that a data subject can contact to get more information about the transaction, consent, etc.
  • a contact telephone number e.g., a telephone number that a data subject can contact to get more information about the transaction, consent, etc.
  • an applicable jurisdiction for the processing e.g.,
  • the system may be further configured to prompt the user to provide data regarding: (1) whether the personal data will be shared with one or more third parties; (2) a name of the one or more third parties; (3) whether the processing of the personal data will involve a transfer of the personal data outside of the original jurisdiction; (4) a listing of one or more destination countries, regions, or other jurisdictions that will be involved in any international transfer; (5) a process for a data subject to withdraw consent; (6) a URL for the withdrawal mechanism; (7) etc.
  • FIG. 50 depicts a user interface that includes additional data prompts for the user to respond to regarding the new transaction. As shown in FIG.
  • the system may be further configured to prompt the user to provide data regarding, for example: (1) what the retention period is for the personal data (e.g., how long the personal data will be stored in identifiable form, a period before anonymization of the personal data, etc.); and/or (2) a life span of the consent (e.g., a period of time during which the consent is assumed to be valid).
  • a life span of the consent e.g., a period of time during which the consent is assumed to be valid.
  • FIG. 51 shows an exemplary user interface for selecting a processing activity in response to the user indicating that the new transaction is based on an existing processing activity.
  • the user may, for example, use a drop down menu to select a suitable existing processing activity.
  • the system is configured to populate the drop down menu with one or more processing activities from a data model associated with the processing activity.
  • the system may then be configured to substantially automatically populate one or more responses to the questions described above based at least in part on the data model (e.g., automatically include particular data elements collected as part of the processing activity, etc.).
  • the system is further configured to enable a controller (e.g., or other user on behalf of the entity) to search for one or more consent receipts received for a particular data subject (e.g., via a unique subject identifier).
  • FIG. 52 depicts a search for a unique subject identifier that includes an e-mail address.
  • the unique subject identifier e.g., john.doe@gmail.com
  • FIG. 53 depicts an additional exemplary search results page indicating one or more results for consent receipts associated with the unique subject identifier of john.doe@gmail.com.
  • the system may be configured to display a process name (e.g., transaction name), receipt number, consent date, status, withdrawal date, and other suitable information for one or more consent receipts associated with the searched for unique subject identifier.
  • the system in response to a user creating a new transaction, the system may be configured to generate a web form, web page, piece of computer code, etc. for the collection of consent by a data subject as part of the new transaction.
  • FIG. 54 depicts an exemplary dashboard of consent receipt management implementation code which the system may automatically generate for the implementation of a consent receipt management system for a particular transaction. As shown in this figure, the system displays particular computer code (e.g., in one or more different programming language) that the system has generated. A user may place the generated code on a webpage or other location that the user desires to collect consent.
  • particular computer code e.g., in one or more different programming language
  • An application privacy analysis system in various embodiments, is configured to provide a data-storage repository (e.g., one or more servers, databases, etc.) for the storage of application privacy analysis data for one or more particular software applications (e.g., one or more mobile device software applications).
  • the application privacy analysis data repository may enable the system to populate one or more data models (e.g., using one or more suitable techniques described above) substantially on-the-fly (e.g., as the system generates, collects, processes, stores, etc. application privacy analysis data regarding a particular application).
  • the system is configured to maintain a substantially up-to-date data model for a plurality of applications (e.g., each particular application for which the system generates, collects, processes, stores, etc. application privacy analysis data).
  • the system may then be configured to substantially automatically respond to one or more data access requests by one or more systems and devices, for example, using the substantially up-to-date data model.
  • the system may be configured to respond to the one or more data access requests using any suitable technique described herein.
  • an application privacy analysis system may analyze applications to determine the personal data and/or personal information collection capabilities of such applications.
  • An application privacy analysis system may also analyze software applications to determine how each application accesses, requests, access to, or otherwise collects any information that may be personal and/or private to a data subject or consumer.
  • an application privacy analysis system may analyze an application to determine the device component access permissions that the application requires or requests, such as permissions to access device hardware (e.g., camera, microphone, receiver, transmitter, etc.) and/or permissions to access device data (contacts, calendar, location, photos, etc.).
  • An application privacy analysis system may also, or instead, analyze an application to determine the device storage, if any, that the application may require and/or request access to (e.g., shared data, application database, key data, device data, etc.). The results of such analysis may be stored in a data repository. Utilizing and maintaining a data repository for application privacy analysis data may enable the system to quickly and accurately respond to requests related to mobile application privacy analysis data.
  • the application privacy analysis repository may include one or more third party data repositories (e.g., one or more third party data repositories maintained on behalf of a particular entity that generates, collects, stores, and/or processes application privacy analysis data).
  • third party data repositories e.g., one or more third party data repositories maintained on behalf of a particular entity that generates, collects, stores, and/or processes application privacy analysis data.
  • an application privacy analysis system is configured to facilitate the analysis of applications (e.g., mobile device applications), the generation of application privacy analysis data, and the storage of mobile application privacy analysis data for each of a plurality of applications.
  • the system may be configured to: (1) receive or otherwise acquire an application; (2) analyze the application to determine its privacy-related attributes; and (3) store application privacy analysis data in a suitable data format (e.g., a data model, a reference table, etc.) for later retrieval.
  • privacy-related attributes may include device component access and/or storage permissions that an application may require or request.
  • Privacy-related attributes may also include recipients of personal data, personal information, and/or other data collected by a software application. Privacy-related attributes may also include specific personal information, types of personal information, and/or any indicators thereof.
  • the system may be configured to statically analyze an application by, for example: (1) loading the application (e.g., acquiring the application software and storing it into a computer memory); (2) determining specific identifying information for the application; (3) determining whether information about the application's privacy-related attributes is available in a database; (4) if information about the application's privacy-related attributes is available in the database, using that information to determine application privacy analysis data for that application; and (5) digitally storing the application privacy analysis data in one or more suitable data stores.
  • the system is configured to store the application privacy analysis data associated with a particular application in association with a unique application identifier. The system may store specific identifying information for an application and associate such information with the unique application identifier.
  • the system may include the application's name, publisher, version number, serial code, any other identifying data, or any combination thereof as identifying information for the application.
  • the system may perform searches based on such identifying information, including performing searches using hashing.
  • the system may set and/or transmit a flag or other indicator indicating that the application should be dynamically analyzed.
  • the system may determine to set and/or transmit such a flag based on a failure to locate the application in a database of application privacy analysis data or for any other reason.
  • the system may be configured to dynamically analyze an application by, for example: (1) loading the application (e.g., acquiring the application software and storing it into a computer memory); (2) executing the application and providing, as input to the application, test, or “dummy” data to initiate communications between the application and any other devices or systems; (3) inspecting communications data (e.g., network traffic) exchanged between the application and any other devices or systems; (4) determining the privacy-related attributes and/or characteristics of the inspected communications data to generate application privacy analysis data; and (5) digitally storing the application privacy analysis data in one or more suitable data stores.
  • the system is configured to store the application privacy analysis data associated with a particular application in association with a unique application identifier.
  • the system may store specific privacy-related attributes and/or characteristics determined based on dynamic analysis of a particular application and associate such information with the associated unique application identifier.
  • the system may include, as such specific privacy-related attributes and/or characteristics of a dynamically analyzed application, one or more geographic locations (city, county, state, country, zip code, etc.), identities, IP addresses, MAC addresses, and/or other network addresses of other systems and devices with which the application is in communication.
  • Specific privacy-related attributes and/or characteristics determined based on inspected communications may also include one or more types of personal data being sent to other systems and devices with which the application is in communication, as well as any information received from such other systems and devices.
  • Specific privacy-related attributes and/or characteristics determined based on inspected communications may also include one or more types of data elements and/or one or more specific data elements exchanged with other systems and devices with which the application is in communication
  • FIG. 55 is a block diagram of an Application Privacy Analysis System 5500 according to a particular embodiment.
  • the Application Privacy Analysis System 5500 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more laws, regulations, or policies related to the collection, transmission, and storage of personal data or personal information.
  • the Application Privacy Analysis System 5500 is a stand-alone system that is configured to analyze software applications, such as software applications that are executed on a laptop or desktop computer or on a portable computing device such as a smartphone.
  • Analyzed applications may be applications created by one or more third party application developers, may be provided by one or more application provider servers or other systems, and may be installed on one or more remote devices.
  • the Application Privacy Analysis System 5500 may generate privacy-related information about the capabilities of such applications and may maintain a centralized database of privacy-related application capability information and privacy-related attributes and/or characteristics for such applications.
  • the Application Privacy Analysis System 5500 includes One or More Computer Networks 115 (for example, as described herein in regard to FIG. 1 ), One or More Application Privacy Analysis Data Repository Servers 5510 , an Application Privacy Scanning Server 5520 , One or More Third Party System Servers 5530 , One or More Databases 140 (for example, as described herein in regard to FIG. 1 ) or other data structures, and One or More Remote Data Subject Computing Devices 5550 (e.g., a smartphone, desktop computer, laptop computer, tablet computer, etc.
  • FIG. 55 the Application Privacy Analysis System 5500 includes One or More Computer Networks 115 (for example, as described herein in regard to FIG. 1 ), One or More Application Privacy Analysis Data Repository Servers 5510 , an Application Privacy Scanning Server 5520 , One or More Third Party System Servers 5530 , One or More Databases 140 (for example, as described herein in regard to FIG. 1 ) or other data structures, and One or More Remote Data Subject Computing Devices 5550 (e.g., a smartphone,
  • One or More Application Privacy Data Repository Servers 5510 the One or More Application Privacy Data Repository Servers 5510 , Application Privacy Scanning Server 5520 , One or More Third Party System Servers 5530 , One or More Databases 140 or other data structures, and One or More Remote Data Subject Computing Devices 5550 are shown as separate entities, it should be understood that in other embodiments, one or more of these servers, computing devices, and/or entities may comprise a single server, a plurality of servers, one or more cloud-based servers, or any other suitable configuration.
  • the One or More Application Privacy Analysis Data Repository Servers 5510 may be configured to store information generated by the Application Privacy Scanning Server 5520 , for example storing such information at One or More Databases 140 .
  • the Application Privacy Scanning Server 5520 may acquire an application from the One or More Third Party System Servers 5530 and may store, process, execute, and/or analyze such an application as described herein to generate privacy-related capability information for the application.
  • the One or More Application Privacy Analysis Data Repository Servers 5510 and the One or More Third Party System Servers 5530 may, for example, interface via a suitable application programming interface (API), direct connection, etc.
  • API application programming interface
  • the Application Privacy Scanning Server 5520 may, alternatively, acquire an application from the One or More Remote Data Subject Computing Devices 5550 and may store, process, execute, and/or analyze such an application as described herein to generate privacy-related capability information for the application.
  • the One or More Application Privacy Analysis Data Repository Servers 5510 and the One or More Remote Data Subject Computing Devices 5550 may, for example, interface via a suitable application programming interface, direct connection, etc.
  • the Application Privacy Scanning Server 5520 may store generated privacy-related capability information for an application for later retrieval, for example, at the One or More Application Privacy Data Repository Servers 5510 .
  • the One or More Application Privacy Analysis Data Repository Servers 5510 and the Application Privacy Scanning Server 5520 may, for example, interface via a suitable application programming interface, direct connection, etc.
  • the Application Privacy Scanning Server 5520 may incorporate the One or More Application Privacy Data Repository Servers 5510 .
  • the One or More Remote Data Subject Computing Devices 5550 may provide an application, or an indication of an application, configured on the One or More Remote Data Subject Computing Devices 5550 , to the Application Privacy Scanning Server 5520 .
  • the Application Privacy Scanning Server 5520 may acquire information regarding an application via other means, such as directly from the One or More Third Party System Servers 5530 that may provide the application, and acquire the application using such information.
  • the system may, upon retrieval or receipt of an application at the Application Privacy Scanning Server 5520 , analyze the application to generate privacy-related capability information (e.g., specific privacy-related attributes and/or characteristics) for the application and transmit data representing the privacy-related capability information for the application to the One or More Application Privacy Data Repository Servers 5510 .
  • privacy-related capability information e.g., specific privacy-related attributes and/or characteristics
  • the One or More Application Privacy Analysis Data Repository Servers 5510 may process such data and/or may store such data in a centralized data storage location (e.g., at the One or More Databases 140 , the One or More Application Privacy Data Repository Servers 5510 , etc.).
  • FIG. 56 is a block diagram of an exemplary Application Privacy Analysis System 5600 according to a particular embodiment.
  • the Application Privacy Analysis System 5600 may be implemented in conjunction with, encompassing, or as part of any other disclosed systems and devices, such as the Application Privacy Analysis System 5500 .
  • the Application Privacy Analysis System 5600 may be part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more laws, regulations, and/or policies related to the collection, transmission, and storage of personal data and/or personal information.
  • a privacy compliance system also referred to as a privacy management system
  • the Application Privacy Analysis System 5600 may be a stand-alone system that is configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications (e.g., determine privacy-related attributes and/or characteristics of such applications), and maintain a centralized database of privacy-related application capability information.
  • the Application Privacy Analysis System 5600 may have an App Intake Module 5610 that may load or otherwise prepare a software application (e.g., a mobile device application or other software application) for analysis and/or execution.
  • the Application Privacy Analysis System 5600 may acquire an application from a third-party system that hosts, generates, or otherwise provides the application.
  • the Application Privacy Analysis System 5600 may use identifying information about an application that it obtained from a data subject computing device or a consumer computing device to acquire the application from a third-party system that hosts, generates, or otherwise provides the application.
  • the Application Privacy Analysis System 5600 may acquire an application from a data subject computing device or a consumer computing device itself.
  • the Application Privacy Analysis System 5600 may include a Decompiler Module 5620 that may deconstruct an acquired application for analysis.
  • the Decompiler Module 5620 can reduce the application to source code, assembly language, machine code, and/or some other interpretation of the functions of the application, or an approximation thereof.
  • the Application Privacy Analysis System 5600 may have a Static Analysis Module 5630 that may use the output of the Decompiler Module 5620 to perform analysis of the application based on the application code or the approximation of the application code.
  • the Static Analysis Module 5630 scans the application code for various privacy-related attributes and/or characteristics. For example, the Static Analysis Module 5630 may scan the application code to determine whether the application collects, requests, or otherwise attempts to access personal data and/or personal information.
  • the Static Analysis Module 5630 may also, or instead, scan the application code to determine whether and how the code may use permissions to gain access to one or more device components (e.g., access to a camera, microphone, contacts, calendar, photographs, location, etc.) and device storage (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), any storage that may be configured with personal data and/or personal information, storage preferences, etc.).
  • device components e.g., access to a camera, microphone, contacts, calendar, photographs, location, etc.
  • device storage e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), any storage that may be configured with personal data and/or personal information, storage preferences, etc.
  • the Static Analysis Module 5630 may also scan the application code to determine whether and how the code may share application-generated data or data subject computing device originated data (e.g., personal information) with other remote and or local entities (e.g., other applications, other systems, web services, etc.). Where any data is shared, the Static Analysis Module 5630 also attempts to determine where such data is being sent. For example, the Static Analysis Module 5630 may determine a geographical destination location, such as a city, county, state, country, zip code, etc. Alternatively, or in the process of determining a geographical destination, the Static Analysis Module 5630 may determine a destination network address, such as an IP addresses, a MAC address, other network address, network identifier, etc. Upon determining a destination network address for data shared by the application, the system may use that network address to determine a geographical location, for example, by using network look-up techniques that associate network addresses with geographical locations.
  • application-generated data or data subject computing device originated data e.g., personal information
  • the Static Analysis Module 5630 may scan the application code to determine any application programming interface (API) calls that are made by the code.
  • API application programming interface
  • the system may analyze such API calls to determine the mobile application's access to, and use of, various privacy-related attributes and/or characteristics.
  • the Static Analysis Module 5630 may analyze the API calls to determine whether the application collects, requests, or otherwise attempts to access personal data and/or personal information, the permissions the application requests and/or has been granted, the data that the application has access to on the mobile device, the components or hardware which the application has access, etc.
  • the Application Privacy Analysis System 5600 may use a determined geographical destination of shared data to determine potentially applicable privacy laws and regulations. For example, the Application Privacy Analysis System 5600 may determine that data is being sent to Europe and may then determine that the GDPR is applicable to this data transfer. In another example, the Application Privacy Analysis System 5600 may determine that data is being sent to California and may then determine that the California Consumer Privacy Act (CCPA) is applicable to this data transfer.
  • the Application Privacy Analysis System 5600 may also, or instead, use a location of the mobile device executing the application to determine applicable laws and regulations. The system, based on a location of the mobile device executing the application and/or a destination of data being transmitted by the application, may take corresponding actions and generated records related to privacy law and regulation compliance as described herein.
  • the Application Privacy Analysis System 5600 may have a Dynamic Analysis Module 5640 that may perform analysis of the application as the application executes.
  • the Dynamic Analysis Module 5640 inspects the communications data and metadata (e.g., network traffic) transmitted and received by the application for privacy-related attributes and/or characteristics.
  • the Dynamic Analysis Module 5640 may inspect communications data and metadata originating from the application and/or directed to the application to determine whether this data includes any personal data or personal information.
  • the Dynamic Analysis Module 5640 may also inspect the communications data and metadata to determine whether such data indicates how device storage is accessed and protected (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), storage preferences, etc.).
  • the Dynamic Analysis Module 5640 may also inspect the communications data and metadata to determine whether and how the application is sharing application-generated data or data subject computing device originated data with other remote and or local entities (e.g., other applications, other systems, web services, etc.).
  • the Dynamic Analysis Module 5640 may also determine where any shared data is being sent (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.). The Dynamic Analysis Module 5640 may also determine whether and how any data elements are being used based on the communications data. To perform this dynamic analysis, the Dynamic Analysis Module 5640 may feed data (e.g., “dummy” data) to the application as it executes the application and analyzes the output of the application using any of various means, such as network and device diagnostic tools, traffic sniffers, traffic analysis tools, etc.
  • data e.g., “dummy” data
  • the Application Privacy Analysis System 5600 may have, or may access, one or more Third-Party Software Development Kit (SDK) Databases 5650 that contain information about known development tools that may have been used to develop the application under analysis. Such Third-Party SDK Databases 5650 may also, or instead, contain information about the application itself.
  • the Application Privacy Analysis System 5600 may determine a source for the SDK, such as a platform, creator, or provider of the SDK (e.g., FACEBOOK, GOOGLE, etc.) Upon determining or obtaining identifying information about the application under analysis, the Application Privacy Analysis System 5600 may use such information to query the Third-Party SDK Databases 5650 for privacy-related information about the application.
  • SDK Third-Party Software Development Kit
  • the Application Privacy Analysis System 5600 may perform such one or more queries during static analysis, dynamic analysis, or both.
  • the Static Analysis Module 5630 and the Dynamic Analysis Module 5640 may query the Third-Party SDK Databases 5650 for privacy-related information about the application under analysis.
  • the Static Analysis Module 5630 may query the Third-Party SDK Databases 5650 for privacy-related information about the application under analysis and, based upon the results of such one or more queries, the Static Analysis Module 5630 may set a flag or provide some other indication that the Dynamic Analysis Module 5640 should analyze the application.
  • the Application Privacy Analysis System 5600 may have, or may access, a Privacy Analysis Database 5660 in which it may store the results of the analysis of the application.
  • the Application Privacy Analysis System 5600 may store all, or any subset of, results of the analyses performed by either or both of the Static Analysis Module 5630 and the Dynamic Analysis Module 5640 , any related data, and any representations and indications of such results and data at the Privacy Analysis Database 5660 .
  • the Application Privacy Analysis System 5600 generates one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed.
  • the Application Privacy Analysis System 5600 generates one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. Such scores and recommendations may also be stored at the Privacy Analysis Database 5660 .
  • the system may present a score for an application and may present rankings of multiple scores and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface.
  • the system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high-risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications.
  • a high-risk score e.g., collects and transmits personal data, attempts to modify storage
  • an application that has a low risk score e.g., does not access personal data, does not request permission to modify storage
  • FIG. 57 is a block diagram of a Static Privacy Analysis System 5700 according to a particular embodiment.
  • the functions, modules, and components of the Static Privacy Analysis System 5700 may be implemented in conjunction with, encompassing, or as part of any other disclosed systems and devices, such as the Application Privacy Analysis System 5500 and the Application Privacy Analysis System 5600 .
  • the Static Privacy Analysis System 5700 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more legal or industry regulations related to the collection, transmission, and storage of personal data.
  • a privacy compliance system also referred to as a privacy management system
  • the Static Privacy Analysis System 5700 is a stand-alone system that is configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications, and maintain a centralized database of privacy-related application capability information.
  • the Static Privacy Analysis System 5700 may analyze an Application 5710 , which may be, in an example, a decompiled Application 5710 .
  • the decompiled Application 5710 may include application source code, associated assembly language, associated machine code, or any other interpretation of the functions, inputs, and outputs of the application 5710 , or any approximation thereof.
  • the Static Privacy Analysis System 5700 may also analyze a Third-Party SDK 5715 used to generate Application 5710 .
  • the Static Privacy Analysis System 5700 may determine one or more Third-Party SDKs 5715 used to generate Application 5710 by using identifying information for Application 5710 to query Third-Party SDK Databases 5720 , for example, as described herein in regard to other embodiments.
  • the Static Privacy Analysis System 5700 scans the application 5710 and Third-Party SDK 5715 for various privacy-related functions, attributes, and characteristics. For example, the Static Privacy Analysis System 5700 may determine, based on the decompiled Application 5710 , whether the application 5710 references any personal data or personal information. The Static Privacy Analysis System 5700 also determines how application 5710 and Third-Party SDK 5715 interact with an Operating System (OS) 5730 .
  • OS 5730 may be any operating system that may be used on a computing device, such as any computing device of any Data Subject 5701 .
  • OS 5730 may be an OS of a smartphone, desktop computer, laptop computer, tablet computer, etc.
  • the Static Privacy Analysis System 5700 scans the application 5710 and Third-Party SDK 5715 for to determine whether and how the application 5710 and Third-Party SDK 5715 may use or access Device Component Privacy Permissions 5732 (e.g., permissions for access to a camera, microphone, photographs, location, calendar, contacts, etc.) and Device Storage 5734 (e.g., shared storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), advertising identifiers and related settings, encrypted storage, unencrypted storage, storage preferences, etc.).
  • Device Component Privacy Permissions 5732 e.g., permissions for access to a camera, microphone, photographs, location, calendar, contacts, etc.
  • Device Storage 5734 e.g., shared storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), advertising identifiers
  • the Static Analysis Module 5700 may also scan the application 5710 and Third-Party SDK 5715 to determine whether and how the application may call, or be configured as, an “open into” application that executes within another application (e.g., allowing the application to operate under the permissions of another application).
  • the Static Analysis Module 5700 may also analyze API calls made by the application 5710 and/or Third-Party SDKs 5715 to determine any access to, and use of, various privacy-related attributes and/or characteristics.
  • the Static Analysis Module 5700 may also analyze API calls made by the application 5710 and/or Third-Party SDKs 5715 , the permissions requested and/or granted to the application 5710 and/or Third-Party SDKs 5715 , and any other portions of the application 5710 and/or Third-Party SDKs 5715 to determine whether and to where any data may be transmitted by the application 5710 .
  • the system may use this geographical information to determine the applicable laws and regulation and take corresponding actions as described herein.
  • the Static Privacy Analysis System 5700 may determine, based on the results of the analysis of the application 5710 and Third-Party SDK 5715 , that the application requires additional analysis, for example, dynamic privacy analysis. In such an embodiment, the Static Privacy Analysis System 5700 may set a flag or provide some other indication to a privacy analysis system or module that dynamic privacy analysis is needed for the application.
  • the Static Privacy Analysis System 5700 may have, or may access, a Privacy Analysis Database 5760 in which it may store the results of the static analysis of the application.
  • the Static Privacy Analysis System 5700 may store all, or any subset of, results of its analysis, data elements used by Application 5710 , any related data, and any representations and indications of such results and data at the Privacy Analysis Database 5760 .
  • the Static Privacy Analysis System 5700 generates one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed.
  • the Static Privacy Analysis System 5700 generates one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. Such scores and recommendations may also be stored at the Privacy Analysis Database 5760 .
  • the system may present a score or recommendation for an application based on the analysis performed by the Static Privacy Analysis System 5700 , and may present rankings of multiple scores/recommendations and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface.
  • the system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications.
  • a high risk score e.g., collects and transmits personal data, attempts to modify storage
  • an application that has a low risk score e.g., does not access personal data, does not request permission to modify storage
  • FIG. 58 is a block diagram of a Dynamic Privacy Analysis System 5800 according to a particular embodiment.
  • the functions, modules, and components of the Dynamic Privacy Analysis System 5800 may be implemented in conjunction with, encompassing, or as part of any other disclosed systems and devices, such as the Application Privacy Analysis System 5500 and the Application Privacy Analysis System 5600 .
  • the Dynamic Privacy Analysis System 5800 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more laws, regulations, and/or policies related to the collection, transmission, and storage of personal data.
  • a privacy compliance system also referred to as a privacy management system
  • the Dynamic Privacy Analysis System 5800 is a stand-alone system that is configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications, and maintain a centralized database of privacy-related application capability information.
  • the Dynamic Privacy Analysis System 5800 may analyze an Application 5810 by executing the application and providing Test Data 5830 (e.g., “dummy data”) as input 5831 to Application 5810 .
  • Test Data 5830 may simulate data associated with a data subject, such as Data Subject 5801 .
  • Test Data may include any personal data or personal information (e.g., first name and last name, first initial and last name, credit card number, bank account number, other financial account number, social security number, phone number, address, etc.)
  • Application 5810 may be executed using a Network Proxy 5820 and output from the Application 5810 may be inspected using a Traffic Inspection Module 5840 .
  • Traffic Inspection Module 5840 may be any network or device diagnostic tool, such as a traffic sniffer, a traffic analysis tool, etc.
  • the Dynamic Privacy Analysis System 5800 inspects the communications data and metadata (e.g., network traffic) generated as output 5811 by the application 5810 and communications data and metadata 5871 received by, or directed to, the application 5810 for privacy-related data and attributes. For example, the Dynamic Privacy Analysis System 5800 may inspect output 5811 and communications data and metadata 5871 to determine whether this data includes any personal data or personal information. The Dynamic Privacy Analysis System 5800 may further inspect output 5811 and communications data and metadata 5871 to determine whether this data indicates whether and how device component permissions are set on a data subject computing device (e.g., permissions for access to a camera, microphone, contacts, calendar, photographs, location, etc.).
  • a data subject computing device e.g., permissions for access to a camera, microphone, contacts, calendar, photographs, location, etc.
  • the Dynamic Privacy Analysis System 5800 may also inspect the communications data and metadata to determine whether such data indicates how device storage is accessed and protected (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information, storage preferences, etc.).
  • device storage e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information, storage preferences, etc.
  • the Dynamic Privacy Analysis System 5800 may inspect output 5811 and/or communications data and/or metadata 5871 , for example being exchanged via Internet 5870 , to determine whether and how the application is sharing application-generated data or data subject computing device originated data (e.g., personal data) with other remote and/or local entities (e.g., other applications, other systems, web services, etc.). For example, the Dynamic Privacy Analysis System 5800 may determine whether traffic from the Application 5810 is being sent to and/or received from Third-Party Web Service 5880 and/or being sent to and/or received from Application Web Service 5890 . Either or both of the Third-Party Web Service 5880 and the Application Web Service 5890 may be associated with Application 5810 .
  • the Dynamic Privacy Analysis System 5800 may also determine where any shared data is being exchanged with the Application 5810 (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.). The Dynamic Privacy Analysis System 5800 may also determine whether and how any data elements are being used based on the communications data.
  • a destination geographical location such as a city, county, state, country, zip code, etc.
  • a network destination such as an IP addresses, a MAC addresses, other network address, network identifier, etc.
  • the Dynamic Privacy Analysis System 5800 may use this geographical information to determine the applicable laws and regulation and take corresponding actions as described herein.
  • the Dynamic Privacy Analysis System 5800 scans the application 5810 to determine information that the Dynamic Privacy Analysis System 5800 can use to query a Third-Party SDK Database 5860 to identify any one or more Third-Party SDKs that may have been used to generate the Application 5810 .
  • the Dynamic Privacy Analysis System 5800 can then use such SDK-related information to determine how to more effectively analyze communications data and metadata exchanged by the Application 5810 .
  • the Dynamic Privacy Analysis System 5800 may also analyze the communications data and metadata exchanged by the Application 5810 to determine whether and how the Application 5810 may call, or be configured as, an “open into” application that executes within another application (e.g., allowing the application to operate under the permissions of another application).
  • the Dynamic Privacy Analysis System 5800 may have, or may access, a Privacy Analysis Database 5850 in which it may store the results of the static analysis of the application.
  • the Dynamic Privacy Analysis System 5800 may store all, or any subset of, results of its analysis, data elements used by Application 5810 , any related data, and any representations and indications of such results and data in the Privacy Analysis Database 5850 .
  • Dynamic Privacy Analysis System 5800 generates one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed.
  • the Dynamic Privacy Analysis System 5800 generates one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. Such scores and recommendations may also be stored at the Privacy Analysis Database 5850 .
  • the system may present a score or recommendation for an application based on the analysis performed by the Dynamic Privacy Analysis System 5800 , and may present rankings of multiple scores/recommendations and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface.
  • the system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications.
  • a high risk score e.g., collects and transmits personal data, attempts to modify storage
  • an application that has a low risk score e.g., does not access personal data, does not request permission to modify storage
  • FIG. 59 depicts a Privacy Analysis Module 5900 according to a particular embodiment.
  • Various functionality of the Application Privacy Analysis System 5500 , the Application Privacy Analysis System 5600 , the Static Privacy Analysis System 5700 , and the Dynamic Privacy Analysis System 5800 may be implemented via a Privacy Analysis Module 5900 .
  • the system when executing certain steps of the Privacy Analysis Module 5900 , may be configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications, and generate and maintain a centralized database of privacy-related application capability information.
  • the system may be configured to index the privacy-related application capability information within the central repository by application function, application developer, application owner, or any other criteria.
  • a privacy analysis system when executing the Privacy Analysis Module 5900 , begins, at Step 5910 , by receiving or acquiring an application (e.g., a mobile device application) for analysis.
  • the Privacy Analysis Module 5900 may request an application from an application developer or provider, or from a data subject computing device, and may receive the application via any means.
  • the Privacy Analysis Module 5900 may receive an instruction or request to perform privacy analysis on an application and may responsively acquire or request the application from a third-party application developer or provider system.
  • the Privacy Analysis Module 5900 or any system operating such a module, can use identifying information about an application that it obtained from a data subject computing device or a consumer computing device to acquire the application from the third-party system that hosts, generates, or otherwise provides the application.
  • the Privacy Analysis Module 5900 may acquire an application from a data subject computing device or a consumer computing device itself
  • the Privacy Analysis Module 5900 may have, or may access, one or more Third-Party SDK Databases that contain information about known development tools that may have been used to develop the application under analysis. Such Third-Party SDK Databases may also, or instead, contain information about the application itself.
  • the Privacy Analysis Module 5900 may use such information to query the Third-Party SDK Databases for privacy-related information about the application.
  • the Privacy Analysis Module 5900 may perform such one or more queries prior to, during, or after performing the steps of Static Privacy Analysis 5930 , Dynamic Privacy Analysis 5940 , or both.
  • the Privacy Analysis Module 5900 may query the Third-Party SDK Databases for privacy-related information about the application under analysis. Information obtained at Step 5920 may be used to facilitate either or both of Static Privacy Analysis 5930 and Dynamic Privacy Analysis 5940 .
  • the Privacy Analysis Module 5900 may perform Static Privacy Analysis 5930 , by, at Step 5931 , decompiling the application under analysis.
  • the Privacy Analysis Module 5900 may deconstruct the application for analysis by reducing the application to source code, assembly language, machine code, or some other interpretation of the functions of the application, or an approximation thereof.
  • the Privacy Analysis Module 5900 performs static analysis of the application based on the decompiled application code or the approximation of the decompiled application code. Such static analysis may include the Privacy Analysis Module 5900 scanning the application code for various privacy-related functions and attributes.
  • the Privacy Analysis Module 5900 may scan the application code to determine whether and how the code may reference, access, collect, transmit, receive, and/or manipulate any personal data or personal information.
  • the Privacy Analysis Module 5900 may also scan the application code to determine whether and how the code may use permissions to access device components (e.g., access to a camera, microphone, contacts, calendar, photographs, location, etc.) and device storage (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information, storage preferences, etc.).
  • the Privacy Analysis Module 5900 may also scan the application code to determine whether any API calls are made and how those call interact with the executing device and its associated storage, components, permissions, and any data located therein.
  • the Privacy Analysis Module 5900 may also scan the application code to determine whether and how the code may share application-generated data or data subject computing device originated data with other remote and or local entities (e.g., other applications, other systems, web services, etc.). Where the Privacy Analysis Module 5900 determines that data is shared, the Privacy Analysis Module 5900 attempts to determine where such data is being sent (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.) The Privacy Analysis Module 5900 may use destination geographical information to determine the applicable laws and regulation and take corresponding actions as described herein.
  • a destination geographical location such as a city, county, state, country, zip code, etc.
  • a network destination such as an IP addresses, a MAC addresses, other network address, network identifier, etc.
  • the Privacy Analysis Module 5900 may set a flag or provide some other indication that a dynamic analysis should be performed for the application, for example, based upon the results of the analysis of Step 5932 and/or based on results of queries made to Third-Party SDK Databases for privacy-related information about the application under analysis.
  • the Privacy Analysis Module 5900 may perform Dynamic Privacy Analysis 5940 , by, at Step 5941 , executing the application and providing it test data (e.g., “dummy” input traffic”).
  • the Privacy Analysis Module 5900 at Step 5942 , inspects the communications data and metadata (e.g., network traffic) transmitted and received by the application for privacy-related data and attributes (e.g., personal information). For example, the Privacy Analysis Module 5900 may inspect the communications data and metadata to determine whether such data includes any personal data or personal information.
  • the Privacy Analysis Module 5900 may also inspect the communications data and metadata to determine whether this data indicates whether and how device component access permissions are set on a data subject computing device (e.g., permissions for access to a camera, microphone, contacts, calendar, photographs, location, etc.).
  • the Privacy Analysis Module 5900 may also inspect the communications data and metadata to determine whether such data indicates how device storage is accessed and protected (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information, storage preferences, etc.).
  • the Privacy Analysis Module 5900 may also inspect the communications data and metadata to determine whether and how the application is sharing application-generated data or data subject computing device originated data with other remote and or local entities (e.g., other applications, other systems, web services, etc.).
  • the Privacy Analysis Module 5900 may also determine where any shared data is being sent (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.). The Privacy Analysis Module 5900 may also determine whether and how any data elements are being used based on the communications data. In performing this dynamic analysis, the Privacy Analysis Module 5900 analyze the output of the application using any of various means, such as network and device diagnostic tools, traffic sniffers, traffic analysis tools, etc.
  • the Privacy Analysis Module 5900 may generate privacy analysis data based on one or both of Static Privacy Analysis 5930 and Dynamic Privacy Analysis 5940 .
  • the Privacy Analysis Module 5900 may generate one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed.
  • the Privacy Analysis Module 5900 may generate one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed.
  • the Privacy Analysis Module 5900 may store the results of its analysis of the application and any associated data, such as scores and recommendations based on the analysis.
  • the Privacy Analysis Module 5900 may store all, or any subset of, the results of the Static Privacy Analysis 5930 and Dynamic Privacy Analysis 5940 , any related data, and any representations and indications of such results and data at a privacy analysis database.
  • a privacy analysis database may be any database or other storage device or system, whether local, remote, first-party, third-party, etc.
  • the system may present a score or recommendation for an application based on the analysis performed by the Privacy Analysis Module 5900 , and may present rankings of multiple scores/recommendations and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface.
  • the system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high-risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low-risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications.
  • SDK Discovery and Assessment System e.g., collects and transmits personal data, attempts to modify storage
  • an entity may take one or more steps to determine the privacy and/or security impact of data and/or software installed on computing devices that the entity may control and/or interact with.
  • an entity may interact with and/or engage in the use of various types of tracking tools (e.g., cookies).
  • Tracking tools may make collect and/or process privacy-related data (e.g., personal data, PII, etc.). Tracking tools may also, or instead, perform functions that have privacy implications, such as tracking a user's activities, location, etc.
  • the disclosed systems may analyze and assess (e.g., score, categorize, etc.) data and/or applications installed on a mobile device based on various privacy-related criteria and/or security-related criteria.
  • the system may identify one or more particular software development kits (SDKs) used to develop a mobile application and apply the disclosed privacy and/or security assessment techniques to the identified one or more SDKs.
  • SDKs software development kits
  • the system may identify one or more software development kits (SDKs) configured on a mobile device and/or used to generate an application configured on the mobile device.
  • SDKs software development kits
  • NLP natural language processing
  • the system may generate a tokenized name for the SDK that includes tokens representing the vendor of the SDK and various functions performed by applications generated using the SDK.
  • the system may determine scores for one or more such tokens and determine a privacy category or score for the SDK based on the token scores.
  • the security and privacy impact of the particular identified SDK may be assessed based, at least in part, on one or more privacy and security impact determinations (e.g., scores, categorization, etc.) associated with the SDK and/or the SDK vendor.
  • privacy and security impact determinations e.g., scores, categorization, etc.
  • the system is configured to generate, access, and/or maintain a database of SDK and vendor information (e.g., an SDK and vendor information database or a third-party SDK database) that may include, but is not limited to: (1) SDK identifying information (e.g., package name); (2) vendor information for one or more SDKs; (3) privacy and/or security information (e.g., assessments, categorizations, scores, etc.) for one or more SDKs; (4) privacy and/or security information (e.g., assessments, categorizations, scores, etc.) for one or more functions of one or more SDKs; and (5) privacy and/or security information (e.g., assessments, categorizations, scores, etc.) for one or more vendors.
  • SDK identifying information e.g., package name
  • vendor information for one or more SDKs
  • privacy and/or security information e.g., assessments, categorizations, scores, etc.
  • privacy and/or security information e.g.
  • the system is configured to identify one or more SDKs configured on a mobile device (e.g., Android-based mobile device, iPhone, etc.) by scanning one or more folders (e.g., all folders) on the mobile device for information that may be used to identify an SDK that may be configured on the mobile device.
  • the system may identify one or more software packages (e.g., one or more software files, one or more collections of software files, individual software files, etc.) configured on the mobile device.
  • the system may determine a name associated with one or more packages configured on the mobile device.
  • the system may use regular expression (RegEx) searching techniques to search one or more databases (e.g., an SDK and vendor information database or a third-party SDK database) to cross-reference the names (or any portion of a name) of each such identified package with one or more known SDK packages. If the system determines that the name of an identified package corresponds to one or more known SDK packages, the system may determine that that particular identified package is a valid SDK package. If the system is unable to cross-reference the name of an identified package to one or more known SDK packages, the system may determine that that particular identified package is not a valid SDK package. The system may record this determination in an SDK and vendor information database for future reference.
  • Regular expression regular expression
  • SDK package names may have a structure such as the following exemplary structure:
  • the system may use a model to calculate a score for each of the SDK categories with which the particular identified package may be associated using the tokenized name of the package.
  • the system may remove or ignore the ⁇ common term> portion of the tokenized name in performing the scoring and/or categorization determinations described herein.
  • the SDK categories may include categories such as advertisements, analytics, location, utilities, development tools, targeting, functional, etc.
  • the system may identify a respective category for each identified ⁇ functionality> term based, at least in part, on a listing of one or more ⁇ functionality> terms and a corresponding SDK category for each term in the listing of ⁇ functionality> terms.
  • such a functionality term categorization table may be stored in a database (e.g., an SDK and vendor information database or a third-party SDK database) and may have been generated for use by the system and/or by a third party as described herein.
  • a database e.g., an SDK and vendor information database or a third-party SDK database
  • the system may assign a particular identified package to a particular (e.g., privacy) category that is associated with the highest scoring ⁇ functionality> term among the ⁇ functionality> terms in its tokenized package name. For example, if a particular identified package has functionality terms corresponding to the categories X, Y, and Z having respective SDK category scores of 10, 20 and 30 (e.g., category X has a score of 10, category Y has a score of 20, and category Z has a score of 30), the system will assign the category of Z to the identified package because Z's associated SDK category score is the highest of those associated with the identified package's functionality tokens.
  • a particular identified package e.g., privacy
  • the system will assign the category of Z to the identified package because Z's associated SDK category score is the highest of those associated with the identified package's functionality tokens.
  • the system may also, or instead, assign or otherwise use the determined category score as a privacy risk score and/or a privacy assessment score for the package (e.g., assign a score of 30 to the package) and/or in calculating a privacy risk score and/or a privacy assessment score for the package.
  • assign or otherwise use the determined category score as a privacy risk score and/or a privacy assessment score for the package (e.g., assign a score of 30 to the package) and/or in calculating a privacy risk score and/or a privacy assessment score for the package.
  • the system may also apply weighting factors in the scoring process by adding a weight to key tokens or terms from each category.
  • the system may then assign a particular identified package to a particular (e.g., privacy) category based on the score for the highest scoring weighted category associated with the particular identified package.
  • a particular identified package has functionality terms corresponding to the categories P, Q, and R, with respective SDK category scores of 10, 20 and 30, but Q is weighted by 30 and the other categories are not, (e.g., category P has a weighted score of 10 , category Q has a weighted score of 50, and category R has a weighted score of 30), the system will assign the category of Q to the identified package because Q's weighted SDK category score is the highest of those associated with the identified package's functionality tokens.
  • the system may also, or instead, assign or otherwise use the determined weighted category score as a privacy risk score and/or a privacy assessment score for the package (e.g., assign a score of 50 to the package) and/or in calculating a privacy risk score and/or a privacy assessment score for the package.
  • assign or otherwise use the determined weighted category score as a privacy risk score and/or a privacy assessment score for the package (e.g., assign a score of 50 to the package) and/or in calculating a privacy risk score and/or a privacy assessment score for the package.
  • the system may identify an SDK package with the name “io.segment.analytics.internal.” The system may then determine this SDK package name include the ⁇ functionality> terms “analytics” and “internal.” Based on these identified ⁇ functionality> terms and, in particular embodiments, reference to a functionality term categorization table, the system may determine that “analytics” is associated with the Targeting SDK category and “internal” is associated with the Functional SDK category.
  • the system may then further determine (e.g., using a functionality term categorization table) that, within the Targeting SDK category, the term “analytics” is a key (e.g., weighted) token, while within the Functional SDK category, the term “internal” is not a key (e.g., not weighted) token. Therefore, based on this determination, the system may assign the category Targeting and/or the score associated with the Targeting SDK category to this SDK package because the term “analytics” is a key token within the Targeting SDK category (and not assign the classification and/or score associated with the Functional SDK category because the term “internal” is not a key token within the Functional SDK category).
  • the system may determine that a category score for a particular identified package is inconclusive. For example, the system may be unable to determine a category associated with a particular identified package because none of the functionality tokens in the tokenized package name have assigned scores (e.g., in a functionality term categorization table or listing).
  • the system may represent an inconclusive score as a null value or other value that the system is configured to recognize as an inconclusive score (e.g., “0,” “ ⁇ 1”). In this case, the system may use the ⁇ vendor name> from the tokenized package name to identify a vendor associated with the particular identified package.
  • the system may query a vendor database (e.g., an SDK and vendor information database) using the vendor name token to identify a particular vendor associated with the vendor name token.
  • the system may then determine a category and/or generate a vendor score for the particular identified package based on that vendor information by, in particular embodiments, querying a vendor term categorization table that may be stored on an SDK and vendor information database using the vendor name token.
  • the system may access a vendor term categorization table to determine a category for a vendor and/or a vendor score based on a vendor's name and/or other information.
  • a vendor term categorization table may be stored in a database (e.g., an SDK and vendor information database or a third-party SDK database) and may have been generated for use by the system and/or by a third party as described herein.
  • the system may determine a category score for a particular SDK as well as a vendor score based on vendor information. The system may then use the vendor score to determine, at least in part, an overall score for the particular identified package. In particular embodiments, the system may determine an overall score for the particular identified package based on a combination of a vendor score and a category score using a formula or algorithm and, in some examples, other available information. In other particular embodiments, the system may determine an overall score for the particular identified package based on only one of a vendor score or a category score. The system may then assign this score as a privacy risk score and/or privacy assessment score to the SDK and/or may use this score to determine a (e.g., privacy) category for the SDK. The system may also, or instead, use this overall score to determine a (e.g., privacy) category for the SDK.
  • FIG. 60 depicts an exemplary system 6000 for discovering and assessing one or more SDKs configured on a mobile device.
  • the SDK discovery and assessment server 6020 may be configured to communicate (e.g., wirelessly and/or using a wired connection) with the mobile device 6050 .
  • the mobile device 6050 may be an Android-based mobile device, while in other embodiments the mobile device 6050 may be any other type of mobile device using any other operating system software (e.g., iPhone).
  • the SDK discovery and assessment server 6020 may scan the mobile device 6050 to identify one or more files that may be SDK packages. For example, the SDK discovery and assessment server 6020 may scan each folder configured to store files on the mobile device 6050 to identify the names of each file stored in each such folder. The system may use any means of scanning and/or searching the files on the mobile device 6050 , including accessing the mobile device 6050 using an API to perform a filename search or using operating system features configured on the mobile device 6050 to locate and identify files configured on mobile device 6050 .
  • the SDK discovery and assessment server 6020 may undertake SDK package scanning and analysis in response to one or more instructions received from the one or more applications privacy analysis servers 6010 , which may be performing one or more privacy analysis functions (e.g., as described herein) related to the mobile device 6050 and/or software configured thereon.
  • a privacy analysis system e.g., the privacy analysis system 5600
  • SDK package scanning and analysis functions may be performed as part of, or in coordination with, any of the static analysis functions and/or dynamic analysis functions described above.
  • the SDK discovery and assessment server 6020 may identify one or more software packages (e.g., one or more software files, one or more collections of software files, individual software files, etc.) configured on the mobile device 6050 .
  • the system may determine a name associated with one or more packages configured on the mobile device 6050 by evaluating the file structure within which each such package may be stored. For example, as illustrated in FIG.
  • the system may identify a “com” package located in folders 6051 that is associated with “vendor 1 ” and has the functions “function 1 ,” “function 2 ,” and “function 3 .”
  • the SDK discovery and assessment server 6020 may search (e.g., using RegEx and/or other searching techniques) the SDK and vendor information database 6040 and/or the third-party SDK database 6030 to cross-reference the identified package names (or any portion of the name) with one or more known SDK packages. If the SDK discovery and assessment server 6020 determines that the name of the identified package corresponds to one or more known SDK packages, the system may determine that that particular identified package is a valid SDK package.
  • the system may determine that that particular identified package is not a valid SDK package.
  • the system may record this determination in the SDK and vendor information database 6040 and/or provide the information to the one or more applications privacy analysis servers 6010 for future reference.
  • the SDK discovery and assessment server 6020 may tokenize the name of the identified package using NLP.
  • the identified package name may be tokenized as “com.vendor 1 .function 1 .function 2 .function 3 ,” where “com” represents a common system term associated with the package and/or its file system location, “vendor 1 ” is an identifier of the vendor associated with the package, and each of “function 1 ,” “function 2 ,” and “function 3 ” identify particular functionality of the package.
  • the SDK discovery and assessment server 6020 may categorize the identified package based on its associated functions by querying a functionality term categorization table to determine a category associated with one or more of the functionality terms in the package's tokenized name. In performing this categorization, the SDK discovery and assessment server 6020 may ignore or remove the common term in the tokenized package name.
  • the system may use a table (e.g., a functionality term categorization table) to identify the category associated with each functionality term. Such a table may be generated and/or stored at a system such as the SDK and vendor information database 6040 and/or the third-party SDK database 6030 . Table 1 shown below is an illustrative example of a functionality term categorization table.
  • the SDK discovery and assessment server 6020 may associate the categories associated with each functional term of the tokenize package name with the package. In the current example, the SDK discovery and assessment server 6020 may determine that the “com.vendor 1 .function 1 .function 2 .function 3 ” package is associated with the “Targeting,” “Functional,” and “Location” categories based on the associations of its functional terms with those categories indicated in a functionality term categorization table. The system may then determine which of the categories associated with the package has a highest associated score. In the current example, the SDK discovery and assessment server 6020 may determine that the “Functional” category associated with the functional term “function 2 ” has the highest score among the categories associated with package.
  • the SDK discovery and assessment server 6020 may assign the “Functional” category and/or the score corresponding to the “Functional” category (e.g., 20) to the “com.vendor 1 .function 1 .function 2 .function 3 ” package.
  • the system may also, or instead, use one or more weighting factors in the scoring process to determine a score for an identified package.
  • the SDK discovery and assessment server 6020 may determine that the “Functional” category associated with the functional term “function 2 ” has the highest score among the categories associated with package but has a weighting of 0, thus giving that category a weighted score of 20.
  • the system may also determine that the “Targeting” category associated with the functional term “functionl” has a score of 10 with a weighting of 20, thus giving that category a weighted score of 30 .
  • the SDK discovery and assessment server 6020 may assign the “Targeting” category and/or the weighted score corresponding to the “Targeting” category (e.g., 30) to the “com.vendor 1 .function 1 .function 2 .function 3 ” package.
  • the system may also, or instead, determine whether a functionality term within a tokenized package name is a key term in calculating a score for the package.
  • the SDK discovery and assessment server 6020 may determine that the “Targeting” category associated with the functional term “functionl” and the “Location” category associated with the functional term “function 3 ” are key terms (e.g., as indicated in a functionality term categorization table or listing, such as Table 1).
  • the system may make this determination based on an explicit indicator that a particular categories is a key category (e.g., an indicator that a category is associated with a functionality term that is a key term, as shown in Table 1) or based on implicit information, such as determining that a particular term has non-zero (or positive) weighting factor (also as shown in Table 1).
  • an explicit indicator that a particular categories is a key category e.g., an indicator that a category is associated with a functionality term that is a key term, as shown in Table 1
  • implicit information such as determining that a particular term has non-zero (or positive) weighting factor (also as shown in Table 1).
  • the SDK discovery and assessment server 6020 may assign the “Targeting” category, the score corresponding to the “Targeting” category, and/or the weighted score corresponding to the “Targeting” category (e.g., 30) to the “com.vendor 1 .function 1 .function 2 .function 3 ” package.
  • the SDK discovery and assessment server 6020 may determine that a category score for a particular identified package is inconclusive or may otherwise be unable to determine a category or score for a package. For example, the SDK discovery and assessment server 6020 may determine that there is no particular category associated with the identified package (e.g., none of its functionality terms are associated with a known category) or that there is no score available or determinable for the categories associated with the package (e.g., there are no scores available or determinable for any of its functionality terms).
  • the SDK discovery and assessment server 6020 may use the vendor name “vendorl” from the tokenized package name to identify a vendor and/or vendor category associated with the package.
  • the SDK discovery and assessment server 6020 may determine the vendor score and/or category by querying a vendor database to access a vendor term categorization table (e.g., by querying the SDK and vendor information database 6040 and/or the third-party SDK database 6030 to access a table such as Table 2) to identify a vendor score and/or category associated with a particular vendor using the vendor name token.
  • the SDK discovery and assessment server 6020 may then determine a score and/or category for the identified package by assigning the vendor score and/or category associated with “vendor 1 ” to the identified package.
  • the system may assign the determined category and/or score for “vendor 1 ” as the privacy category and/or score, respectively, for the “com.vendor 1 .function 1 .function 2 .function 3 ” package.
  • a vendor term categorization table may be generated and/or stored in a database (e.g., the SDK and vendor information database 6040 and/or the third-party SDK database 6030 ) and may have been generated for use by the system and/or by a third party as described herein.
  • a particular vendor may be associated with multiple categories, each of which may have a score and/or a weighting as described above in regard to a functionality term categorization table.
  • the system may determine a vendor categorization and/or vendor score for a particular SDK package by selecting the vendor category and/or score associated with the highest vendor score and/or highest weighted vendor score from among the scores/weighted scores associated with the vendor represented in the vendor token of the particular SDK packages' tokenized name.
  • the SDK discovery and assessment server 6020 may determine a category score for the “com.vendor 1 .function 1 .function 2 .function 3 ” package as well as a vendor score. The SDK discovery and assessment server 6020 may then use a combination of the vendor score and the category score to determine an overall score for the SDK and/or a (e.g., privacy) category for the SDK. For example, the SDK discovery and assessment server 6020 may determine a weighted category score of 30 and a vendor score of 10 for the package, and then determine an overall score of 40.
  • the system may use a formula, algorithm, and/or other available information to determine a privacy risk score and/or a privacy assessment score for a package. In other particular embodiments, the system may determine an overall privacy risk or privacy impact score for a particular package based on only one of a vendor score or a category score by assigning the vendor score or the category score as the privacy risk or privacy impact score for the particular package.
  • FIG. 61 depicts a Mobile SDK Package Assessment Module 6100 according to various embodiments.
  • the system begins at Step 6110 by identifying a package on a mobile device (e.g., an Android-based mobile device, an iPhone, etc.).
  • the system may identify the package by scanning one or more folders, and/or one or more files contained therein, configured on the mobile device for information (e.g., package name, file name, folder name, etc.) that may be used to identify a package.
  • information e.g., package name, file name, folder name, etc.
  • the system may use RegEx searching techniques to search one or more databases to cross-reference the name of the identified package with one or more known SDK packages.
  • Each of these one or more databases may be a database of SDK and vendor information that may include SDK identifying information (e.g., package name) and respective vendor information for particular SDK packages.
  • Such databases may also store category and/or vendor scoring information as described herein. If the system determines that the name of the identified package correspond to one or more known SDK packages, the system may determine that that particular identified package is a valid SDK package. If the system is unable to cross-reference the name of the identified package to one or more known SDK packages, the system may determine that that particular identified package is not a valid SDK package.
  • the system may tokenize the name of the identified package, for example using NLP, in order to use portions of the name for further assessment.
  • the tokenized SDK package name of an identified package may take the form of “ ⁇ common term>. ⁇ vendor name>. ⁇ functionalityX>. ⁇ functionalityY> . ⁇ functionalityZ>.”
  • the system may determine one or more categories associated with the identified package. For example, the system may identify a respective category for each identified ⁇ functionality> term of the package name based, at least in part, on a listing of one or more ⁇ functionality> terms and a corresponding category for each term in the listing of ⁇ functionality> terms (e.g., as described above). This listing of functionality terms and corresponding categories may be stored in a table or other data structure in a database of SDK-related information.
  • the system may determine a category score for each category associated with the identified package (e.g., as determined as Step 6130 ), for example as described above using a table or other data structure in a database of SDK-related information.
  • the system may apply a weighting factor at Step 6140 to one or more of the category scores, for example, in response to determining that a particular category score is associated with key category or a key ⁇ functionality> term in the package name as described above or otherwise determining an applicable weighting factor for the category.
  • the system may determine the highest category score from among the scores of the one or more categories associated with the identified package. Where one or more of the category scores is weighted, the system may use the one or more weighted scores to select the highest category score. The system may assign the category associated with the determined highest category score to the identified package. The system may also, or instead, assign the determined highest category score to the identified package.
  • the system may determine and use a vendor score to determine a privacy category, privacy risk score, and/or a privacy assessment score for the package.
  • the system may determine that a vendor score is to be used in conjunction with a category score to determine a privacy category, privacy risk score, and/or a privacy assessment score for the package.
  • the system may use the ⁇ vendor name> from the tokenized package name to identify a vendor associated with the package, for example, by querying a vendor and/or SDK database to determine a vendor associated with the package.
  • the system may then determine a vendor category and/or score associated with the vendor that may be used in assessing the identified package by querying a vendor and/or SDK database using the determined vendor to access a vendor term categorization table and identify a vendor score and/or category that corresponds to the vendor. For example, the system may assign the category and/or score associated with the vendor to the SDK package.
  • the system may determine an overall score (e.g., a privacy risk score and/or a privacy assessment score) for the identified package that reflects the package assessment performed by the system.
  • this overall score is based on a category score (e.g., as determined at Step 6150 ).
  • the system may assign the category score as the overall score.
  • this overall score is based on a vendor score (e.g., as determined at Step 6170 ).
  • the system may assign the vendor score as the overall score.
  • this overall score is determined based on a combination of one or more category scores (e.g., as determined at Step 6150 ), one or more vendor scores (e.g., as determined at Step 6170 ) and/or other information.
  • the system may use an algorithm or formula to calculate an overall score using one or more category scores and one or more vendor scores.
  • the system may also use other information, a formula, algorithm, and/or various weighting factors to determine the overall score.
  • This overall score may be assigned to an SDK as a privacy risk score and/or privacy assessment score and/or may be used to determine a (e.g., privacy) category for the SDK.

Abstract

A mobile application privacy analysis system is described, where the system scans a mobile device to identify files associated with a particular SDK and generates a tokenized name for the SDK. The tokenized name includes tokens representing the SDK vendor and one or more functions of the SDK. Using the tokenized name, the system then determines corresponding categories for each functionality token and score for each such category. Based on the scores, the system determines the most significant category and assigns that category to the SDK for use in privacy analysis. The system may also, or instead, determine a vendor category using the vendor token and assign that category to the SDK. Weighting factors may be applied to the scores for the categories associated with the functionality tokens and vendor tokens.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 17/572,298, filed Jan. 10 2022, which is a continuation of U.S. patent application Ser. No. 17/326,901, filed May 21, 2021, now U.S. Pat. No. 11,222,139, issued Jan. 11, 2022, which claims priority from U.S. Provisional Patent Application Ser. No. 63/028,149, filed May 21, 2020, and is also a continuation-in-part of U.S. patent application Ser. No. 17/163,701, filed Feb. 1, 2021, now U.S. Pat. No. 11,113,416, issued Sep. 7, 2021, which is a continuation of U.S. patent application Ser. No. 16/915,097, filed Jun. 29, 2020, now U.S. Pat. No. 10,909,265, issued Feb. 2, 2021, which claims priority from U.S. Provisional Patent Application Ser. No. 62/868,373, filed Jun. 28, 2019, and is also a continuation-in-part of U.S. patent application Ser. No. 16/895,278, filed Jun. 8, 2020, now U.S. Pat. No. 11,200,341, issued Dec. 14, 2021, which is a continuation of U.S. patent application Ser. No. 16/552,765, filed Aug. 27, 2019, now U.S. Pat. No. 10,678,945, issued Jun. 9, 2020, which is a continuation-in-part of U.S. patent application Ser. No. 16/277,568, filed Feb. 15, 2019, now U.S. Pat. No. 10,440,062, issued Oct. 8, 2019, which claims priority from U.S. Provisional Patent Application Ser. No. 62/631,684, filed Feb. 17, 2018 and U.S. Provisional Patent Application Ser. No. 62/631,703, filed Feb. 17, 2018, and is also a continuation-in-part of U.S. patent application Ser. No. 16/159,634, filed Oct. 13, 2018, now U.S. Pat. No. 10,282,692, issued May 7, 2019, which claims priority from U.S. Provisional Patent Application Ser. No. 62/572,096, filed Oct. 13, 2017 and U.S. Provisional Patent Application Ser. No. 62/728,435, filed Sep. 7, 2018, and is also a continuation-in-part of U.S. patent application Ser. No. 16/055,083, filed Aug. 4, 2018, now U.S. Pat. No. 10,289,870, issued May 14, 2019, which claims priority from U.S. Provisional Patent Application Ser. No. 62/547,530, filed Aug. 18, 2017, and is also a continuation-in-part of U.S. patent application Ser. No. 15/996,208, filed Jun. 1, 2018, now U.S. Pat. No. 10,181,051, issued Jan. 15, 2019, which claims priority from U.S. Provisional Patent Application Ser. No. 62/537,839, filed Jul. 27, 2017, and is also a continuation-in-part of U.S. patent application Ser. No. 15/853,674, filed Dec. 22, 2017, now U.S. Pat. No. 10,019,597, issued Jul. 10, 2018, which claims priority from U.S. Provisional Patent Application Ser. No. 62/541,613, filed Aug. 4, 2017, and is also a continuation-in-part of U.S. patent application Ser. No. 15/619,455, filed Jun. 10, 2017, now U.S. Pat. No. 9,851,966, issued Dec. 26, 2017, which is a continuation-in-part of U.S. patent application Ser. No. 15/254,901, filed Sep. 1, 2016, now U.S. Pat. No. 9,729,583, issued Aug. 8, 2017, which claims priority from: (1) U.S. Provisional Patent Application Ser. No. 62/360,123, filed Jul. 8, 2016; (2) U.S. Provisional Patent Application Ser. No. 62/353,802, filed Jun. 23, 2016; (3) U.S. Provisional Patent Application Ser. No. 62/348,695, filed Jun. 10, 2016. The disclosures of all of the above patents and patent applications are hereby incorporated herein by reference in their entirety.
  • BACKGROUND
  • Over the past years, privacy and security policies, and related operations have become increasingly important. Breaches in security, leading to the unauthorized access of personal data (which may include sensitive personal data) have become more frequent among companies and other organizations of all sizes. Such personal data may include, but is not limited to, Internet browsing habits and history, purchase history, geolocation data, biometric data (e.g., fingerprint data, facial recognition data), user preferences, user activity on websites and/or social media (e.g., postings, likes and dislikes, social media data), and any other data that may be associated with and/or can be used to identify a particular user.
  • Many organizations that obtain, use, and transfer personal data, including sensitive personal data, have begun to address these privacy and security issues. To manage personal data, many companies have attempted to implement operational policies and processes that comply with legal and industry requirements. However, there is an increasing need for improved systems and methods to manage personal data in a manner that complies with such policies.
  • Applications configured on user devices, like smartphones, can present privacy issues. Such applications may obtain, use, and/or transfer personal data, including sensitive personal data, both knowingly and unknowingly to users of such devices and applications.
  • Developers and providers of applications (e.g., application vendors) may use software development kits (SDKs) to develop mobile applications. An SDK may include privacy-related functions and attributes and may install and/or use files that may be scattered throughout a mobile device's file system. Moreover, application developers and providers may be reluctant to be transparent about the particular SDKs used in the generation of an application. Due to the large number of files likely to be configured on a typical mobile device and the difficulty in identifying a particular application or development kit associated with each file, it can be challenging to determine that a particular SDK was used to generate a particular application configured on the mobile device. Additionally, scanning software (e.g., software tools used to analyze privacy impacts of software programs) may inaccurately assess the degree to which a software program transmits or otherwise processes such sensitive information when the identity of the SDK used to build the program is inaccessible to the scanning software.
  • Because there is an increasing need to manage the privacy impact of applications configured on user devices, there is also an increasing need to understand the privacy implications of the development tools used to generate such applications, with or without the cooperation of application developers and providers.
  • SUMMARY
  • In general, various aspects provide methods, apparatuses, systems, computing devices, computing entities, and/or the like for soliciting consent for various functionality provided through third-party SDKs found in mobile software applications and take action to block functionality when consent has not been provided. In accordance with one aspect, a method is provided that comprises: scanning, by computing hardware, at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool; (2) generating, by the computing hardware, a functionality token for the third-party development tool by: (A) querying, based on the identifying information for the third-party development tool, a database that stores a plurality of third-party identities in correlation with a plurality of respective identifying information of third-party development tools, (B) determining, based on a result of querying the database, a third-party identity corresponding to the third-party development tool, and (C) generating the functionality token based on the third-party identity; (3) determining, by the computing hardware, a functionality category for the functionality token; (4) assigning, by the computing hardware, a third-party development tool category to the third-party development tool based on the functionality category; and (5) linking, by the computing hardware, the third-party development tool category to the third-party development tool.
  • In some aspects, the method further comprises generating, by the computing hardware, a tokenized name for the third-party development tool using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device; and the identifying information for the third-party development tool comprises the tokenized name. In other aspects, the method further comprises determining, by the computing hardware, based on the identifying information, a source of the third-party development tool, and assigning, by the computing hardware, the third-party development tool category based on the source. In some aspects the tokenized name comprises a source token, and the method comprises determining the source of the third-party development tool based on the source token.
  • In some aspects, scanning the at least one of the folder on the mobile device or the file stored on the mobile device comprises performing a filename search on the mobile device to determine the identifying information for the third-party development tool. In particular aspects, the functionality token comprise a first functionality token representing a first functionality type of the third-party development tool and a second functionality token representing a second functionality type of the third-party development tool. In some aspects, assigning, by the computing hardware, the third-party development tool category to the third-party development tool based on the functionality category comprises assigning the third-party development tool category based on a relative relevance weighting of the first functionality token and the second functionality token. In various aspects, the third-party development tool is a software development kit used to generate an application, the application being configured to operate on the mobile device.
  • In accordance with other aspects, a system is provided that comprises a non-transitory computer-readable medium storing instructions and a processing device communicatively coupled to the non-transitory computer-readable medium. The processing is configured to execute the instructions and thereby perform operations comprising : (1) scanning at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool; (2) generating a source token for the third-party development tool by: (A) querying, based on the identifying information for the third-party development tool, a database that stores a plurality of third-party identities in correlation with a plurality of respective identifying information of third-party development tools, (B) determining, based on a result of querying the database, a third-party identity corresponding to the third-party development tool, and (C) generating the source token based on the third-party identity; (3) identifying a third-party computing system from the source token; (4) assigning a third-party development tool category to the third-party development tool based on the third-party computing system; and (5) linking the third-party development tool category to the third-party development tool.
  • In some aspects, the operations further comprise generating a tokenized name for the third-party development tool using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device. In other aspects, the identifying information for the third-party development tool comprises the tokenized name. In some aspects, the tokenized name comprises a first function token, and the operations further comprise assigning the third-party development tool category based on the first functionality token. In various aspects, the tokenized name comprises a second function token, and the operations further comprise assigning the third-party development tool category based on the first functionality token and the second functionality token. In a particular aspect, scanning the at least one of a folder on the mobile device or the file stored on the mobile device comprises determining the identifying information for the third-party development tool based on at least one of a package name, a file name, or a folder name. In particular aspects, the third-party development tool is a software development kit used to generate an application. In still other aspects, the third-party development tool category includes at least one of a targeting category, a functional category, or a location category.
  • In addition, in accordance with other aspects, a non-transitory computer-readable medium having program code that is stored thereon is provided. The program code is executable by one or more processing devices for performing operations comprising: (1) scanning at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool; (2) generating a tokenized name for the third-party development tool based on the identifying information, the tokenized name comprising a functionality token representing a function of the third-party development tool; (3) assigning a third-party development tool category to the third-party development tool based on the functionality token; and (4) linking the assigned third-party development tool category to the third-party development tool.
  • In some aspects, generating the tokenized name for the third-party development tool comprises using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device. In such aspects, the identifying information for the third-party development tool may comprise the tokenized name. In any aspect described herein, scanning the at least one of the folder on the mobile device or the file stored on the mobile device comprises performing a filename search on the. mobile device to determine the identifying information for the third-party development tool.
  • In some aspects, the functionality token is a first functionality token, the tokenized name comprises a second functionality token, and the operations further comprise assigning the third-party development tool category based on the first functionality token but not on the second functionality token. In still other aspects, the functionality token comprise a first functionality token representing a first functionality type of the third-party development tool and a second functionality token representing a second functionality type of the third-party development tool, and assigning the third-party development tool category to the third-party development tool based on the functionality category comprises assigning the third-party development tool category based on a relative relevance weighting of the first functionality token and the second functionality token. In a particular aspect, the third-party development tool is a software development kit used to generate an application, the application being configured to operate on the mobile device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Various embodiments of a data subject access request fulfillment system are described below. In the course of this description, reference will be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
  • FIG. 1 depicts a data model generation and population system according to particular embodiments.
  • FIG. 2 is a schematic diagram of a computer (such as the data model generation server 110, or data model population server 20) that is suitable for use in various embodiments of the data model generation and population system shown in FIG. 1 .
  • FIG. 3 is a flowchart showing an example of steps performed by a Data Model Generation
  • Module according to particular embodiments.
  • FIGS. 4-10 depict various exemplary visual representations of data models according to particular embodiments.
  • FIG. 11 is a flowchart showing an example of steps performed by a Data Model Population Module.
  • FIG. 12 is a flowchart showing an example of steps performed by a Data Population Questionaire Generation Module.
  • FIG. 13 is a process flow for populating a data inventory according to a particular embodiment using one or more data mapping techniques.
  • FIGS. 14-25 depict exemplary screen displays and graphical user interfaces (GUIs) according to various embodiments of the system, which may display information associated with the system or enable access to, or interaction with, the system by one or more users (e.g., to configure a questionnaire for populating one or more inventory attributes for one or more data models, complete one or more assessments, etc.).
  • FIG. 26 is a flowchart showing an example of steps performed by an Intelligent Identity Scanning Module.
  • FIG. 27 is schematic diagram of network architecture for an intelligent identity scanning system 2700 according to a particular embodiment.
  • FIG. 28 is a schematic diagram of an asset access methodology utilized by an intelligent identity scanning system 2700 in various embodiments of the system.
  • FIG. 29 is a flowchart showing an example of a processes performed by a Data Subject Access Request Fulfillment Module 2900 according to various embodiments.
  • FIGS. 30-31 depict exemplary screen displays and graphical user interfaces (GUIs) according to various embodiments of the system, which may display information associated with the system or enable access to, or interaction with, the system by one or more users (e.g., for the purpose of submitting a data subject access request or other suitable request).
  • FIGS. 32-35 depict exemplary screen displays and graphical user interfaces (GUIs) according to various embodiments of the system, which may display information associated with the system or enable access to, or interaction with, the system by one or more users (e.g., for the purpose of flagging one or more risks associated with one or more particular questionnaire questions).
  • FIG. 36 depicts a schematic diagram of a centralized data repository system according to particular embodiments of the present system.
  • FIG. 37 is a centralized data repository module according to various embodiments, which may, for example, be executed by the centralized data repository system of FIG. 36 .
  • FIG. 38 depicts a schematic diagram of a consent receipt management system according to particular embodiments.
  • FIGS. 39-54 are computer screen shots that demonstrate the operation of various embodiments.
  • FIG. 55 depicts a schematic diagram of an application privacy analysis system according to particular embodiments of the present system.
  • FIG. 56 depicts a schematic diagram of an application privacy analysis system according to particular embodiments of the present system.
  • FIG. 57 depicts a schematic diagram of a static application privacy analysis system according to particular embodiments of the present system.
  • FIG. 58 depicts a schematic diagram of a dynamic application privacy analysis system according to particular embodiments of the present system.
  • FIG. 59 is a flowchart showing an example of a process performed by a Privacy Analysis Module according to various embodiments.
  • FIG. 60 depicts a schematic diagram of an SDK discovery and assessment system according to various embodiments.
  • FIG. 61 is a flowchart showing an example of a process performed by a Mobile SDK Package Assessment Module according to various embodiments.
  • DETAILED DESCRIPTION
  • Various embodiments now will be described more fully hereinafter with reference to the accompanying drawings. It should be understood that the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
  • Overview
  • A data model generation and population system, according to particular embodiments, is configured to generate a data model (e.g., one or more data models) that maps one or more relationships between and/or among a plurality of data assets utilized by a corporation or other entity (e.g., individual, organization, etc.) in the context, for example, of one or more business processes. In particular embodiments, each of the plurality of data assets (e.g., data systems) may include, for example, any entity that collects, processes, contains, and/or transfers data (e.g., such as a software application, “internet of things” computerized device, database, web site, data-center, server, etc.). For example, a first data asset may include any software or device (e.g., server or servers) utilized by a particular entity for such data collection, processing, transfer, storage, etc.
  • As shown in FIGS. 4 and 5 , in various embodiments, the data model may store the following information: (1) the organization that owns and/or uses a particular data asset (a primary data asset, which is shown in the center of the data model in FIG. 4 ); (2) one or more departments within the organization that are responsible for the data asset; (3) one or more software applications that collect data (e.g., personal data) for storage in and/or use by the data asset (e.g., or one or more other suitable collection assets from which the personal data that is collected, processed, stored, etc. by the primary data asset is sourced); (4) one or more particular data subjects (or categories of data subjects) that information is collected from for use by the data asset; (5) one or more particular types of data that are collected by each of the particular applications for storage in and/or use by the data asset; (6) one or more individuals (e.g., particular individuals or types of individuals) that are permitted to access and/or use the data stored in, or used by, the data asset; (7) which particular types of data each of those individuals are allowed to access and use; and (8) one or more data assets (destination assets) that the data is transferred to for other use, and which particular data is transferred to each of those data assets. As shown in FIGS. 6 and 7 , the system may also optionally store information regarding, for example, which business processes and processing activities utilize the data asset.
  • In particular embodiments, the data model stores this information for each of a plurality of different data assets and may include links between, for example, a portion of the model that provides information for a first particular data asset and a second portion of the model that provides information for a second particular data asset.
  • In various embodiments, the data model generation and population system may be implemented in the context of any suitable privacy management system that is configured to ensure compliance with one or more legal or industry standards related to the collection and/or storage of private information. In various embodiments, a particular organization, sub-group, or other entity may initiate a privacy campaign or other activity (e.g., processing activity) as part of its business activities. In such embodiments, the privacy campaign may include any undertaking by a particular organization (e.g., such as a project or other activity) that includes the collection, entry, and/or storage (e.g., in memory) of any personal data associated with one or more individuals. In particular embodiments, a privacy campaign may include any project undertaken by an organization that includes the use of personal data, or any other activity that could have an impact on the privacy of one or more individuals.
  • In any embodiment described herein, personal data may include, for example: (1) the name of a particular data subject (which may be a particular individual); (2) the data subject's address; (3) the data subject's telephone number; (4) the data subject's e-mail address; (5) the data subject's social security number; (6) information associated with one or more of the data subject's credit accounts (e.g., credit card numbers); (7) banking information for the data subject; (8) location data for the data subject (e.g., their present or past location); (9) internet search history for the data subject; and/or (10) any other suitable personal information, such as other personal information discussed herein. In particular embodiments, such personal data may include one or more cookies (e.g., where the individual is directly identifiable or may be identifiable based at least in part on information stored in the one or more cookies).
  • In particular embodiments, when generating a data model, the system may, for example: (1) identify one or more data assets associated with a particular organization; (2) generate a data inventory for each of the one or more data assets, where the data inventory comprises information such as: (a) one or more processing activities associated with each of the one or more data assets, (b) transfer data associated with each of the one or more data assets (data regarding which data is transferred to/from each of the data assets, and which data assets, or individuals, the data is received from and/or transferred to, (c) personal data associated with each of the one or more data assets (e.g., particular types of data collected, stored, processed, etc. by the one or more data assets), and/or (d) any other suitable information; and (3) populate the data model using one or more suitable techniques.
  • In particular embodiments, the one or more techniques for populating the data model may include, for example: (1) obtaining information for the data model by using one or more questionnaires associated with a particular privacy campaign, processing activity, etc.; (2) using one or more intelligent identity scanning techniques discussed herein to identify personal data stored by the system and map such data to a suitable data model, data asset within a data model, etc.; (3) obtaining information for the data model from a third-party application (or other application) using one or more application programming interfaces (API); and/or (4) using any other suitable technique.
  • In particular embodiments, the system is configured to generate and populate a data model substantially on the fly (e.g., as the system receives new data associated with particular processing activities). In still other embodiments, the system is configured to generate and populate a data model based at least in part on existing information stored by the system (e.g., in one or more data assets), for example, using one or more suitable scanning techniques described herein.
  • As may be understood in light of this disclosure, a particular organization may undertake a plurality of different privacy campaigns, processing activities, etc. that involve the collection and storage of personal data. In some embodiments, each of the plurality of different processing activities may collect redundant data (e.g., may collect the same personal data for a particular individual more than once), and may store data and/or redundant data in one or more particular locations (e.g., on one or more different servers, in one or more different databases, etc.). In this way, a particular organization may store personal data in a plurality of different locations which may include one or more known and/or unknown locations. By generating and populating a data model of one or more data assets that are involved in the collection, storage and processing of such personal data, the system may be configured to create a data model that facilitates a straightforward retrieval of information stored by the organization as desired. For example, in various embodiments, the system may be configured to use a data model in substantially automatically responding to one or more data access requests by an individual (e.g., or other organization). Various embodiments of a system for generating and populating a data model are described more fully below.
  • To ensure compliance with privacy regulations and/or standards, entities may determine the privacy and security impact of data and software installed on computing devices that such entities may control or interact with. Examples of such data and software may include cookies that may contain personal data and applications that may track a user's activity (“trackers”). In various embodiments, the disclosed systems may assess (e.g., score, categorize, etc.) such data and applications based on various privacy-related criteria and/or security-related criteria. In particular embodiments, the system may apply such assessment techniques to mobile devices and the data and software installed thereon.
  • In various embodiments, the system may identify one or more software development kits (SDKs) configured on a mobile device and/or used to generate an application configured on the mobile device. Using natural language processing (NLP) artificial intelligence techniques, the system may generate a tokenized name for the SDK that includes tokens representing the vendor of the SDK and various functions performed by applications generated using the SDK. The system may determine scores for one or more such tokens and determine a privacy category or score for the SDK based on the token scores. The security and privacy impact of the particular identified SDK may be assessed based, at least in part, on one or more privacy and security impact determinations (e.g., scores, categorization, etc.) associated with the SDK and/or the SDK vendor.
  • Technical Contributions of Various Embodiments
  • With the proliferation of mobile devices, the number of privacy-implicated activities performed on mobile devices and/or by software configured on mobile devices continues to grow. Therefore, determining the privacy implications of applications and other software executing on mobile devices is increasingly important. However, mobile device applications are often generated using software development kits (SDKs) that may install and/or use files that may be scattered throughout a mobile device's file system. As there are likely to be thousands of files (or more) configured on a typical mobile device, it can be very challenging to locate and identify files associated with a particular SDK or make a determination that a particular SDK was used to generate a particular application configured on the mobile device based on the filed installed on the device.
  • Accordingly, various embodiments of present disclosure overcome many of the technical challenges associated with determining particular SDKs used to generate applications configured on a mobile device. Specifically, various embodiments of the disclosure are directed to a computational framework configured for analyzing the many files (e.g., distributed across many folders within a file system) that may be configured on a mobile device and determining whether such files are associated with valid SDKs. The various embodiments may then tokenize the file names of identified SDKs to generate data structures representing various aspects of the identified SDKs. The system can evaluate these data structures (the tokenized SDK package names and/or one or more portions thereof) to determine a privacy category, privacy-related score, and/or a privacy assessment information for the package. For example, the various embodiments evaluate individual tokens of a package's tokenized name, determine a score for one or more of the tokens (including, in various embodiments, weighting such scores), and determine a category and/or score for the associated SDK based on the token scores. In this way, the various embodiments spare users from the time-consuming operations of manually searching folders and files on a mobile to device to identify files, determining whether an SDK is associated with each identified file, determining a function of an SDK that may be represented by a particular file if it is associated with an SDK, and determining the privacy-related implications (e.g., most relevant privacy category or a privacy-related score) of the SDK based on various functions of the SDK indicated by files that have been identified as being associated with the SDK. The various embodiments thus increase the efficiency with which users can evaluate the privacy impact of SDKs used to generate mobile device applications.
  • Accordingly, various embodiments of the disclosure provided herein are more effective, efficient, timely, accurate, and faster in determining a mobile device application's privacy implications and those of an SDK used to generate the application. In addition, various embodiments of the disclosure provided herein can facilitate the identification and/or documentation of (e.g., automated) processes and activities performed by an application that may be related to privacy and security. The system may use the determination of the privacy implications of a mobile device application and/or its associated SDK to determine an entity's compliance (and/or efforts to comply) with numerous regulations and requirements. Various embodiments of the disclosure can execute data processing related to determining the privacy implications of a mobile device application and/or its associated SDK that cannot be feasibly performed by a human, for example, by using such data processing to analyze the many files configured throughout the file system of a mobile device to identify a package and generate a tokenized package name which can then be used to calculate a privacy score and/or determine a suitable privacy category based on values determined for the tokens in a tokenized package name. This is especially advantageous when this data processing must be carried out over a reasonable timeframe to ensure that the privacy implications of a mobile device application and/or its associated SDK can be understood in a timely fashion. By facilitating such data processing, the various embodiments of the present disclosure improve the computational efficiency and reliability of various automated systems and procedures for determining the privacy implications of a mobile device application and/or its associated SDK, and therefore an extent of compliance with one or more particular regulations and/or requirements and/or extents of compliance between multiple regulations and/or requirements based on such privacy implications. Further detail is now provided for different aspects of various embodiments of the disclosure.
  • Exemplary Technical Platforms
  • As will be appreciated by one skilled in the relevant field, various embodiments may be, for example, embodied as a computer system, a method, or a computer program product. Accordingly, various embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, particular embodiments may take the form of a computer program product stored on a computer-readable storage medium having computer-readable instructions (e.g., software) embodied in the storage medium. Various embodiments may take the form of web-implemented computer software. Any suitable computer-readable storage medium may be utilized including, for example, hard disks, compact disks, DVDs, optical storage devices, and/or magnetic storage devices.
  • Various embodiments are described below with reference to block diagrams and flowchart illustrations of methods, apparatuses (e.g., systems), and computer program products. It should be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by a computer executing computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus to create means for implementing the functions specified in the flowchart block or blocks.
  • These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture that is configured for implementing the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
  • Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of mechanisms for performing the specified functions, combinations of steps for performing the specified functions, and program instructions for performing the specified functions. It should also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and other hardware executing appropriate computer instructions.
  • Example System Architecture
  • FIG. 1 is a block diagram of a Data Model Generation and Population System 100 according to a particular embodiment. In various embodiments, the Data Model Generation and Population System 100 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more legal or industry regulations related to the collection and storage of personal data. In some embodiments, the Data Model Generation and Population System 100 is configured to: (1) generate a data model based on one or more identified data assets, where the data model includes a data inventory associated with each of the one or more identified data assets; (2) identify populated and unpopulated aspects of each data inventory; and (3) populate the unpopulated aspects of each data inventory using one or more techniques such as intelligent identity scanning, questionnaire response mapping, APIs, etc.
  • As may be understood from FIG. 1 , the Data Model Generation and Population System 100 includes one or more computer networks 115, a Data Model Generation Server 110, a Data Model Population Server 120, an Intelligent Identity Scanning Server 130, One or More Databases 140 or other data structures, one or more remote computing devices 150 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.), and One or More Third Party Servers 160. In particular embodiments, the one or more computer networks 115 facilitate communication between the Data Model Generation Server 110, Data Model Population Server 120, Intelligent Identity Scanning Server 130, One or More Databases 140, one or more remote computing devices 150 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.), and One or More Third Party Servers 160. Although in the embodiment shown in FIG. 1 , the Data Model Generation Server 110, Data Model Population Server 120, Intelligent Identity Scanning Server 130, One or More Databases 140, one or more remote computing devices 150 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.), and One or More Third Party Servers 160 are shown as separate servers, it should be understood that in other embodiments, one or more of these servers and/or computing devices may comprise a single server, a plurality of servers, one or more cloud-based servers, or any other suitable configuration.
  • The one or more computer networks 115 may include any of a variety of types of wired or wireless computer networks such as the Internet, a private intranet, a public switch telephone network (PSTN), or any other type of network. The communication link between The Intelligent Identity Scanning Server 130 and the One or More Third Party Servers 160 may be, for example, implemented via a Local Area Network (LAN) or via the Internet. In other embodiments, the One or More Databases 140 may be stored either fully or partially on any suitable server or combination of servers described herein.
  • FIG. 2 illustrates a diagrammatic representation of a computer 200 that can be used within the Data Model Generation and Population System 100, for example, as a client computer (e.g., one or more remote computing devices 130 shown in FIG. 1 ), or as a server computer (e.g., Data Model Generation Server 110 shown in FIG. 1 ). In particular embodiments, the computer 200 may be suitable for use as a computer within the context of the Data Model Generation and Population System 100 that is configured to generate a data model and map one or more relationships between one or more pieces of data that make up the model.
  • In particular embodiments, the computer 200 may be connected (e.g., networked) to other computers in a LAN, an intranet, an extranet, and/or the Internet. As noted above, the computer 200 may operate in the capacity of a server or a client computer in a client-server network environment, or as a peer computer in a peer-to-peer (or distributed) network environment. The computer 200 may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, a switch or bridge, or any other computer capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that computer. Further, while only a single computer is illustrated, the term “computer” shall also be taken to include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • An exemplary computer 200 includes a processing device 202, a main memory 204 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), static memory 206 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 218, which communicate with each other via a bus 232.
  • The processing device 202 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, or the like. More particularly, the processing device 202 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. The processing device 202 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 202 may be configured to execute processing logic 226 for performing various operations and steps discussed herein.
  • The computer 120 may further include a network interface device 208. The computer 200 also may include a video display unit 210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 212 (e.g., a keyboard), a cursor control device 214 (e.g., a mouse), and a signal generation device 216 (e.g., a speaker).
  • The data storage device 218 may include a non-transitory computer-accessible storage medium 230 (also known as a non-transitory computer-readable storage medium or a non-transitory computer-readable medium) on which is stored one or more sets of instructions (e.g., software instructions 222) embodying any one or more of the methodologies or functions described herein. The software instructions 222 may also reside, completely or at least partially, within main memory 204 and/or within processing device 202 during execution thereof by computer 200 - main memory 204 and processing device 202 also constituting computer-accessible storage media. The software instructions 222 may further be transmitted or received over a network 115 via network interface device 208.
  • While the computer-accessible storage medium 230 is shown in an exemplary embodiment to be a single medium, the term “computer-accessible storage medium” should be understood to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-accessible storage medium” should also be understood to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the computer and that cause the computer to perform any one or more of the methodologies of the disclosed embodiments. The term “computer-accessible storage medium” should accordingly be understood to include, but not be limited to, solid-state memories, optical and magnetic media, etc.
  • Exemplary System Platform
  • Various embodiments of a Data Model Generation and Population System 100 may be implemented in the context of any suitable system (e.g., a privacy compliance system). For example, the Data Model Generation and Population System 100 may be implemented to analyze a particular company or other organization's data assets to generate a data model for one or more processing activities, privacy campaigns, etc. undertaken by the organization. In particular embodiments, the system may implement one or more modules in order to at least partially ensure compliance with one or more regulations (e.g., legal requirements) related to the collection and/or storage of personal data. Various aspects of the system's functionality may be executed by certain system modules, including a Data Model Generation Module 300, Data Model Population Module 1100, Data Population Questionnaire Generation Module 1200, Intelligent Identity Scanning Module 2600, and Data Subject Access Request Fulfillment Module 2900. These modules are discussed in greater detail below.
  • Although these modules are presented as a series of steps, it should be understood in light of this disclosure that various embodiments of the Data Model Generation Module 300, Data Model Population Module 1100, Data Population Questionnaire Generation Module 1200, Intelligent Identity Scanning Module 2600, and Data Subject Access Request Fulfillment Module 2900 described herein may perform the steps described below in an order other than in which they are presented. In still other embodiments, the Data Model Generation Module 300, Data Model Population Module 1100, Data Population Questionnaire Generation Module 1200, Intelligent Identity Scanning Module 2600, and Data Subject Access Request Fulfillment Module 2900 may omit certain steps described below. In various other embodiments, the Data Model Generation Module 300, Data Model Population Module 1100, Data Population Questionnaire Generation Module 1200, Intelligent Identity Scanning Module 2600, and Data Subject Access Request Fulfillment Module 2900 may perform steps in addition to those described (e.g., such as one or more steps described with respect to one or more other modules, etc.).
  • Data Model Generation Module
  • In particular embodiments, a Data Model Generation Module 300 is configured to: (1) generate a data model (e.g., a data inventory) for one or more data assets utilized by a particular organization; (2) generate a respective data inventory for each of the one or more data assets; and (3) map one or more relationships between one or more aspects of the data inventory, the one or more data assets, etc. within the data model. In particular embodiments, a data asset (e.g., data system, software application, etc.) may include, for example, any entity that collects, processes, contains, and/or transfers data (e.g., such as a software application, “internet of things” computerized device, database, website, data-center, server, etc.). For example, a first data asset may include any software or device (e.g., server or servers) utilized by a particular entity for such data collection, processing, transfer, storage, etc.
  • In particular embodiments, a particular data asset, or collection of data assets, may be utilized as part of a particular data processing activity (e.g., direct deposit generation for payroll purposes). In various embodiments, a data model generation system may, on behalf of a particular organization (e.g., entity), generate a data model that encompasses a plurality of processing activities. In other embodiments, the system may be configured to generate a discrete data model for each of a plurality of processing activities undertaken by an organization.
  • Turning to FIG. 3 , in particular embodiments, when executing the Data Model Generation Module 300, the system begins, at Step 310, by generating a data model for one or more data assets and digitally storing the data model in computer memory. The system may, for example, store the data model in the One or More Databases 140 described above (or any other suitable data structure). In various embodiments, generating the data model comprises generating a data structure that comprises information regarding one or more data assets, attributes and other elements that make up the data model. As may be understood in light of this disclosure, the one or more data assets may include any data assets that may be related to one another. In particular embodiments, the one or more data assets may be related by virtue of being associated with a particular entity (e.g., organization). For example, the one or more data assets may include one or more computer servers owned, operated, or utilized by the entity that at least temporarily store data sent, received, or otherwise processed by the particular entity.
  • In still other embodiments, the one or more data assets may comprise one or more third party assets which may, for example, send, receive and/or process personal data on behalf of the particular entity. These one or more data assets may include, for example, one or more software applications (e.g., such as EXPENSIFY to collect expense information, QUICKBOOKS to maintain and store salary information, etc.).
  • Continuing to step 320, the system is configured to identify a first data asset of the one or more data assets. In particular embodiments, the first data asset may include, for example, any entity (e.g., system) that collects, processes, contains, and/or transfers data (e.g., such as a software application, “interne of things” computerized device, database, website, data-center, server, etc.). For example, the first data asset may include any software or device utilized by a particular organization for such data collection, processing, transfer, etc. In various embodiments, the first data asset may be associated with a particular processing activity (e.g., the first data asset may make up at least a part of a data flow that relates to the collection, storage, transfer, access, use, etc. of a particular piece of data (e.g., personal data)). Information regarding the first data asset may clarify, for example, one or more relationships between and/or among one or more other data assets within a particular organization. In a particular example, the first data asset may include a software application provided by a third party (e.g., a third party vendor) with which the particular entity interfaces for the purpose of collecting, storing, or otherwise processing personal data (e.g., personal data regarding customers, employees, potential customers, etc.).
  • In particular embodiments, the first data asset is a storage asset that may, for example: (1) receive one or more pieces of personal data form one or more collection assets; (2) transfer one or more pieces of personal data to one or more transfer assets; and/or (3) provide access to one or more pieces of personal data to one or more authorized individuals (e.g., one or more employees, managers, or other authorized individuals within a particular entity or organization). In a particular embodiment, the first data asset is a primary data asset associated with a particular processing activity around which the system is configured to build a data model associated with the particular processing activity.
  • In particular embodiments, the system is configured to identify the first data asset by scanning a plurality of computer systems associated with a particular entity (e.g., owned, operated, utilized, etc. by the particular entity). In various embodiments, the system is configured to identify the first data asset from a plurality of data assets identified in response to completion, by one or more users, of one or more questionnaires.
  • Advancing to Step 330, the system generates a first data inventory of the first data asset. The data inventory may comprise, for example, one or more inventory attributes associated with the first data asset such as, for example: (1) one or more processing activities associated with the first data asset; (2) transfer data associated with the first data asset (e.g., how and where the data is being transferred to and/or from); (3) personal data associated with the first data asset (e.g., what type of personal data is collected and/or stored by the first data asset; how, and from where, the data is collected, etc.); (4) storage data associated with the personal data (e.g., whether the data is being stored, protected and deleted); and (5) any other suitable attribute related to the collection, use, and transfer of personal data. In other embodiments, the one or more inventory attributes may comprise one or more other pieces of information such as, for example: (1) the type of data being stored by the first data asset; (2) an amount of data stored by the first data asset; (3) whether the data is encrypted; (4) a location of the stored data (e.g., a physical location of one or more computer servers on which the data is stored); etc. In particular other embodiments, the one or more inventory attributes may comprise one or more pieces of information technology data related to the first data asset (e.g., such as one or more pieces of network and/or infrastructure information, IP address, MAC address, etc.).
  • In various embodiments, the system may generate the data inventory based at least in part on the type of first data asset. For example, particular types of data assets may have particular default inventory attributes. In such embodiments, the system is configured to generate the data inventory for the first data asset, which may, for example, include one or more placeholder fields to be populated by the system at a later time. In this way, the system may, for example, identify particular inventory attributes for a particular data asset for which information and/or population of data is required as the system builds the data model.
  • As may be understood in light of this disclosure, the system may, when generating the data inventory for the first data asset, generate one or more placeholder fields that may include, for example: (1) the organization (e.g., entity) that owns and/or uses the first data asset (a primary data asset, which is shown in the center of the data model in FIG. 4 ); (2) one or more departments within the organization that are responsible for the first data asset; (3) one or more software applications that collect data (e.g., personal data) for storage in and/or use by the first data asset (e.g., or one or more other suitable collection assets from which the personal data that is collected, processed, stored, etc. by the first data asset is sourced); (4) one or more particular data subjects (or categories of data subjects) that information is collected from for use by the first data asset; (5) one or more particular types of data that are collected by each of the particular applications for storage in and/or use by the first data asset; (6) one or more individuals (e.g., particular individuals or types of individuals) that are permitted to access and/or use the data stored in, or used by, the first data asset; (7) which particular types of data each of those individuals are allowed to access and use; and (8) one or more data assets (destination assets) that the data is transferred to from the first data asset, and which particular data is transferred to each of those data assets.
  • As may be understood in light of this disclosure, the system may be configured to generate the one or more placeholder fields based at least in part on, for example: (1) the type of the first data asset; (2) one or more third party vendors utilized by the particular organization; (3) a number of collection or storage assets typically associated with the type of the first data asset; and/or (4) any other suitable factor related to the first data asset, its one or more inventory attributes, etc. In other embodiments, the system may substantially automatically generate the one or more placeholders based at least in part on a hierarchy and/or organization of the entity for which the data model is being built. For example, a particular entity may have a marketing division, legal department, human resources department, engineering division, or other suitable combination of departments that make up an overall organization. Other particular entities may have further subdivisions within the organization. When generating the data inventory for the first data asset, the system may identify that the first data asset will have both an associated organization and subdivision within the organization to which it is assigned. In this example, the system may be configured to store an indication in computer memory that the first data asset is associated with an organization and a department within the organization.
  • Next, at Step 340, the system modifies the data model to include the first data inventory and electronically links the first data inventory to the first data asset within the data model. In various embodiments, modifying the data model may include configuring the data model to store the data inventory in computer memory, and to digitally associate the data inventory with the first data asset in memory.
  • FIGS. 4 and 5 show a data model according to a particular embodiment. As shown in these figures, the data model may store the following information for the first data asset: (1) the organization that owns and/or uses the first data asset; (2) one or more departments within the organization that are responsible for the first data asset; (3) one or more applications that collect data (e.g., personal data) for storage in and/or use by the first data asset; (4) one or more particular data subjects that information is collected from for use by the first data asset; (5) one or more collection assets from which the first asset receives data (e.g., personal data); (6) one or more particular types of data that are collected by each of the particular applications (e.g., collection assets) for storage in and/or use by the first data asset; (7) one or more individuals (e.g., particular individuals, types of individuals, or other parties) that are permitted to access and/or use the data stored in or used by the first data asset; (8) which particular types of data each of those individuals are allowed to access and use; and (9) one or more data assets (destination assets) the data is transferred to for other use, and which particular data is transferred to each of those data assets. As shown in FIGS. 6 and 7 , the system may also optionally store information regarding, for example, which business processes and processing activities utilize the first data asset.
  • As noted above, in particular embodiments, the data model stores this information for each of a plurality of different data assets and may include one or more links between, for example, a portion of the model that provides information for a first particular data asset and a second portion of the model that provides information for a second particular data asset.
  • Advancing to Step 350, the system next identifies a second data asset from the one or more data assets. In various embodiments, the second data asset may include one of the one or more inventory attributes associated with the first data asset (e.g., the second data asset may include a collection asset associated with the first data asset, a destination asset or transfer asset associated with the first data asset, etc.). In various embodiments, as may be understood in light of the exemplary data models described below, a second data asset may be a primary data asset for a second processing activity, while the first data asset is the primary data asset for a first processing activity. In such embodiments, the second data asset may be a destination asset for the first data asset as part of the first processing activity. The second data asset may then be associated with one or more second destination assets to which the second data asset transfers data. In this way, particular data assets that make up the data model may define one or more connections that the data model is configured to map and store in memory.
  • Returning to Step 360, the system is configured to identify one or more attributes associated with the second data asset, modify the data model to include the one or more attributes, and map the one or more attributes of the second data asset within the data model. The system may, for example, generate a second data inventory for the second data asset that comprises any suitable attribute described with respect to the first data asset above. The system may then modify the data model to include the one or more attributes and store the modified data model in memory. The system may further, in various embodiments, associate the first and second data assets in memory as part of the data model. In such embodiments, the system may be configured to electronically link the first data asset with the second data asset. In various embodiments, such association may indicate a relationship between the first and second data assets in the context of the overall data model (e.g., because the first data asset may serve as a collection asset for the second data asset, etc.).
  • Next, at Step 370, the system may be further configured to generate a visual representation of the data model. In particular embodiments, the visual representation of the data model comprises a data map. The visual representation may, for example, include the one or more data assets, one or more connections between the one or more data assets, the one or more inventory attributes, etc.
  • In particular embodiments, generating the visual representation (e.g., visual data map) of a particular data model (e.g., data inventory) may include, for example, generating a visual representation that includes: (1) a visual indication of a first data asset (e.g., a storage asset), a second data asset (e.g., a collection asset), and a third data asset (e.g., a transfer asset); (2) a visual indication of a flow of data (e.g., personal data) from the second data asset to the first data asset (e.g., from the collection asset to the storage asset); (3) a visual indication of a flow of data (e.g., personal data) from the first data asset to the third data asset (e.g., from the storage asset to the transfer asset); (4) one or more visual indications of a risk level associated with the transfer of personal data; and/or (5) any other suitable information related to the one or more data assets, the transfer of data between/among the one or more data assets, access to data stored or collected by the one or more data assets, etc.
  • In particular embodiments, the visual indication of a particular asset may comprise a box, symbol, shape, or other suitable visual indicator. In particular embodiments, the visual indication may comprise one or more labels (e.g., a name of each particular data asset, a type of the asset, etc.). In still other embodiments, the visual indication of a flow of data may comprise one or more arrows. In particular embodiments, the visual representation of the data model may comprise a data flow, flowchart, or other suitable visual representation.
  • In various embodiments, the system is configured to display (e.g., to a user) the generated visual representation of the data model on a suitable display device.
  • Exemplary Data Models and Visual Representations of Data Models (e.g., Data Maps)
  • FIGS. 4-10 depict exemplary data models according to various embodiments of the system described herein. FIG. 4 , for example, depicts an exemplary data model that does not include a particular processing activity (e.g., that is not associated with a particular processing activity). As may be understood from the data model shown in this figure, a particular data asset (e.g., a primary data asset) may be associated with a particular company (e.g., organization), or organization within a particular company, sub-organization of a particular organization, etc. In still other embodiments, the particular asset may be associated with one or more collection assets (e.g., one or more data subjects from whom personal data is collected for storage by the particular asset), one or more parties that have access to data stored by the particular asset, one or more transfer assets (e.g., one or more assets to which data stored by the particular asset may be transferred), etc.
  • As may be understood from FIG. 4 , a particular data model for a particular asset may include a plurality of data elements. When generating the data model for the particular asset, a system may be configured to substantially automatically identify one or more types of data elements for inclusion in the data model, and automatically generate a data model that includes those identified data elements (e.g., even if one or more of those data elements must remain unpopulated because the system may not initially have access to a value for the particular data element). In such cases, the system may be configured to store a placeholder for a particular data element until the system is able to populate the particular data element with accurate data.
  • As may be further understood from FIG. 4 , the data model shown in FIG. 4 may represent a portion of an overall data model. For example, in the embodiment shown in this figure, the transfer asset depicted may serve as a storage asset for another portion of the data model. In such embodiments, the transfer asset may be associated with a respective one or more of the types of data elements described above. In this way, the system may generate a data model that may build upon itself to comprise a plurality of layers as the system adds one or more new data assets, attributes, etc.
  • As may be further understood from FIG. 4 , a particular data model may indicate one or more parties that have access to and/or use of the primary asset (e.g., storage asset). In such embodiments, the system may be configured to enable the one or more parties to access one or more pieces of data (e.g., personal data) stored by the storage asset.
  • As shown in FIG. 4 , the data model may further comprise one or more collection assets (e.g., one or more data assets or individuals from which the storage asset receives data such as personal data). In the exemplary data model (e.g., visual data map) shown in this figure, the collection assets comprise a data subject (e.g., an individual that may provide data to the system for storage in the storage asset) and a collection asset (e.g., which may transfer one or more pieces of data that the collection asset has collected to the storage asset).
  • FIG. 5 depicts a portion of an exemplary data model that is populated for the primary data asset GUSTO. GUSTO is a software application that, in the example shown in FIG. 5 , may serve as a human resources service that contains financial, expense, review, time and attendance, background, and salary information for one or more employees of a particular organization (e.g., GeneriTech). In the example of FIG. 5 , the primary asset (e.g., GUSTO) may be utilized by the HR (e.g., Human Resources) department of the particular organization (e.g., GeneriTech). Furthermore, the primary asset, GUSTO, may collect financial information from one or more data subjects (e.g., employees of the particular organization), receive expense information transferred from Expensify (e.g., expensing software), and receive time and attendance data transferred from Kronos (e.g., timekeeping software). In the example shown in FIG. 5 , access to the information collected and/or stored by GUSTO may include, for example: (1) an ability to view and administer salary and background information by HR employees, and (2) an ability to view and administer employee review information by one or more service managers. In the example shown in this figure, personal and other data collected and stored by GUSTO (e.g., salary information, etc.) may be transferred to a company banking system, to QUICKBOOKS, and/or to an HR file cabinet.
  • As may be understood from the example shown in FIG. 5 , the system may be configured to generate a data model based around GUSTO that illustrates a flow of personal data utilized by GUSTO. The data model in this example illustrates, for example, a source of personal data collected, stored and/or processed by GUSTO, a destination of such data, an indication of who has access to such data within GUSTO, and an organization and department responsible for the information collected by GUSTO. In particular embodiments, the data model and accompanying visual representation (e.g., data map) generated by the system as described in any embodiment herein may be utilized in the context of compliance with one or more record keeping requirements related to the collection, storage, and processing of personal data.
  • FIGS. 6 and 7 depict an exemplary data model and related example that is similar, in some respects, to the data model and example of FIGS. 4 and 5 . In the example shown in FIGS. 6 and 7 , the exemplary data model and related example include a specific business process and processing activity that is associated with the primary asset (GUSTO). In this example, the business process is compensation and the specific processing activity is direct deposit generation in GUSTO. As may be understood from this figure, the collection and transfer of data related to the storage asset of GUSTO is based on a need to generate direct deposits through GUSTO in order to compensate employees. GUSTO generates the information needed to conduct a direct deposit (e.g., financial and salary information) and then transmits this information to: (1) a company bank system for execution of the direct deposit; (2) QUICKBOOKS for use in documenting the direct deposit payment; and (3) HR File cabinet for use in documenting the salary info and other financial information.
  • As may be understood in light of this disclosure, when generating such a data model, particular pieces of data (e.g., data attributes, data elements) may not be readily available to the system. In such embodiment, the system is configured to identify a particular type of data, create a placeholder for such data in memory, and seek out (e.g., scan for and populate) an appropriate piece of data to further populate the data model. For example, in particular embodiments, the system may identify GUSTO as a primary asset and recognize that GUSTO stores expense information. The system may then be configured to identify a source of the expense information (e.g., Expensify).
  • FIG. 8 depicts an exemplary screen display 800 that illustrates a visual representation (e.g., visual data map) of a data model (e.g., a data inventory). In the example shown in FIG. 8 , the data map provides a visual indication of a flow of data collected from particular data subjects (e.g., employees 801). As may be understood from this figure, the data map illustrates that three separate data assets receive data (e.g., which may include personal data) directly from the employees 801. In this example, these three data assets include Kronos 803 (e.g., a human resources software application), Workday 805 (e.g., a human resources software application), and ADP 807 (e.g., a human resources software application and payment processor). As shown in FIG. 8 , the transfer of data from the employees 801 to these assets is indicated by respective arrows.
  • As further illustrated in FIG. 8 , the data map indicates a transfer of data from Workday 805 to ADP 807 as well as to a Recovery Datacenter 809 and a London HR File Center 811. As may be understood in light of this disclosure, the Recovery Datacenter 809 and London HR File Center 811 may comprise additional data assets in the context of the data model illustrated by the data map shown in FIG. 8 . The Recover Datacenter 809 may include, for example, one or more computer servers (e.g., backup servers). The London HR File Center 811 may include, for example, one or more databases (e.g., such as the One or More Databases 140 shown in FIG. 1 ). AS shown in FIG. 8 , each particular data asset depicted in the data map may be shown along with a visual indication of the type of data asset. For example, Kronos 803, Workday 805, and ADP 807 are depicted adjacent a first icon type (e.g., a computer monitor), while Recover Datacenter 809 and London HR File Center 811 are depicted adjacent a second and third icon type respectively (e.g., a server cluster and a file folder). In this way, the system may be configured to visually indicate, via the data model, particular information related to the data model in a relatively minimal manner.
  • FIG. 9 depicts an exemplary screen display 900 that illustrates a data map of a plurality of assets 905 in tabular form (e.g., table form). As may be understood from this figure, a table that includes one or more inventory attributes of each particular asset 905 in the table may indicate, for example: (1) a managing organization 910 of each respective asset 905; (2) a hosting location 915 of each respective asset 905 (e.g., a physical storage location of each asset 905); (3) a type 920 of each respective asset 905, if known (e.g., a database, software application, server, etc.); (4) a processing activity 925 associated with each respective asset 905; and/or (5) a status 930 of each particular data asset 905. In various embodiments, the status 930 of each particular asset 905 may indicate a status of the asset 905 in the discovery process. This may include, for example: (1) a “new” status for a particular asset that has recently been discovered as an asset that processes, stores, or collects personal data on behalf of an organization (e.g., discovered via one or more suitable techniques described herein); (2) an “in discovery” status for a particular asset for which the system is populating or seeking to populate one or more inventory attributes, etc.
  • FIG. 10 depicts an exemplary data map 1000 that includes an asset map of a plurality of data assets 1005A-F, which may, for example, be utilized by a particular entity in the collection, storage, and/or processing of personal data. As may be understood in light of this disclosure, the plurality of data assets 1005A-F may have been discovered using any suitable technique described herein (e.g., one or more intelligent identity scanning techniques, one or more questionnaires, one or more application programming interfaces, etc.). In various embodiments, a data inventory for each of the plurality of data assets 1005A-F may define, for each of the plurality of data assets 1005A-F a respective inventory attribute related to a storage location of the data asset.
  • As may be understood from this figure, the system may be configured to generate a map that indicates a location of the plurality of data assets 1005A-F for a particular entity. In the embodiment shown in this figure, locations that contain a data asset are indicated by circular indicia that contain the number of assets present at that location. In the embodiment shown in this figure, the locations are broken down by country. In particular embodiments, the asset map may distinguish between internal assets (e.g., first party servers, etc.) and external/third party assets (e.g., third party owned servers or software applications that the entity utilizes for data storage, transfer, etc.).
  • In some embodiments, the system is configured to indicate, via the visual representation, whether one or more assets have an unknown location (e.g., because the data model described above may be incomplete with regard to the location). In such embodiments, the system may be configured to: (1) identify the asset with the unknown location; (2) use one or more data modeling techniques described herein to determine the location (e.g., such as pinging the asset, generating one or more questionnaires for completion by a suitable individual, etc.); and (3) update a data model associated with the asset to include the location.
  • Data Model Population Module
  • In particular embodiments, a Data Model Population Module 1100 is configured to: (1) determine one or more unpopulated inventory attributes in a data model; (2) determine one or more attribute values for the one or more unpopulated inventory attributes; and (3) modify the data model to include the one or more attribute values.
  • Turning to FIG. 11 , in particular embodiments, when executing the Data Model Population Module 1100, the system begins, at Step 1110, by analyzing one or more data inventories for each of the one or more data assets in the data model. The system may, for example, identify one or more particular data elements (e.g., inventory attributes) that make up the one or more data inventories. The system may, in various embodiments, scan one or more data structures associated with the data model to identify the one or more data inventories. In various embodiments, the system is configured to build an inventory of existing (e.g., known) data assets and identify inventory attributes for each of the known data assets.
  • Continuing to Step 1120, the system is configured to determine, for each of the one or more data inventories, one or more populated inventory attributes and one or more unpopulated inventory attributes (e.g., and/or one or more unpopulated data assets within the data model). As a particular example related to an unpopulated data asset, when generating and populating a data model, the system may determine that, for a particular asset, there is a destination asset. In various embodiments, the destination asset may be known (e.g., and already stored by the system as part of the data model). In other embodiments, the destination asset may be unknown (e.g., a data element that comprises the destination asset may comprise a placeholder or other indication in memory for the system to populate the unpopulated inventory attribute (e.g., data element).
  • As another particular example, a particular storage asset may be associated with a plurality of inventory assets (e.g., stored in a data inventory associated with the storage asset). In this example, the plurality of inventory assets may include an unpopulated inventory attribute related to a type of personal data stored in the storage asset. The system may, for example, determine that the type of personal data is an unpopulated inventory asset for the particular storage asset.
  • Returning to Step 1130, the system is configured to determine, for each of the one or more unpopulated inventory attributes, one or more attribute values. In particular embodiments, the system may determine the one or more attribute values using any suitable technique (e.g., any suitable technique for populating the data model). In particular embodiments, the one or more techniques for populating the data model may include, for example: (1) obtaining data for the data model by using one or more questionnaires associated with a particular privacy campaign, processing activity, etc.; (2) using one or more intelligent identity scanning techniques discussed herein to identify personal data stored by the system and then map such data to a suitable data model; (3) using one or more application programming interfaces (API) to obtain data for the data model from another software application; and/or (4) using any other suitable technique. Exemplary techniques for determining the one or more attribute values are described more fully below. In other embodiments, the system may be configured to use such techniques or other suitable techniques to populate one or more unpopulated data assets within the data model.
  • Next, at Step 1140, the system modifies the data model to include the one or more attribute values for each of the one or more unpopulated inventory attributes. The system may, for example, store the one or more attributes values in computer memory, associate the one or more attribute values with the one or more unpopulated inventory attributes, etc. In still other embodiments, the system may modify the data model to include the one or more data assets identified as filling one or more vacancies left within the data model by the unpopulated one or more data assets.
  • Continuing to Step 1150, the system is configured to store the modified data model in memory. In various embodiments, the system is configured to store the modified data model in the One or More Databases 140, or in any other suitable location. In particular embodiments, the system is configured to store the data model for later use by the system in the processing of one or more data subject access requests. In other embodiments, the system is configured to store the data model for use in one or more privacy impact assessments performed by the system.
  • Data Model Population Questionnaire Generation Module
  • In particular embodiments, a Data Population Questionnaire Generation Module 1200 is configured to generate a questionnaire (e.g., one or more questionnaires) comprising one or more questions associated with one or more particular unpopulated data attributes, and populate the unpopulated data attributes based at least in part on one or more responses to the questionnaire. In other embodiments, the system may be configured to populate the unpopulated data attributes based on one or more responses to existing questionnaires.
  • In various embodiments, the one or more questionnaires may comprise one or more processing activity questionnaires (e.g., privacy impact assessments, data privacy impact assessments, etc.) configured to elicit one or more pieces of data related to one or more undertakings by an organization related to the collection, storage, and/or processing of personal data (e.g., processing activities). In particular embodiments, the system is configured to generate the questionnaire (e.g., a questionnaire template) based at least in part on one or more processing activity attributes, data asset attributes (e.g., inventory attributes), or other suitable attributes discussed herein.
  • Turning to FIG. 12 , in particular embodiments, when executing the Data Population Questionnaire Generation Module 1200, the system begins, at Step 1210, by identifying one or more unpopulated data attributes from a data model. The system may, for example, identify the one or more unpopulated data attributes using any suitable technique described above. In particular embodiments, the one or more unpopulated data attributes may relate to, for example, one or more processing activity or asset attributes such as: (1) one or more processing activities associated with a particular data asset; (2) transfer data associated with the particular data asset (e.g., how and where the data stored and/or collected by the particular data asset is being transferred to and/or from); (3) personal data associated with the particular data assets asset (e.g., what type of personal data is collected and/or stored by the particular data asset; how, and from where, the data is collected, etc.); (4) storage data associated with the personal data (e.g., whether the data is being stored, protected and deleted); and (5) any other suitable attribute related to the collection, use, and transfer of personal data by one or more data assets or via one or more processing activities. In other embodiments, the one or more unpopulated inventory attributes may comprise one or more other pieces of information such as, for example: (1) the type of data being stored by the particular data asset; (2) an amount of data stored by the particular data asset; (3) whether the data is encrypted by the particular data asset; (4) a location of the stored data (e.g., a physical location of one or more computer servers on which the data is stored by the particular data asset); etc.
  • Continuing to Step 1220, the system generates a questionnaire (e.g., a questionnaire template) comprising one or more questions associated with one or more particular unpopulated data attributes. As may be understood in light of the above, the one or more particulate unpopulated data attributes may relate to, for example, a particular processing activity or a particular data asset (e.g., a particular data asset utilized as part of a particular processing activity). In various embodiments, the one or more questionnaires comprise one or more questions associated with the unpopulated data attribute. For example, if the data model includes an unpopulated data attribute related to a location of a server on which a particular asset stores personal data, the system may generate a questionnaire associated with a processing activity that utilizes the asset (e.g., or a questionnaire associated with the asset). The system may generate the questionnaire to include one or more questions regarding the location of the server.
  • Returning to Step 1230, the system maps one or more responses to the one or more questions to the associated one or more particular unpopulated data attributes. The system may, for example, when generating the questionnaire, associate a particular question with a particular unpopulated data attribute in computer memory. In various embodiments, the questionnaire may comprise a plurality of question/answer pairings, where the answer in the question/answer pairings maps to a particular inventory attribute for a particular data asset or processing activity.
  • In this way, the system may, upon receiving a response to the particular question, substantially automatically populate the particular unpopulated data attribute. Accordingly, at Step 1240, the system modifies the data model to populate the one or more responses as one or more data elements for the one or more particular unpopulated data attributes. In particular embodiments, the system is configured to modify the data model such that the one or more responses are stored in association with the particular data element (e.g., unpopulated data attribute) to which the system mapped it at Step 1230. In various embodiments, the system is configured to store the modified data model in the One or More Databases 140, or in any other suitable location. In particular embodiments, the system is configured to store the data model for later use by the system in the processing of one or more data subject access requests. In other embodiments, the system is configured to store the data model for use in one or more privacy impact assessments performed by the system.
  • Continuing to optional Step 1250, the system may be configured to modify the questionnaire based at least in part on the one or more responses. The system may, for example, substantially dynamically add and/or remove one or more questions to/from the questionnaire based at least in part on the one or more responses (e.g., one or more response received by a user completing the questionnaire). For example, the system may, in response to the user providing a particular inventory attribute or new asset, generates additional questions that relate to that particular inventory attribute or asset. The system may, as the system adds additional questions, substantially automatically map one or more responses to one or more other inventory attributes or assets. For example, in response to the user indicating that personal data for a particular asset is stored in a particular location, the system may substantially automatically generate one or more additional questions related to, for example, an encryption level of the storage, who has access to the storage location, etc.
  • In still other embodiments, the system may modify the data model to include one or more additional assets, data attributes, inventory attributes, etc. in response to one or more questionnaire responses. For example, the system may modify a data inventory for a particular asset to include a storage encryption data element (which specifies whether the particular asset stores particular data in an encrypted format) in response to receiving such data from a questionnaire. Modification of a questionnaire is discussed more fully below with respect to FIG. 13 .
  • Data Model Population via Questionnaire Process Flow
  • FIG. 13 depicts an exemplary process flow 1300 for populating a data model (e.g., modifying a data model to include a newly discovered data asset, populating one or more inventory attributes for a particular processing activity or data asset, etc.). In particular, FIG. 13 depicts one or more exemplary data relationships between one or more particular data attributes (e.g., processing activity attributes and/or asset attributes), a questionnaire template (e.g., a processing activity template and/or a data asset template), a completed questionnaire (e.g., a processing activity assessment and/or a data asset assessment), and a data inventory (e.g., a processing activity inventory and/or an asset inventory). As may be understood from this figure the system is configured to: (1) identify new data assets; (2) generate an asset inventory for identified new data assets; and (3) populate the generated asset inventories. Systems and methods for populating the generated inventories are described more fully below.
  • As may be understood from FIG. 13 , a system may be configured to map particular processing activity attributes 1320A to each of: (1) a processing activity template 1330A; and (2) a processing activity data inventory 1310A. As may be understood in light of this disclosure, the processing activity template 1330A may comprise a plurality of questions (e.g., as part of a questionnaire), which may, for example, be configured to elicit discovery of one or more new data assets. The plurality of questions may each correspond to one or more fields in the processing activity inventory 1310A, which may, for example, define one or more inventory attributes of the processing activity.
  • In particular embodiments, the system is configured to provide a processing activity assessment 1340A to one or more individuals for completion. As may be understood from FIG. 13 , the system is configured to launch the processing activity assessment 1340A from the processing activity inventory 1310A and further configured to create the processing activity assessment 1340A from the processing activity template 1330. The processing activity assessment 1340A may comprise, for example, one or more questions related to the processing activity. The system may, in various embodiments, be configured to map one or more responses provided in the processing activity assessment 1340A to one or more corresponding fields in the processing activity inventory 1310A. The system may then be configured to modify the processing activity inventory 1310A to include the one or more responses, and store the modified inventory in computer memory. In various embodiments, the system may be configured to approve a processing activity assessment 1340A (e.g., receive approval of the assessment) prior to feeding the processing activity inventory attribute values into one or more fields and/or cells of the inventory.
  • As may be further understood from FIG. 13 , in response to creating a new asset record (e.g., which the system may create, for example, in response to a new asset discovery via the processing activity assessment 1340A described immediately above, or in any other suitable manner), the system may generate an asset inventory 1310B (e.g., a data asset inventory) that defines a plurality of inventory attributes for the new asset (e.g., new data asset).
  • As may be understood from FIG. 13 , a system may be configured to map particular asset attributes 1320B to each of: (1) an asset template 1330BA; and (2) an asset inventory 1310A. As may be understood in light of this disclosure, the asset template 1330B may comprise a plurality of questions (e.g., as part of a questionnaire), which may, for example, be configured to elicit discovery of one or more processing activities associated with the asset and/or one or more inventory attributes of the asset. The plurality of questions may each correspond to one or more fields in the asset inventory 1310B, which may, for example, define one or more inventory attributes of the asset.
  • In particular embodiments, the system is configured to provide an asset assessment 1340B to one or more individuals for completion. As may be understood from FIG. 13 , the system is configured to launch the asset assessment 1340B from the asset inventory 1310B and further configured to create the asset assessment 1340B from the asset template 1330B. The asset assessment 1340B may comprise, for example, one or more questions related to the data asset. The system may, in various embodiments, be configured to map one or more responses provided in the asset assessment 1340B to one or more corresponding fields in the asset inventory 1310B. The system may then be configured to modify the asset inventory 1310B (e.g., and/or a related processing activity inventory 1310A) to include the one or more responses, and store the modified inventory in computer memory. In various embodiments, the system may be configured to approve an asset assessment 1340B (e.g., receive approval of the assessment) prior to feeding the asset inventory attribute values into one or more fields and/or cells of the inventory.
  • FIG. 13 further includes a detail view 1350 of a relationship between particular data attributes 1320C with an exemplary data inventory 1310C and a questionnaire template 1330C. As may be understood from this detail view 1350, a particular attribute name may map to a particular question title in a template 1330C as well as to a field name in an exemplary data inventory 1310C. In this way, the system may be configured to populate (e.g., automatically populate) a field name for a particular inventory 1310C in response to a user providing a question title as part of a questionnaire template 1330C. Similarly, a particular attribute description may map to a particular question description in a template 1330C as well as to a tooltip on a fieldname in an exemplary data inventory 1310C. In this way, the system may be configured to provide the tooltip for a particular inventory 1310C that includes the question description provided by a user as part of a questionnaire template 1330C.
  • As may be further understood from the detail view 1350 of FIG. 13 , a particular response type may map to a particular question type in a template 1330C as well as to a field type in an exemplary data inventory 1310C. A particular question type may include, for example, a multiple choice question (e.g., A, B, C, etc.), a freeform response, an integer value, a drop down selection, etc. A particular field type may include, for example, a memo field type, a numeric field type, an integer field type, a logical field type, or any other suitable field type. A particular data attribute may require a response type of, for example: (1) a name of an organization responsible for a data asset (e.g., a free form response); (2) a number of days that data is stored by the data asset (e.g., an integer value); and/or (3) any other suitable response type.
  • In still other embodiments, the system may be configured to map a one or more attribute values to one or more answer choices in a template 1330C as well as to one or more lists and/or responses in a data inventory 1310C. The system may then be configured to populate a field in the data inventory 1310C with the one or more answer choices provided in a response to a question template 1330C with one or more attribute values.
  • Exemplary Questionnaire Generation and Completion User Experience
  • FIGS. 14-25 depict exemplary screen displays that a user may encounter when generating a questionnaire (e.g., one or more questionnaires and/or templates) for populating one or more data elements (e.g., inventory attributes) of a data model for a data asset and/or processing activity. FIG. 14 , for example, depicts an exemplary asset based questionnaire template builder 1400. As may be understood from FIG. 14 , the template builder may enable a user to generate an asset based questionnaire template that includes one or more sections 1420 related to the asset (e.g., asset information, security, disposal, processing activities, etc.). As may be understood in light of this disclosure, the system may be configured to substantially automatically generate an asset based questionnaire template based at least in part on the one or more unpopulated inventory attributes discussed above. The system may, for example, be configured to generate a template that is configured to populate the one or more unpopulated attributes (e.g., by eliciting responses, via a questionnaire to one or more questions that are mapped to the attributes within the data inventory).
  • In various embodiments, the system is configured to enable a user to modify a default template (e.g., or a system-created template) by, for example, adding additional sections, adding one or more additional questions to a particular section, etc. In various embodiments, the system may provide one or more tools for modifying the template. For example, in the embodiment shown in FIG. 14 , the system may provide a user with a draft and drop question template 1410, from which the user may select a question type (e.g., textbox, multiple choice, etc.).
  • A template for an asset may include, for example: (1) one or more questions requesting general information about the asset; (2) one or more security-related questions about the asset; (3) one or more questions regarding how the data asset disposes of data that it uses; and/or (4) one or more questions regarding processing activities that involve the data asset. In various embodiments, each of these one or more sections may comprise one or more specific questions that may map to particular portions of a data model (e.g., a data map).
  • FIG. 15 depicts an exemplary screen display of a processing activity questionnaire template builder 1500. The screen display shown in FIG. 15 is similar to the template builder shown in FIG. 14 with respect to the data asset based template builder. As may be understood from FIG. 15 , the template builder may enable a user to generate a processing activity based questionnaire template that includes one or more sections 1520 related to the processing activity (e.g., business process information, personal data, source, storage, destinations, access and use, etc.). As may be understood in light of this disclosure, the system may be configured to substantially automatically generate a processing activity based questionnaire template based at least in part on the one or more unpopulated inventory attributes related to the processing activity (e.g., as discussed above). The system may, for example, be configured to generate a template that is configured to populate the one or more unpopulated attributes (e.g., by eliciting responses, via a questionnaire to one or more questions that are mapped to the attributes within the data inventory).
  • In various embodiments, the system is configured to enable a user to modify a default template (e.g., or a system-created template) by, for example, adding additional sections, adding one or more additional questions to a particular section, etc. In various embodiments, the system may provide one or more tools for modifying the template. For example, in the embodiment shown in FIG. 15 , the system may provide a user with a draft and drop question template 1510, from which the user may select a question type (e.g., textbox, multiple choice, asset attributes, data subjects, etc.). The system may be further configured to enable a user to publish a completed template (e.g., for use in a particular assessment). In other embodiments, the system may be configured to substantially automatically publish the template.
  • In various embodiments, a template for a processing activity may include, for example: (1) one or more questions related to the type of business process that involves a particular data asset; (2) one or more questions regarding what type of personal data is acquired from data subjects for use by a particular data asset; (3) one or more questions related to a source of the acquired personal data; (4) one or more questions related to how and/or where the personal data will be stored and/or for how long; (5) one or more questions related to one or more other data assets that the personal data will be transferred to; and/or (6) one or more questions related to who will have the ability to access and/or use the personal data.
  • Continuing to FIG. 16 , an exemplary screen display 1600 depicts a listing of assets 1610 for a particular entity. These may, for example, have been identified as part of the data model generation system described above. As may be understood from this figure, a user may select a drop down indicator 1615 to view more information about a particular asset. In the exemplary embodiment shown in FIG. 16 , the system stores the managing organization group for the “New Asset”, but is missing some additional information (e.g., such as a description 1625 of the asset). In order to fill out the missing inventory attributes for the “New Asset”, the system, in particular embodiments, is configured to enable a user to select a Send Assessment indicia 1620 in order to transmit an assessment related to the selected asset to an individual tasked with providing one or more pieces of information related to the asset (e.g., a manager, or other individual with knowledge of the one or more inventory attributes).
  • In response to the user selecting the Send Assessment indicia 1620, the system may create the assessment based at least in part on a template associated with the asset, and transmit the assessment to a suitable individual for completion (e.g., and/or transmit a request to the individual to complete the assessment).
  • FIG. 17 depicts an exemplary assessment transmission interface 1700 via which a user can transmit one or more assessments for completion. As shown in this figure, the user may assign a respondent, provide a deadline, indicate a reminder time, and provide one or more comments using an assessment request interface 1710. The user may then select a Send Assessment(s) indicia 1720 in order to transmit the assessment.
  • FIG. 18 depicts an exemplary assessment 1800 which a user may encounter in response to receiving a request to complete the assessment as described above with respect to FIGS. 16 and 17 . As shown in FIG. 18 , the assessment 1800 may include one or more questions that map to the one or more unpopulated attributes for the asset shown in FIG. 16 . For example, the one or more questions may include a question related to a description of the asset, which may include a free form text box 1820 for providing a description of the asset. FIG. 19 depicts an exemplary screen display 1900 with the text box 1920 completed, where the description includes a value of “Value_1”. As shown in FIGS. 18 and 19 , the user may have renamed “New Asset” (e.g., which may have included a default or placeholder name) shown in FIGS. 16 and 17 to “7th Asset.”
  • Continuing to FIG. 20 , the exemplary screen display 2000 depicts the listing of assets 2010 from FIG. 16 with some additional attributes populated. For example, the Description 2025 (e.g., “Value_1”) provided in FIG. 19 has been added to the inventory. As may be understood in light of this disclosure, in response to a user providing the description via the assessment shown in FIGS. 18 and 19 , the system may be configured to map the provided description to the attribute value associated with the description of the asset in the data inventory. The system may have then modified the data inventory for the asset to include the description attribute. In various embodiments, the system is configured to store the modified data inventory as part of a data model (e.g., in computer memory).
  • FIGS. 21-24 depict exemplary screen displays showing exemplary questions that make up part of a processing activity questionnaire (e.g., assessment). FIG. 21 depicts an exemplary interface 2100 for responding to a first question 2110 and a second question 2120. As shown in FIG. 21 , the first question 2110 relates to whether the processing activity is a new or existing processing activity. The first question 2110 shown in FIG. 21 is a multiple choice question. The second question 2120 relates to whether the organization is conducting the activity on behalf of another organization. As shown in this figure, the second question 2120 includes both a multiple choice portion and a free-form response portion.
  • As discussed above, in various embodiments, the system may be configured to modify a questionnaire in response to (e.g., based on) one or more responses provided by a user completing the questionnaire. In particular embodiments, the system is configured to modify the questionnaire substantially on-the-fly (e.g., as the user provides each particular answer). FIG. 22 depicts an interface 2200 that includes a second question 2220 that differs from the second question 2120 shown in FIG. 21 . As may be understood in light of this disclosure, in response to the user providing a response to the first question 2110 in FIG. 21 that indicates that the processing activity is a new processing activity, the system may substantially automatically modify the second question 2120 from FIG. 21 to the second question 2220 from FIG. 22 (e.g., such that the second question 2220 includes one or more follow up questions or requests for additional information based on the response to the first question 2110 in FIG. 21 ).
  • As shown in FIG. 22 , the second question 2220 requests a description of the activity that is being pursued. In various embodiments (e.g., such as if the user had selected that the processing activity was an existing one), the system may not modify the questionnaire to include the second question 2220 from FIG. 22 , because the system may already store information related to a description of the processing activity at issue. In various embodiments, any suitable question described herein may include a tooltip 2225 on a field name (e.g., which may provide one or more additional pieces of information to guide a user's response to the questionnaire and/or assessment).
  • FIGS. 23 and 24 depict additional exemplary assessment questions. The questions shown in these figures relate to, for example, particular data elements processed by various aspects of a processing activity.
  • FIG. 25 depicts a dashboard 2500 that includes an accounting of one or more assessments that have been completed, are in progress, or require completion by a particular organization. The dashboard 2500 shown in this figure is configured to provide information relate to the status of one or more outstanding assessments. As may be understood in light of this disclosure, because of the volume of assessment requests, it may be necessary to utilize one or more third party organizations to facilitate a timely completion of one or more assessment requests. In various embodiments, the dashboard may indicate that, based on a fact that a number of assessments are still in progress or incomplete, that a particular data model for an entity, data asset, processing activity, etc. remains incomplete. In such embodiments, an incomplete nature of a data model may raise one or more flags or indicate a risk that an entity may not be in compliance with one or more legal or industry requirements related to the collection, storage, and/or processing of personal data.
  • Intelligent Identity Scanning Module
  • Turning to FIG. 26 , in particular embodiments, the Intelligent Identity Scanning Module 2600 is configured to scan one or more data sources to identify personal data stored on one or more network devices for a particular organization, analyze the identified personal data, and classify the personal data (e.g., in a data model) based at least in part on a confidence score derived using one or more machine learning techniques. The confidence score may be and/or comprise, for example, an indication of the probability that the personal data is actually associated with a particular data subject (e.g., that there is at least an 80% confidence level that a particular phone number is associated with a particular individual.)
  • When executing the Intelligent Identity Scanning Module 2600, the system begins, at Step 2610, by connecting to one or more databases or other data structures, and scanning the one or more databases to generate a catalog of one or more individuals and one or more pieces of personal information associated with the one or more individuals. The system may, for example, be configured to connect to one or more databases associated with a particular organization (e.g., one or more databases that may serve as a storage location for any personal or other data collected, processed, etc. by the particular organization, for example, as part of a suitable processing activity. As may be understood in light of this disclosure, a particular organization may use a plurality of one or more databases (e.g., the One or More Databases 140 shown in FIG. 1 ), a plurality of servers (e.g., the One or More Third Party Servers 160 shown in FIG. 1 ), or any other suitable data storage location in order to store personal data and other data collected as part of any suitable privacy campaign, privacy impact assessment, processing activity, etc.
  • In particular embodiments, the system is configured to scan the one or more databases by searching for particular data fields comprising one or more pieces of information that may include personal data. The system may, for example, be configured to scan and identify one of more pieces of personal data such as: (1) name; (2) address; (3) telephone number; (4) e-mail address; (5) social security number; (6) information associated with one or more credit accounts (e.g., credit card numbers); (7) banking information; (8) location data; (9) internet search history; (10) non-credit account data; and/or (11) any other suitable personal information discussed herein. In particular embodiments, the system is configured to scan for a particular type of personal data (e.g., or one or more particular types of personal data).
  • The system may, in various embodiments, be further configured to generate a catalog of one or more individuals that also includes one or more pieces of personal information (e.g., personal data) identified for the individuals during the scan. The system may, for example, in response to discovering one or more pieces of personal data in a particular storage location, identify one or more associations between the discovered pieces of personal data. For example, a particular database may store a plurality of individuals' names in association with their respective telephone numbers. One or more other databases may include any other suitable information.
  • The system may, for example, generate the catalog to include any information associated with the one or more individuals identified in the scan. The system may, for example, maintain the catalog in any suitable format (e.g., a data table, etc.).
  • Continuing to Step 2620, the system is configured to scan one or more structured and/or unstructured data repositories based at least in part on the generated catalog to identify one or more attributes of data associated with the one or more individuals. The system may, for example, be configured to utilize information discovered during the initial scan at Step 2610 to identify the one or more attributes of data associated with the one or more individuals.
  • For example, the catalog generated at Step 2610 may include a name, address, and phone number for a particular individual. The system may be configured, at Step 2620, to scan the one or more structured and/or unstructured data repositories to identify one or more attributes that are associated with one or more of the particular individual's name, address and/or phone number. For example, a particular data repository may store banking information (e.g., a bank account number and routing number for the bank) in association with the particular individual's address. In various embodiments, the system may be configured to identify the banking information as an attribute of data associated with the particular individual. In this way, the system may be configured to identify particular data attributes (e.g., one or more pieces of personal data) stored for a particular individual by identifying the particular data attributes using information other than the individual's name.
  • Returning to Step 2630, the system is configured to analyze and correlate the one or more attributes and metadata for the scanned one or more structured and/or unstructured data repositories. In particular embodiments, the system is configured to correlate the one or more attributes with metadata for the associated data repositories from which the system identified the one or more attributes. In this way, the system may be configured to store data regarding particular data repositories that store particular data attributes.
  • In particular embodiments, the system may be configured to cross-reference the data repositories that are discovered to store one or more attributes of personal data associated with the one or more individuals with a database of known data assets. In particular embodiments, the system is configured to analyze the data repositories to determine whether each data repository is part of an existing data model of data assets that collect, store, and/or process personal data. In response to determining that a particular data repository is not associated with an existing data model, the system may be configured to identify the data repository as a new data asset (e.g., via asset discovery), and take one or more actions (e.g., such as any suitable actions described herein) to generate and populate a data model of the newly discovered data asset. This may include, for example: (1) generating a data inventory for the new data asset; (2) populating the data inventory with any known attributes associated with the new data asset; (3) identifying one or more unpopulated (e.g., unknown) attributes of the data asset; and (4) taking any suitable action described herein to populate the unpopulated data attributes.
  • In particular embodiments, the system my, for example: (1) identify a source of the personal data stored in the data repository that led to the new asset discovery; (2) identify one or more relationships between the newly discovered asset and one or more known assets; and/or (3) etc.
  • Continuing to Step 2640, the system is configured to use one or more machine learning techniques to categorize one or more data elements from the generated catalog, analyze a flow of the data among the one or more data repositories, and/or classify the one or more data elements based on a confidence score as discussed below.
  • Continuing to Step 2650, the system, in various embodiments, is configured to receive input from a user confirming or denying a categorization of the one or more data elements, and, in response, modify the confidence score. In various embodiments, the system is configured to iteratively repeat Steps 2640 and 2650. In this way, the system is configured to modify the confidence score in response to a user confirming or denying the accuracy of a categorization of the one or more data elements. For example, in particular embodiments, the system is configured to prompt a user (e.g., a system administrator, privacy officer, etc.) to confirm that a particular data element is, in fact, associated with a particular individual from the catalog. The system may, in various embodiments, be configured to prompt a user to confirm that a data element or attribute discovered during one or more of the scans above were properly categorized at Step 2640.
  • In particular embodiments, the system is configured to modify the confidence score based at least in part on receiving one or more confirmations that one or more particular data elements or attributes discovered in a particular location during a scan are associated with particular individuals from the catalog. As may be understood in light of this disclosure, the system may be configured to increase the confidence score in response to receiving confirmation that particular types of data elements or attributes discovered in a particular storage location are typically confirmed as being associated with particular individuals based on one or more attributes for which the system was scanning.
  • Exemplary Intelligent Identity Scanning Technical Platforms
  • FIG. 27 depicts an exemplary technical platform via which the system may perform one or more of the steps described above with respect to the Intelligent Identity Scanning Module 2600. As shown in the embodiment in this figure, an Intelligent Identity Scanning System 2600 comprises an Intelligent Identity Scanning Server 130, such as the Intelligent Identity Scanning Server 130 described above with respect to FIG. 1 . The Intelligent Identity Scanning Server 130 may, for example, comprise a processing engine (e.g., one or more computer processors). In some embodiments, the Intelligent Identity Scanning Server 130 may include any suitable cloud hosted processing engine (e.g., one or more cloud-based computer servers). In particular embodiments, the Intelligent Identity Scanning Server 130 is hosted in a Microsoft Azure cloud.
  • In particular embodiments, the Intelligent Identity Scanning Server 130 is configured to sit outside one or more firewalls (e.g., such as the firewall 195 shown in FIG. 26 ). In such embodiments, the Intelligent Identity Scanning Server 130 is configured to access One or More Remote Computing Devices 150 through the Firewall 195 (e.g., one or more firewalls) via One or More Networks 115 (e.g., such as any of the One or More Networks 115 described above with respect to FIG. 1 ).
  • In particular embodiments, the One or More Remote Computing Devices 150 include one or more computing devices that make up at least a portion of one or more computer networks associated with a particular organization. In particular embodiments, the one or more computer networks associated with the particular organization comprise one or more suitable servers, one or more suitable databases, one or more privileged networks, and/or any other suitable device and/or network segment that may store and/or provide for the storage of personal data. In the embodiment shown in FIG. 27 , the one or more computer networks associated with the particular organization may comprise One or More Third Party Servers 160, One or More Databases 140, etc. In particular embodiments, the One or More Remote Computing Devices 150 are configured to access one or more segments of the one or more computer networks associated with the particular organization. In some embodiments, the one or more computer networks associated with the particular organization comprise One or More Privileged Networks 165. In still other embodiments, the one or more computer networks comprise one or more network segments connected via one or more suitable routers, one or more suitable network hubs, one or more suitable network switches, etc.
  • As shown in FIG. 27 , various components that make up one or more parts of the one or more computer networks associated with the particular organization may store personal data (e.g., such as personal data stored on the One or More Third Party Servers 160, the One or More Databases 140, etc.). In various embodiments, the system is configured to perform one or more steps related to the Intelligent Identity Scanning Server 2600 in order to identify the personal data for the purpose of generating the catalog of individuals described above (e.g., and/or identify one or more data assets within the organization's network that store personal data)
  • As further shown in FIG. 27 , in various embodiments, the One or More Remote Computing Devices 150 may store a software application (e.g., the Intelligent Identity Scanning Module). In such embodiments, the system may be configured to provide the software application for installation on the One or More Remote Computing Devices 150. In particular embodiments, the software application may comprise one or more virtual machines. In particular embodiments, the one or more virtual machines may be configured to perform one or more of the steps described above with respect to the Intelligent Identity Scanning Module 2600 (e.g., perform the one or more steps locally on the One or More Remote Computing Devices 150).
  • In various embodiments, the one or more virtual machines may have the following specifications: (1) any suitable number of cores (e.g., 4, 6, 8, etc.); (2) any suitable amount of memory (e.g., 4 GB, 8 GB, 16 GB etc.); (3) any suitable operating system (e.g., CentOS 7.2); and/or (4) any other suitable specification. In particular embodiments, the one or more virtual machines may, for example, be used for one or more suitable purposes related to the Intelligent Identity Scanning System 2700. These one or more suitable purposes may include, for example, running any of the one or more modules described herein, storing hashed and/or non-hashed information (e.g., personal data, personally identifiable data, catalog of individuals, etc.), storing and running one or more searching and/or scanning engines (e.g., Elasticsearch), etc.
  • In various embodiments, the Intelligent Identity Scanning System 2700 may be configured to distribute one or more processes that make up part of the Intelligent Identity Scanning Process (e.g., described above with respect to the Intelligent Identity Scanning Module 1800). The one or more software applications installed on the One or more Remote Computing Devices 150 may, for example, be configured to provide access to the one or more computer networks associated with the particular organization to the Intelligent Identity Scanning Server 130. The system may then be configured to receive, from the One or more Remote Computing Devices 150 at the Intelligent Identity Scanning Server 130, via the Firewall 195 and One or More Networks 115, scanned data for analysis.
  • In particular embodiments, the Intelligent Identity Scanning System 2700 is configured to reduce an impact on a performance of the One or More Remote Computing Devices 150, One or More Third Party Servers 160 and other components that make up one or more segments of the one or more computer networks associated with the particular organization. For example, in particular embodiments, the Intelligent Identity Scanning System 2700 may be configured to utilize one or more suitable bandwidth throttling techniques. In other embodiments, the Intelligent Identity Scanning System 2700 is configured to limit scanning (e.g., any of the one or more scanning steps described above with respect to the Intelligent Identity Scanning Module 2600) and other processing steps (e.g., one or more steps that utilize one or more processing resources) to non-peak times (e.g., during the evening, overnight, on weekends and/or holidays, etc.). In other embodiments, the system is configured to limit performance of such processing steps to backup applications and data storage locations. The system may, for example, use one or more sampling techniques to decrease a number of records required to scan during the personal data discovery process.
  • FIG. 28 depicts an exemplary asset access methodology that the system may utilize in order to access one or more network devices that may store personal data (e.g., or other personally identifiable information). As may be understood from this figure, the system may be configured to access the one or more network devices using a locally deployed software application (e.g., such as the software application described immediately above). In various embodiments, the software application is configured to route identity scanning traffic through one or more gateways, configure one or more ports to accept one or more identity scanning connections, etc.
  • As may be understood from this figure, the system may be configured to utilize one or more credential management techniques to access one or more privileged network portions. The system may, in response to identifying particular assets or personally identifiable information via a scan, be configured to retrieve schema details such as, for example, an asset ID, Schema ID, connection string, credential reference URL, etc. In this way, the system may be configured to identify and store a location of any discovered assets or personal data during a scan.
  • Data Subject Access Request Fulfillment Module
  • Turning to FIG. 29 , in particular embodiments, a Data Subject Access Request Fulfillment Module 2900 is configured to receive a data subject access request, process the request, and fulfill the request based at least in part on one or more request parameters. In various embodiments, an organization, corporation, etc. may be required to provide information requested by an individual for whom the organization stores personal data within a certain time period (e.g., 30 days). As a particular example, an organization may be required to provide an individual with a listing of, for example: (1) any personal data that the organization is processing for an individual, (2) an explanation of the categories of data being processed and the purpose of such processing; and/or (3) categories of third parties to whom the data may be disclosed.
  • Various privacy and security policies (e.g., such as the European Union's General Data Protection Regulation, and other such policies) may provide data subjects (e.g., individuals, organizations, or other entities) with certain rights related to the data subject's personal data that is collected, stored, or otherwise processed by an organization. These rights may include, for example: (1) a right to obtain confirmation of whether a particular organization is processing their personal data; (2) a right to obtain information about the purpose of the processing (e.g., one or more reasons for which the personal data was collected); (3) a right to obtain information about one or more categories of data being processed (e.g., what type of personal data is being collected, stored, etc.); (4) a right to obtain information about one or more categories of recipients with whom their personal data may be shared (e.g., both internally within the organization or externally); (5) a right to obtain information about a time period for which their personal data will be stored (e.g., or one or more criteria used to determine that time period); (6) a right to obtain a copy of any personal data being processed (e.g., a right to receive a copy of their personal data in a commonly used, machine-readable format); (7) a right to request erasure (e.g., the right to be forgotten), rectification (e.g., correction or deletion of inaccurate data), or restriction of processing of their personal data; and (8) any other suitable rights related to the collection, storage, and/or processing of their personal data (e.g., which may be provided by law, policy, industry or organizational practice, etc.).
  • As may be understood in light of this disclosure, a particular organization may undertake a plurality of different privacy campaigns, processing activities, etc. that involve the collection and storage of personal data. In some embodiments, each of the plurality of different processing activities may collect redundant data (e.g., may collect the same personal data for a particular individual more than once), and may store data and/or redundant data in one or more particular locations (e.g., on one or more different servers, in one or more different databases, etc.). In this way, a particular organization may store personal data in a plurality of different locations which may include one or more known and/or unknown locations. As such, complying with particular privacy and security policies related to personal data (e.g., such as responding to one or more requests by data subjects related to their personal data) may be particularly difficult (e.g., in terms of cost, time, etc.). In particular embodiments, a data subject access request fulfillment system may utilize one or more data model generation and population techniques (e.g., such as any suitable technique described herein) to create a centralized data map with which the system can identify personal data stored, collected, or processed for a particular data subject, a reason for the processing, and any other information related to the processing.
  • Turning to FIG. 29 , when executing the Data Subject Access Request Fulfillment Module 2900, the system begins, at Step 2910, by receiving a data subject access request. In various embodiments, the system receives the request via a suitable web form. In certain embodiments, the request comprises a particular request to perform one or more actions with any personal data stored by a particular organization regarding the requestor. For example, in some embodiments, the request may include a request to view one or more pieces of personal data stored by the system regarding the requestor. In other embodiments, the request may include a request to delete one or more pieces of personal data stored by the system regarding the requestor. In still other embodiments, the request may include a request to update one or more pieces of personal data stored by the system regarding the requestor. In still other embodiments, the request may include a request based on any suitable right afforded to a data subject, such as those discussed above.
  • Continuing to Step 2920, the system is configured to process the request by identifying and retrieving one or more pieces of personal data associated with the requestor that are being processed by the system. For example, in various embodiments, the system is configured to identify any personal data stored in any database, server, or other data repository associated with a particular organization. In various embodiments, the system is configured to use one or more data models, such as those described above, to identify this personal data and suitable related information (e.g., where the personal data is stored, who has access to the personal data, etc.). In various embodiments, the system is configured to use intelligent identity scanning (e.g., as described above) to identify the requestor's personal data and related information that is to be used to fulfill the request.
  • In still other embodiments, the system is configured to use one or more machine learning techniques to identify such personal data. For example, the system may identify particular stored personal data based on, for example, a country in which a website that the data subject request was submitted is based, or any other suitable information.
  • In particular embodiments, the system is configured to scan and/or search one or more existing data models (e.g., one or more current data models) in response to receiving the request in order to identify the one or more pieces of personal data associated with the requestor. The system may, for example, identify, based on one or more data inventories (e.g., one or more inventory attributes) a plurality of storage locations that store personal data associated with the requestor. In other embodiments, the system may be configured to generate a data model or perform one or more scanning techniques in response to receiving the request (e.g., in order to automatically fulfill the request).
  • Returning to Step 2930, the system is configured to take one or more actions based at least in part on the request. In some embodiments, the system is configured to take one or more actions for which the request was submitted (e.g., display the personal data, delete the personal data, correct the personal data, etc.). In particular embodiments, the system is configured to take the one or more actions substantially automatically. In particular embodiments, in response a data subject submitting a request to delete their personal data from an organization's systems, the system may: (1) automatically determine where the data subject's personal data is stored; and (2) in response to determining the location of the data (which may be on multiple computing systems), automatically facilitate the deletion of the data subject's personal data from the various systems (e.g., by automatically assigning a plurality of tasks to delete data across multiple business systems to effectively delete the data subject's personal data from the systems). In particular embodiments, the step of facilitating the deletion may comprise, for example: (1) overwriting the data in memory; (2) marking the data for overwrite; (2) marking the data as free (e.g., and deleting a directory entry associated with the data); and/or (3) any other suitable technique for deleting the personal data. In particular embodiments, as part of this process, the system uses an appropriate data model (see discussion above) to efficiently determine where all of the data subject's personal data is stored.
  • Data Subject Access Request User Experience
  • FIGS. 30-31 depict exemplary screen displays that a user may view when submitting a data subject access request. As shown in FIG. 30 , a website 3000 associated with a particular organization may include a user-selectable indicia 3005 for submitting a privacy-related request. A user desiring to make such a request may select the indicia 3005 in order to initiate the data subject access request process.
  • FIG. 31 depicts an exemplary data subject access request form in both an unfilled and filled out state. As shown in this figure, the system may prompt a user to provide information such as, for example: (1) what type of requestor the user is (e.g., employee, customer, etc.); (2) what the request involves (e.g., requesting info, opting out, deleting data, updating data, etc.); (3) first name; (4) last name; (5) email address; (6) telephone number; (7) home address; and/or (8) one or more details associated with the request.
  • As discussed in more detail above, a data subject may submit a subject access request, for example, to request a listing of any personal information that a particular organization is currently storing regarding the data subject, to request that the personal data be deleted, to opt out of allowing the organization to process the personal data, etc.
  • Alternative Embodiment
  • In particular embodiments, a data modeling or other system described herein may include one or more features in addition to those described. Various such alternative embodiments are described below.
  • Processing Activity and Data Asset Assessment Risk Flagging
  • In particular embodiments, the questionnaire template generation system and assessment system described herein may incorporate one or more risk flagging systems. FIGS. 32-35 depict exemplary user interfaces that include risk flagging of particular questions within a processing activity assessment. As may be understood from these figures, a user may select a flag risk indicia to provide input related to a description of risks and mitigation of a risk posed by one or more inventory attributes associated with the question. As shown in these figures, the system may be configured to substantially automatically assign a risk to a particular response to a question in a questionnaire. In various embodiments, the assigned risk is determined based at least in part on the template from which the assessment was generated.
  • In particular embodiments, the system may utilize the risk level assigned to particular questionnaire responses as part of a risk analysis of a particular processing activity or data asset. Various techniques for assessing the risk of various privacy campaigns are described in U.S. patent application Ser. No. 15/256,419, filed Sep. 2, 2016, entitled “Data processing systems and methods for operationalizing privacy compliance and assessing the risk of various respective privacy campaigns,” which is hereby incorporated herein in its entirety.
  • Centralized Repository of Personally Identifiable Information (PII) Overview
  • A centralized data repository system, in various embodiments, is configured to provide a central data-storage repository (e.g., one or more servers, databases, etc.) for the centralized storage of personally identifiable information (PII) and/or personal data for one or more particular data subjects. In particular embodiments, the centralized data repository may enable the system to populate one or more data models (e.g., using one or more suitable techniques described above) substantially on-the-fly (e.g., as the system collects, processes, stores, etc. personal data regarding a particular data subject). In this way, in particular embodiments, the system is configured to maintain a substantially up-to-date data model for a plurality of data subjects (e.g., each particular data subject for whom the system collects, processes, stores, etc. personal data). The system may then be configured to substantially automatically respond to one or more data access requests by a data subject (e.g., individual, entity, organization, etc.), for example, using the substantially up-to-date data model. In particular embodiments, the system may be configured to respond to the one or more data access requests using any suitable technique described herein.
  • As may be understood in light of this disclosure, a particular organization may undertake a plurality of different privacy campaigns, processing activities, etc. that involve the collection and storage of personal data. In some embodiments, each of the plurality of different processing activities may collect redundant data (e.g., may collect the same personal data for a particular individual more than once), and may store data and/or redundant data in a plurality of different locations (e.g., on one or more different servers, in one or more different databases, etc.). In this way, a particular organization may store personal data in a plurality of different locations which may include one or more known and/or unknown locations. As such, complying with particular privacy and security policies related to personal data (e.g., such as responding to one or more requests by data subjects related to their personal data) may be particularly difficult (e.g., in terms of cost, time, etc.). Accordingly, utilizing and maintaining a centralized data repository for PII may enable the system to more quickly and accurately respond to data subject access requests and other requests related to collected, stored, and processed personal data. In particular embodiments, the centralized data repository may include one or more third party data repositories (e.g., one or more third party data repositories maintained on behalf of a particular entity that collects, stores, and/or processes personal data).
  • In various embodiments, a third party data repository system is configured to facilitate the receipt and centralized storage of personal data for each of a plurality of respective data subjects. In particular embodiments, the system may be configured to: (1) receive personal data associated with a particular data subject (e.g., a copy of the data, a link to a location of where the data is stored, etc.); and (2) store the personal data in a suitable data format (e.g., a data model, a reference table, etc.) for later retrieval. In other embodiments, the system may be configured to receive an indication that personal data has been collected regarding a particular data subject (e.g., collected by a first party system, a software application utilized by a particular entity, etc.).
  • In particular embodiments, the third party data repository system is configured to: (1) receive an indication that a first party system (e.g., entity) has collected and/or processed a piece of personal data for a data subject; (2) determine a location in which the first party system has stored the piece of personal data; (3) optionally digitally store (e.g., in computer memory) a copy of the piece of personal data and associate, in memory, the piece of personal data with the data subject; and (4) optionally digitally store an indication of the storage location utilized by the first party system for the piece of personal data. In particular embodiments, the system is configured to provide a centralized database, for each particular data subject (e.g., each particular data subject about whom a first party system collects or has collected personally identifiable information), of any personal data processed and/or collected by a particular entity.
  • In particular embodiments, a third party data repository system is configured to interface with a consent receipt management system (e.g., such as the consent receipt management system described below). In particular embodiments, the system may, for example: (1) receive an indication of a consent receipt having an associated unique subject identifier and one or more receipt definitions (e.g., such as any suitable definition described herein); (2) identify, based at least in part on the one or more receipt definitions, one or more pieces of repository data associated with the consent receipt (e.g., one or more data elements or pieces of personal data for which the consent receipt provides consent to process; a storage location of the one or more data elements for which the consent receipt provides consent to process; etc.); (3) digitally store the unique subject identifier in one or more suitable data stores; and (4) digitally associate the unique subject identifier with the one or more pieces of repository data. In particular embodiments, the system is configured to store the personal data provided as part of the consent receipt in association with the unique subject identifier.
  • In particular embodiments, the system is configured to, for each stored unique subject identifier: (1) receive an indication that new personal data has been provided by or collected from a data subject associated with the unique subject identifier (e.g., provided to an entity or organization that collects and/or processes personal data); and (2) in response to receiving the indication, storing the new personal data (e.g., or storing an indication of a storage location of the new personal data by the entity) in association with the unique subject identifier. In this way, as an entity collects additional data for a particular unique data subject (e.g., having a unique subject identifier, hash, etc.), the third party data repository system is configured to maintain a centralized database of data collected, stored, and or processed for each unique data subject (e.g., indexed by unique subject identifier). The system may then, in response to receiving a data subject access request from a particular data subject, fulfill the request substantially automatically (e.g., by providing a copy of the personal data, deleting the personal data, indicating to the entity what personal data needs to be deleted from their system and where it is located, etc.). The system may, for example, automatically fulfill the request by: (1) identifying the unique subject identifier associated with the unique data subject making the request; and (2) retrieving any information associated with the unique data subject based on the unique subject identifier.
  • Exemplary Centralized Data Repository System Architecture
  • FIG. 36 is a block diagram of a centralized data repository system 3600 according to a particular embodiment. In various embodiments, the centralized data repository system 3600 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more legal or industry regulations related to the collection and storage of personal data. In various other embodiments, the centralized data repository system 3600 is a stand-alone system that is configured to interface with one or more first party data management or other systems for the purpose of maintaining a centralized data repository of personal data collected, stored, and/or processed by each of the one or more first party data systems.
  • As may be understood from FIG. 36 , the centralized data repository system 3600 includes one or more computer networks 115, One or More Centralized Data Repository Servers 3610, a Consent Receipt Management Server 3620, One or More First Party System Servers 3630, One or More Databases 140 or other data structures, and one or more remote data subject computing devices 3650 (e.g., a desktop computer, laptop computer, tablet computer, smartphone, etc.). Although in the embodiment shown in FIG. 36 , the One or More Centralized Data Repository Servers 3610, Consent Receipt Management Server 3620, One or More First Party System Servers 3630, One or More Databases 140 or other data structures, and one or more remote data subject computing devices 3650 are shown as separate servers, it should be understood that in other embodiments, one or more of these servers and/or computing devices may comprise a single server, a plurality of servers, one or more cloud-based servers, or any other suitable configuration.
  • In particular embodiments, the One or More Centralized Data Repository Servers 3610 may be configured to interface with the One or More First Party System Servers 3630 to receive any of the indications or personal data (e.g., for storage) described herein. The One or More Centralized Data Repository Servers 3610 and One or More First Party System Servers 3630 may, for example, interface via a suitable application programming interface, direct connection, etc. In a particular embodiment, the One or More Centralized Data Repository Servers 3610 comprise the Consent Receipt Management Server 3620.
  • In a particular example, a data subject may provide one or more pieces of personal data via the One or More Remote Data Subject Computing Devices 3650 to the One or More First Party System Servers 3630. The data subject may, for example, complete a webform on a website hosted on the One or More First Party System Servers 3630. The system may then, in response to receiving the one or more pieces of personal data at the One or More First Party System Servers 3630, transmit an indication to the One or More Centralized Data Repository Servers 3610 that the One or More First Party System Servers 3630 have collected, stored, and/or processed the one or more pieces of personal data. In response to receiving the indication, the One or More Centralized Data Repository Servers 3610 may then store the one or more pieces of personal data (e.g., a copy of the data, an indication of the storage location of the personal data in the One or More First Party System Servers 3630, etc.) in a centralized data storage location (e.g., in One or More Databases 140, on the One or More Centralized Data Repository Servers 3610, etc.).
  • Centralized Data Repository Module
  • Various functionality of the centralized data repository system 3600 may be implemented via a Centralized Data Repository Module 3700. The system, when executing certain steps of the Centralized Data Repository Module, may be configured to generate, a central repository of personal data on behalf of an entity, and populate the central repository with personal data as the entity collects, stores and/or processes the personal data. In particular embodiments, the system is configured to index the personal data within the central repository by data subject.
  • FIG. 37 depicts a Centralized Data Repository Module 3700 according to a particular embodiment. The system, when executing the Centralized Data Repository Module 3700, begins, at Step 3710, by receiving a request to generate a central repository of personal data on behalf of an entity. In particular embodiments, the system is a third-party system that receives a request from the entity to generate and maintain a central repository (e.g., third party repository) of personal data that the entity collects, stores, and or processes.
  • In particular embodiments, the system, in response to receiving the request, is configured to generate the central repository by: (1) designating at least a portion of one or more data stores for the storage of the personal data, information about the data subjects about whom the personal data is collected, etc.; (2) initiating a connection between the central repository and one or more data systems operated by the entity (e.g., one or more first party systems); (3) etc.
  • Continuing to Step 3720, the system is configured to generate, for each data subject about whom the entity collects, receives, and/or processes personal data, a unique identifier. The system may, for example: (1) receive an indication that a first party system has collected, stored, and/or processed a piece of personal data; (2) identify a data subject associated with the piece of personal data; (3) determine whether the central repository system is currently storing data associated with the data subject; and (4) in response to determining that the central repository system is not currently storing data associated with the data subject (e.g., because the data subject is a new data subject), generating the unique identifier. In various embodiments, the system is configured to assign a unique identifier for each data subject about whom the first party system has previously collected, stored, and/or processed personal data.
  • In particular embodiments, the unique identifier may include any unique identifier such as, for example: (1) any of the one or more pieces of personal data collected, stored, and/or processed by the system (e.g., name, first name, last name, full name, address, phone number, e-mail address, etc.); (2) a unique string or hash comprising any suitable number of numerals, letters, or combination thereof; and/or (3) any other identifier that is sufficiently unique to distinguish between a first and second data subject for the purpose of subsequent data retrieval.
  • In particular embodiments, the system is configured to assign a permanent identifier to each particular data subject. In other embodiments, the system is configured to assign one or more temporary unique identifiers to the same data subject.
  • In particular embodiments, the unique identifier may be based at least in part on the unique receipt key and/or unique subject identifier discussed below with respect to the consent receipt management system. As may be understood in light of this disclosure, when receiving consent form a data subject to process, collect, and at least store one or more particular types of personal data associated with the data subject, the system is configured to generate a unique ID to memorialize the consent and provide authorization for the system to collect the subject's data. In any embodiment described herein, the system may be configured to utilize any unique ID generated for the purposes of tracking data subject consent as a unique identifier in the context of the central repository system described herein.
  • In particular embodiments, the system is configured to continue to Step 3730, and store the unique identifier in computer memory. In particular embodiments, the system is configured to store the unique identifier in an encrypted manner. In various embodiments, the system is configured to store the unique identifier in any suitable location (e.g., the one or more databases 140 described above).
  • In particular embodiments, the system is configured to store the unique identifier as a particular file structure such as, for example, a particular folder structure in which the system is configured to store one or more pieces of personal data (e.g., or pointers to one or more pieces of personal data) associated with the unique identifier (e.g., the data subject associated with the unique identifier). In other embodiments, the system is configured to store the unique identifier in any other suitable manner (e.g., in a suitable data table, etc.).
  • Returning to Step 3740, the system is configured to receive an indication that one or more computer systems have received, collected or processed one or more pieces of personal data associated with a data subject. In particular embodiments, the one or more computer systems include any suitable computer system associated with a particular entity. In other embodiments, the one or more computer systems comprise one or more software applications, data stores, databases, etc. that collect, process, and/or store data (e.g., personally identifiable data) on behalf of the entity (e.g., organization). In particular embodiments, the system is configured to receive the indication through integration with the one or more computer systems. In a particular example, the system may provide a software application for installation on a system device that is configured to transmit the indication in response to the system receiving, collecting, and/or processing one or more pieces of personal data.
  • In particular embodiments, the system may receive the indication in response to: (1) a first party system, data store, software application, etc. receiving, collecting, storing, and or processing a piece of data that includes personally identifying information; (2) a user registering for an account with a particular entity (e.g., an online account, employee account, social media account, e-mail account, etc.); (3) a company storing information about one or more data subjects (e.g., employee information, customer information, potential customer information, etc.; and/or (4) any other suitable indication that a first entity or any computer system or software on the first entity's behalf has collected, stored, and/or processed a piece of data that includes or may include personally identifiable information.
  • As a particular example, the system may receive the indication in response to a user submitting a webform via a website operated by the first entity. The webform may include, for example, one or more fields that include the user's e-mail address, billing address, shipping address, and payment information for the purposes of collected payment data to complete a checkout process on an e-commerce website. In this example, because the information submitted via the webform contains personal data (e.g., personally identifiable data) the system, in response to receiving an indication that the user has submitted the at least partially completed webform, may be configured to receive the indication described above with respect to Step 3740.
  • In various embodiments, a first party privacy management system or other system (e.g., privacy management system, marketing system, employee records database management system, etc.) may be configured to transmit an indication to the central repository system in response to collecting, receiving, or processing one or more pieces of personal data personal data.
  • In some embodiments, the indication may include, for example: (1) an indication of the type of personal data collected; (2) a purpose for which the personal data was collected; (3) a storage location of the personal data by the first party system; and/or (4) any other suitable information related to the one or more pieces of personal data or the handling of the personal data by the first party system. In particular embodiments, the system is configured to receive the indication via an application programming interface, a software application stored locally on a computing device within a network that makes up the first party system, or in any other suitable manner.
  • Continuing to Step 3750, the central repository system is configured to store, in computer memory, an indication of the personal data in association with the respective unique identifier. In various embodiments, the central repository system comprises a component of a first party system for the centralized storage of personal data collected by one or more various distributed computing systems (e.g., and software applications) operated by a particular entity for the purpose of collecting, storing, and/or processing personal data. In other embodiments, the central repository system is a third-party data repository system that is separate from the one or more first party systems described above. In particular embodiments, for example, a third-party data repository system may be configured to maintain a central repository of personal data for a plurality of different entities.
  • In particular embodiments, the central repository system is configured to store a copy of the personal data (e.g., store a digital copy of the personal data in computer memory associated with the central repository system). In still other embodiments, the central repository system is configured to store an indication of a storage location of the personal data within the first party system. For example, the system may be configured to store an indication of a physical location of a particular storage location (e.g., a physical location of a particular computer server or other data store) and an indication of a location of the personal data in memory on that particular storage location (e.g., a particular path or filename of the personal data, a particular location in a spreadsheet, CSV file, or other suitable document, etc.).
  • In various embodiments, the system may be configured to confirm receipt of valid consent to collect, store, and/or process personal data from the data subject prior to storing the indication of the personal data in association with the respective unique identifier. In such embodiments, the system may be configured to integrate with (e.g., interface with) a consent receipt management system (e.g., such as the consent receipt management system described more fully below). In such embodiments, the system may be configured to: (1) receive the indication that the first party system has collected, stored, and/or processed a piece of personal data; (2) identify, based at least in part on the piece of personal data, a data subject associated with the piece of personal data; (3) determine, based at least in part on one or more consent receipts received from the data subject(e.g., one or more valid receipt keys associated with the data subject), and one or more pieces of information associated with the piece of personal data, whether the data subject has provided valid consent to collect, store, and/or process the piece of personal data; (4) in response to determining that the data subject has provided valid consent, storing the piece of personal data in any manner described herein; and (5) in response to determining that the data subject has not provided valid consent, deleting the piece of personal data (e.g., not store the piece of personal data).
  • In particular embodiments, in response to determining that the data subject has not provided valid consent, the system may be further configured to: (1) automatically determine where the data subject's personal data is stored (e.g., by the first party system); and (2) in response to determining the location of the data (which may be on multiple computing systems), automatically facilitate the deletion of the data subject's personal data from the various systems (e.g., by automatically assigning a plurality of tasks to delete data across multiple business systems to effectively delete the data subject's personal data from the systems). In particular embodiments, the step of facilitating the deletion may comprise, for example: (1) overwriting the data in memory; (2) marking the data for overwrite; (2) marking the data as free (e.g., and deleting a directory entry associated with the data); and/or (3) any other suitable technique for deleting the personal data.
  • Next, at optional step 3760, the system is configured to take one or more actions based at least in part on the data stored in association with the unique identifier. In particular embodiments, the one or more actions may include, for example, responding to a data subject access request initiated by a data subject (e.g., or other individual on the data subject's behalf) associated with the unique identifier. In various embodiments, the system is configured to identify the unique identifier associated with the data subject making the data subject access request based on information submitted as part of the request.
  • Consent Receipt Management Systems
  • In particular embodiments, any entity (e.g., organization, company, etc.) that collects, stores, processes, etc. personal data may require one or more of: (1) consent from a data subject from whom the personal data is collected and/or processed; and/or (2) a lawful basis for the collection and/or processing of the personal data. In various embodiments, the entity may be required to, for example: (1) demonstrate that a data subject has freely given specific, informed, and unambiguous indication of the data subject's agreement to the processing of his or her personal data (e.g., in the form of a statement or clear affirmative action); (2) demonstrate that the entity received consent from a data subject in a manner clearly distinguishable from other matters (e.g., in an intelligible and easily accessible form, using clear and plain language, etc.); (3) enable a data subject to withdraw consent as easily as the data subject can give consent; (4) separate a data subject's consent from performance under any contract unless such processing is necessary for performance under the contract; etc.
  • In various embodiments, a consent receipt management system may be implemented in the context of any suitable privacy management system that is configured to ensure compliance with one or more legal or industry standards related to the collection and/or storage of private information (e.g., such as personal data). Various privacy and security policies (e.g., such as the European Union's General Data Protection Regulation, and other such policies) may provide data subjects (e.g., individuals, organizations, or other entities) with certain rights related to the data subject's personal data that is collected, stored, or otherwise processed by an organization. These rights may include, for example: (1) a right to erasure of the data subject's personal data (e.g., in cases where no legal basis applies to the processing and/or collection of the personal data; (2) a right to withdraw consent to the processing and/or collection of their personal data; (3) a right to receive the personal data concerning the data subject, which he or she has provided to an entity (e.g., organization), in a structured, commonly used and machine-readable format; and/or (4) any other right which may be afforded to the data subject under any applicable legal and/or industry policy.
  • In particular embodiments, the consent receipt management system is configured to: (1) enable an entity to demonstrate that valid consent has been obtained for each particular data subject for whom the entity collects and/or processes personal data; and (2) enable one or more data subjects to exercise one or more rights described herein.
  • The system may, for example, be configured to track data on behalf of an entity that collects and/or processes persona data related to: (1) who consented to the processing or collection of personal data (e.g., the data subject themselves or a person legally entitled to consent on their behalf such as a parent, guardian, etc.); (2) when the consent was given (e.g., a date and time); (3) what information was provided to the consenter at the time of consent (e.g., a privacy policy, what personal data would be collected following the provision of the consent, for what purpose that personal data would be collected, etc.); (4) how consent was received (e.g., one or more copies of a data capture form, webform, etc. via which consent was provided by the consenter); (5) when consent was withdrawn (e.g., a date and time of consent withdrawal if the consenter withdraws consent); and/or (6) any other suitable data related to receipt or withdrawal of consent.
  • In further embodiments, the system may be configured to provide data subjects with a centralized interface that is configured to: (1) provide information regarding each of one or more valid consents that the data subject has provided to one or more entities related to the collection and/or processing of their personal data; (2) provide one or more periodic reminders regarding the data subject's right to withdraw previously given consent (e.g., every 6 months in the case of communications data and metadata, etc.); (3) provide a withdrawal mechanism for the withdrawal of one or more previously provided valid consents (e.g., in a format that is substantially similar to a format in which the valid consent was given by the data subject); (4) refresh consent when appropriate (e.g., the system may be configured to elicit updated consent in cases where particular previously validly consented to processing is used for a new purpose, a particular amount of time has elapsed since consent was given, etc.).
  • In particular embodiments, the system is configured to manage one or more consent receipts between a data subject and an entity. In various embodiments, a consent receipt may include a record (e.g., a data record stored in memory and associated with the data subject) of consent, for example, as a transactional agreement where the data subject is already identified or identifiable as part of the data processing that results from the provided consent. In any embodiment described herein, the system may be configured to generate a consent receipt in response to a data subject providing valid consent. In some embodiments, the system is configured to determine whether one or more conditions for valid consent have been met prior to generating the consent receipt.
  • Exemplary Consent Receipt Data Flow
  • FIG. 38 depicts an exemplary data flow that a consent receipt management system may utilize in the recordation and management of one or more consent receipts. In particular embodiments, a third party consent receipt management system may be configured to manage one or more consent receipts for a particular entity. As may be understood from this figure, a data subject may access an interaction interface (e.g., via the web) for interacting with a particular entity (e.g., one or more entity systems). The interaction interface (e.g., user interface) may include, for example, a suitable website, web form, user interface etc. The interaction interface may be provided by the entity. Using the interaction interface, a data subject may initiate a transaction with the entity that requires the data subject to provide valid consent (e.g., because the transaction includes the processing of personal data by the entity). The transaction may include, for example: (1) accessing the entity's website; (2) signing up for a user account with the entity; (3) signing up for a mailing list with the entity; (4) a free trial sign up; (5) product registration; and/or (6) any other suitable transaction that may result in collection and/or processing personal data, by the entity, about the data subject.
  • As may be understood from this disclosure, any particular transaction may record and/or require one or more valid consents from the data subject. For example, the system may require a particular data subject to provide consent for each particular type of personal data that will be collected as part of the transaction. The system may, in various embodiments, be configured to prompt the data subject to provide valid consent, for example, by: (1) displaying, via the interaction interface, one or more pieces of information regarding the consent (e.g., what personal data will be collected, how it will be used, etc.); and (2) prompt the data subject to provide the consent.
  • In response to the data subject (e.g., or the entity) initiating the transaction, the system may be configured to: (1) generate a unique receipt key (e.g., unique receipt ID); (2) associate the unique receipt key with the data subject (e.g., a unique subject identifier), the entity, and the transaction; and (3) electronically store (e.g., in computer memory) the unique receipt key. The system may further store a unique user ID (e.g., unique subject identifier) associated with the data subject (e.g., a hashed user ID, a unique user ID provided by the data subject, unique ID based on a piece of personal data such as an e-mail address, etc.).
  • In a particular embodiment, the unique consent receipt key is generated by a third party consent receipt management system. The system may then be configured to associate the unique consent receipt key with the interaction interface, and further configured to associate the unique consent receipt key with a unique transaction ID generated as a result of a data subject transaction initiated via the interaction interface.
  • In particular embodiments, the unique consent receipt key may be associated with one or more receipt definitions, which may include, for example: (1) the unique transaction ID; (2) an identity of one or more controllers and/or representatives of the entity that is engaging in the transaction with the data subject (e.g., and contact information for the one or more controllers); (3) one or more links to a privacy policy associated with the transaction at the time that consent was given; (4) a listing of one or more data types for which consent to process was provided (e.g., email, MAC address, name, phone number, browsing history, etc.); (5) one or more methods used to collect data for which consent to process was provided (e.g., using one or more cookies, receiving the personal data from the data subject directly, etc.); (6) a description of a service (e.g., a service provided as part of the transaction such as a free trial, user account, etc.); (7) one or more purposes of the processing (e.g., for marketing purposes, to facilitate contact with the data subject, etc.); (8) a jurisdiction (e.g., the European Union, United States, etc.); (9) a legal basis for the collection of personal data (e.g., consent); (10) a type of consent provided by the data subject (e.g. unambiguous, explicit, etc.); (11) one or more categories or identities of other entities to whom the personal data may be transferred; (12) one or more bases of a transfer to a third party entity (e.g., adequacy, binding corporate rules, etc.); (13) a retention period for the personal data (e.g., how long the personal data will be stored); (14) a withdrawal mechanism (e.g., a link to a withdrawal mechanism); (15) a timestamp (e.g., date and time); (16) a unique identifier for the receipt; and/or (17) any other suitable information. FIG. 39 depicts an exemplary consent definition summary for a particular transaction (e.g., free trial signup).
  • In response to receiving valid consent from the data subject, the system is configured to transmit the unique transaction ID and the unique consent receipt key back to the third party consent receipt management system for processing and/or storage. In other embodiments, the system is configured to transmit the transaction ID to a data store associated with one or more entity systems (e.g., for a particular entity on behalf of whom the third party consent receipt management system is obtaining and managing validly received consent). In further embodiments, the system is configured to transmit the unique transaction ID, the unique consent receipt key, and any other suitable information related to the validly given consent to the centralized data repository system described above for use in determining whether to store particular data and/or for assigning a unique identifier to a particular data subject for centralized data repository management purposes.
  • The system may be further configured to transmit a consent receipt to the data subject which may include, for example: (1) the unique transaction ID; (2) the unique consent receipt key; and/or (3) any other suitable data related to the validly provided consent. In some embodiments, the system is configured to transmit a consent receipt in any suitable format (e.g., JSON, HTML, e-mail, text, cookie, etc.). In particular embodiments, the receipt transmitted to the data subject may include a link to a subject rights portal via which the data subject may, for example: (1) view one or more provided valid consents; (2) withdraw consent; (3) etc.
  • Exemplary Data Subject Consent Receipt User Experience
  • FIGS. 40 and 41 depict exemplary screen displays that a data subject may encounter when providing consent to the processing of personal data. As shown in FIG. 40 , a data subject (e.g., John Doe) may provide particular personal data (e.g., first and last name, email, company, job title, phone number, etc.) when signing up for a free trial with a particular entity via a trial signup interface 4000. As may be understood in light of this disclosure, the free trial may constitute a transaction between the data subject (e.g., user) and a particular entity providing the free trial. In various embodiments, the data subject (e.g., user) may encounter the interface shown in FIG. 40 in response to accessing a website associated with the particular entity for the free trial (e.g., a sign up page).
  • In particular embodiments, the interface 4000 is configured to enable the user (e.g., data subject) to provide the information required to sign up for the free trial. As shown in FIG. 40 , the interface further includes a listing of particular things that the data subject is consenting to (e.g., the processing of first name, last name, work email, company, job title, and phone number) as well as one or more purposes for the processing of such data (e.g., marketing information). The interface further includes a link to a Privacy Policy that governs the use of the information.
  • In various embodiments, in response to the user (e.g., data subject) submitting the webform shown in FIG. 40 , the system is configured to generate a consent receipt that memorializes the user's provision of the consent (e.g., by virtue of the user submitting the form). FIG. 41 depicts an exemplary consent receipt 4100 in the form of a message transmitted to the data subject (e.g., via e-mail). As shown in this figure, the consent receipt includes, for example: (1) a receipt number (e.g., a hash, key, or other unique identifier); (2) what information was processed as a result of the user's consent (e.g., first and last name, email, company, job title, phone number, etc.); (3) one or more purposes of the processing (e.g., marketing information); (4) information regarding withdrawal of consent; (5) a link to withdraw consent; and (6) a timestamp at which the system received the consent (e.g., a time at which the user submitted the form in FIG. 40 ). In other embodiments, the consent receipt transmitted to the user may include any other suitable information.
  • FIG. 42 depicts an exemplary log of consent receipts 4200 for a particular transaction (e.g., the free trial signup described above). As shown in this figure, the system is configured to maintain a database of consent receipts that includes, for example, a timestamp of each receipt, a unique key associated with each receipt, a customer ID associated with each receipt (e.g., the customer's e-mail address), etc. In particular embodiments, the centralized data repository system described above may be configured to cross-reference the database of consent receipts (e.g., or maintain the database) in response to receiving the indication that a first party system has received, stored, and/or processed personal data (e.g., via the free trial signup interface) in order to confirm that the data subject has provided valid consent prior to storing the indication of the personal data.
  • Exemplary Transaction Creation User Experience
  • FIGS. 43-54 depict exemplary user interfaces via which a user (e.g., a controller or other individual associated with a particular entity) may create a new transaction for which the system is configured to generate a new interaction interface (e.g., interface via which the system is configured to elicit and receive consent for the collection and/or processing of personal data from a data subject under the new transaction.
  • As shown in FIG. 43 , the system is configured to display a dashboard of existing transactions 4300 that are associated with a particular entity. In the example shown in this figure, the dashboard includes, for example: (1) a name of each transaction; (2) a status of each transaction; (2) one or more data categories collected as part of each transaction; (3) a unique subject ID used as part of the transaction (e.g., email, device ID, etc.); (4) a creation date of each transaction; (5) a date of first consent receipt under each transaction; and (6) a total number of receipts received for each transaction. The dashboard further includes a Create New Transaction button, which a user may select in order to create a new transaction.
  • As may be understood in light of this disclosure, in various embodiments, the centralized data repository system described above may limit storage of personal data on behalf of a particular entity to specific personal data for which the particular entity has received consent from particular data subjects. Based on the exemplary dashboard of existing transactions shown in FIG. 43 , for example, the system may be configured to not store any personal data collected, and/or processed other than in response to an indication that the data was collected through the free trial signup or product registration transaction.
  • FIG. 44 depicts an interface 4400 for creating a new transaction, which a user may access, for example, by selecting the Create New Transaction button shown in FIG. 43 . As may be understood from this figure, when creating a new transaction, the user may enter, via one or more text entry forms, a name of the transaction, a description of the transaction, a group associated with the transaction, and/or any other suitable information related to the new transaction.
  • Continuing to FIG. 45 , the system may be configured to prompt the user to select whether the new transaction is based on an existing processing activity. An existing processing activity may include, for example, any other suitable transaction or any other activity that involves the collection and/or processing of personal data. In response to the user selecting that the new transaction is not related to an existing processing activity (e.g., as shown in FIG. 45 ), the system may be configured to prompt the user, via one or more additional interfaces, to provide information regarding the new transaction.
  • FIGS. 47-54 depict exemplary user interfaces via which the user may provide additional information regarding the new transaction. In various embodiments, the system may be configured to prompt the user to provide the information via free-form text entry, via one or more drop down menus, by selecting one or more predefined selections, or in any suitable manner. In some embodiments, the system is configured to prompt the user to provide one or more standardized pieces of information regarding the new transaction. In other embodiments, the system is configured to enable a particular entity (e.g., organization, company, etc.) to customize one or more questions or prompts that the system displays to a user creating a new transaction.
  • As shown in FIG. 46 , the system may, for example, prompt the user, via the user interface, to: (1) describe a process or service that the consent under the transaction relates to; (2) provide a public URL where consent is or will be collected; (3) provide information regarding how consent is being collected (e.g., via a website, application, device, paper form, etc.); (4) provide information regarding one or more data elements that will be processed based on the consent provided by the data subject (e.g., what particular personal data will be collected); and (5) provide information regarding what data elements are processed by one or more background checks (e.g., credit check and/or criminal history).
  • Continuing to FIG. 47 , the system may be configured to prompt the user to provide data related to, for example: (1) one or more elements that will be used to uniquely identify a data subject; (2) a purpose for seeking consent; (3) what type of consent is sought (e.g., unambiguous, explicit, not sure, etc.); (4) who is the data controller in charge of the processing of the personal data (e.g., the legal entity responsible); (5) a contact address (e.g., for the data controller; (6) etc.
  • As shown in FIG. 48 , the system may be further configured to prompt the user to provide data regarding, for example: (1) who the contact person is for the transaction (e.g., a job title, name, etc. of the contact person); (2) a contact email (e.g., an email address that a data subject can contact to get more information about the transaction, consent, etc.); (3) a contact telephone number (e.g., a telephone number that a data subject can contact to get more information about the transaction, consent, etc.); (4) an applicable jurisdiction for the processing (e.g., European Union, United States, Other, etc.), which may include one or more jurisdictions; (5) a URL of a privacy policy associated with the transaction; (6) etc.
  • Next, as shown in FIG. 49 , the system may be further configured to prompt the user to provide data regarding: (1) whether the personal data will be shared with one or more third parties; (2) a name of the one or more third parties; (3) whether the processing of the personal data will involve a transfer of the personal data outside of the original jurisdiction; (4) a listing of one or more destination countries, regions, or other jurisdictions that will be involved in any international transfer; (5) a process for a data subject to withdraw consent; (6) a URL for the withdrawal mechanism; (7) etc. FIG. 50 depicts a user interface that includes additional data prompts for the user to respond to regarding the new transaction. As shown in FIG. 50 , the system may be further configured to prompt the user to provide data regarding, for example: (1) what the retention period is for the personal data (e.g., how long the personal data will be stored in identifiable form, a period before anonymization of the personal data, etc.); and/or (2) a life span of the consent (e.g., a period of time during which the consent is assumed to be valid).
  • FIG. 51 shows an exemplary user interface for selecting a processing activity in response to the user indicating that the new transaction is based on an existing processing activity. The user may, for example, use a drop down menu to select a suitable existing processing activity. In particular embodiments, the system is configured to populate the drop down menu with one or more processing activities from a data model associated with the processing activity. The system may then be configured to substantially automatically populate one or more responses to the questions described above based at least in part on the data model (e.g., automatically include particular data elements collected as part of the processing activity, etc.).
  • In particular embodiments, the system is further configured to enable a controller (e.g., or other user on behalf of the entity) to search for one or more consent receipts received for a particular data subject (e.g., via a unique subject identifier). FIG. 52 depicts a search for a unique subject identifier that includes an e-mail address. As shown in this figure, the unique subject identifier (e.g., john.doe@gmail.com) has one associated consent receipt having a receipt number, a receipt date and time, and a withdrawal date. FIG. 53 depicts an additional exemplary search results page indicating one or more results for consent receipts associated with the unique subject identifier of john.doe@gmail.com. As shown in this figure, the system may be configured to display a process name (e.g., transaction name), receipt number, consent date, status, withdrawal date, and other suitable information for one or more consent receipts associated with the searched for unique subject identifier.
  • As may be understood in light of this disclosure, in response to a user creating a new transaction, the system may be configured to generate a web form, web page, piece of computer code, etc. for the collection of consent by a data subject as part of the new transaction. FIG. 54 depicts an exemplary dashboard of consent receipt management implementation code which the system may automatically generate for the implementation of a consent receipt management system for a particular transaction. As shown in this figure, the system displays particular computer code (e.g., in one or more different programming language) that the system has generated. A user may place the generated code on a webpage or other location that the user desires to collect consent.
  • Repository of Application Privacy Analysis Data
  • An application privacy analysis system, in various embodiments, is configured to provide a data-storage repository (e.g., one or more servers, databases, etc.) for the storage of application privacy analysis data for one or more particular software applications (e.g., one or more mobile device software applications). In particular embodiments, the application privacy analysis data repository may enable the system to populate one or more data models (e.g., using one or more suitable techniques described above) substantially on-the-fly (e.g., as the system generates, collects, processes, stores, etc. application privacy analysis data regarding a particular application). In this way, in particular embodiments, the system is configured to maintain a substantially up-to-date data model for a plurality of applications (e.g., each particular application for which the system generates, collects, processes, stores, etc. application privacy analysis data). The system may then be configured to substantially automatically respond to one or more data access requests by one or more systems and devices, for example, using the substantially up-to-date data model. In particular embodiments, the system may be configured to respond to the one or more data access requests using any suitable technique described herein.
  • As may be understood in light of this disclosure, a particular organization may undertake a plurality of different privacy campaigns, processing activities, etc. for which data regarding the collection and storage of personal data or personal information by applications operating on data subject devices or consumer devices may be of use. Application developers may not readily or reliably provide personal data or personal information access and/or collection capability information about their applications. In some embodiments, an application privacy analysis system may analyze applications to determine the personal data and/or personal information collection capabilities of such applications. An application privacy analysis system may also analyze software applications to determine how each application accesses, requests, access to, or otherwise collects any information that may be personal and/or private to a data subject or consumer. For example, an application privacy analysis system may analyze an application to determine the device component access permissions that the application requires or requests, such as permissions to access device hardware (e.g., camera, microphone, receiver, transmitter, etc.) and/or permissions to access device data (contacts, calendar, location, photos, etc.). An application privacy analysis system may also, or instead, analyze an application to determine the device storage, if any, that the application may require and/or request access to (e.g., shared data, application database, key data, device data, etc.). The results of such analysis may be stored in a data repository. Utilizing and maintaining a data repository for application privacy analysis data may enable the system to quickly and accurately respond to requests related to mobile application privacy analysis data. In particular embodiments, the application privacy analysis repository may include one or more third party data repositories (e.g., one or more third party data repositories maintained on behalf of a particular entity that generates, collects, stores, and/or processes application privacy analysis data).
  • In various embodiments, an application privacy analysis system is configured to facilitate the analysis of applications (e.g., mobile device applications), the generation of application privacy analysis data, and the storage of mobile application privacy analysis data for each of a plurality of applications. In particular embodiments, the system may be configured to: (1) receive or otherwise acquire an application; (2) analyze the application to determine its privacy-related attributes; and (3) store application privacy analysis data in a suitable data format (e.g., a data model, a reference table, etc.) for later retrieval. In particular embodiments, privacy-related attributes may include device component access and/or storage permissions that an application may require or request. Privacy-related attributes may also include recipients of personal data, personal information, and/or other data collected by a software application. Privacy-related attributes may also include specific personal information, types of personal information, and/or any indicators thereof.
  • In particular embodiments, the system may be configured to statically analyze an application by, for example: (1) loading the application (e.g., acquiring the application software and storing it into a computer memory); (2) determining specific identifying information for the application; (3) determining whether information about the application's privacy-related attributes is available in a database; (4) if information about the application's privacy-related attributes is available in the database, using that information to determine application privacy analysis data for that application; and (5) digitally storing the application privacy analysis data in one or more suitable data stores. In particular embodiments, the system is configured to store the application privacy analysis data associated with a particular application in association with a unique application identifier. The system may store specific identifying information for an application and associate such information with the unique application identifier. The system may include the application's name, publisher, version number, serial code, any other identifying data, or any combination thereof as identifying information for the application. The system may perform searches based on such identifying information, including performing searches using hashing. The system may set and/or transmit a flag or other indicator indicating that the application should be dynamically analyzed. The system may determine to set and/or transmit such a flag based on a failure to locate the application in a database of application privacy analysis data or for any other reason.
  • In particular embodiments, the system may be configured to dynamically analyze an application by, for example: (1) loading the application (e.g., acquiring the application software and storing it into a computer memory); (2) executing the application and providing, as input to the application, test, or “dummy” data to initiate communications between the application and any other devices or systems; (3) inspecting communications data (e.g., network traffic) exchanged between the application and any other devices or systems; (4) determining the privacy-related attributes and/or characteristics of the inspected communications data to generate application privacy analysis data; and (5) digitally storing the application privacy analysis data in one or more suitable data stores. In particular embodiments, the system is configured to store the application privacy analysis data associated with a particular application in association with a unique application identifier. The system may store specific privacy-related attributes and/or characteristics determined based on dynamic analysis of a particular application and associate such information with the associated unique application identifier. The system may include, as such specific privacy-related attributes and/or characteristics of a dynamically analyzed application, one or more geographic locations (city, county, state, country, zip code, etc.), identities, IP addresses, MAC addresses, and/or other network addresses of other systems and devices with which the application is in communication. Specific privacy-related attributes and/or characteristics determined based on inspected communications may also include one or more types of personal data being sent to other systems and devices with which the application is in communication, as well as any information received from such other systems and devices. Specific privacy-related attributes and/or characteristics determined based on inspected communications may also include one or more types of data elements and/or one or more specific data elements exchanged with other systems and devices with which the application is in communication
  • Exemplary Application Privacy Analysis System Architecture
  • FIG. 55 is a block diagram of an Application Privacy Analysis System 5500 according to a particular embodiment. In various embodiments, the Application Privacy Analysis System 5500 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more laws, regulations, or policies related to the collection, transmission, and storage of personal data or personal information. In various other embodiments, the Application Privacy Analysis System 5500 is a stand-alone system that is configured to analyze software applications, such as software applications that are executed on a laptop or desktop computer or on a portable computing device such as a smartphone. Analyzed applications may be applications created by one or more third party application developers, may be provided by one or more application provider servers or other systems, and may be installed on one or more remote devices. The Application Privacy Analysis System 5500 may generate privacy-related information about the capabilities of such applications and may maintain a centralized database of privacy-related application capability information and privacy-related attributes and/or characteristics for such applications.
  • As may be understood from FIG. 55 , the Application Privacy Analysis System 5500 includes One or More Computer Networks 115 (for example, as described herein in regard to FIG. 1 ), One or More Application Privacy Analysis Data Repository Servers 5510, an Application Privacy Scanning Server 5520, One or More Third Party System Servers 5530, One or More Databases 140 (for example, as described herein in regard to FIG. 1 ) or other data structures, and One or More Remote Data Subject Computing Devices 5550 (e.g., a smartphone, desktop computer, laptop computer, tablet computer, etc. Although in the embodiment shown in FIG. 55 , the One or More Application Privacy Data Repository Servers 5510, Application Privacy Scanning Server 5520, One or More Third Party System Servers 5530, One or More Databases 140 or other data structures, and One or More Remote Data Subject Computing Devices 5550 are shown as separate entities, it should be understood that in other embodiments, one or more of these servers, computing devices, and/or entities may comprise a single server, a plurality of servers, one or more cloud-based servers, or any other suitable configuration.
  • In particular embodiments, the One or More Application Privacy Analysis Data Repository Servers 5510 may be configured to store information generated by the Application Privacy Scanning Server 5520, for example storing such information at One or More Databases 140. The Application Privacy Scanning Server 5520 may acquire an application from the One or More Third Party System Servers 5530 and may store, process, execute, and/or analyze such an application as described herein to generate privacy-related capability information for the application. The One or More Application Privacy Analysis Data Repository Servers 5510 and the One or More Third Party System Servers 5530 may, for example, interface via a suitable application programming interface (API), direct connection, etc. The Application Privacy Scanning Server 5520 may, alternatively, acquire an application from the One or More Remote Data Subject Computing Devices 5550 and may store, process, execute, and/or analyze such an application as described herein to generate privacy-related capability information for the application. The One or More Application Privacy Analysis Data Repository Servers 5510 and the One or More Remote Data Subject Computing Devices 5550 may, for example, interface via a suitable application programming interface, direct connection, etc. The Application Privacy Scanning Server 5520 may store generated privacy-related capability information for an application for later retrieval, for example, at the One or More Application Privacy Data Repository Servers 5510. The One or More Application Privacy Analysis Data Repository Servers 5510 and the Application Privacy Scanning Server 5520 may, for example, interface via a suitable application programming interface, direct connection, etc. In a particular embodiment, the Application Privacy Scanning Server 5520 may incorporate the One or More Application Privacy Data Repository Servers 5510.
  • In a particular example, the One or More Remote Data Subject Computing Devices 5550 may provide an application, or an indication of an application, configured on the One or More Remote Data Subject Computing Devices 5550, to the Application Privacy Scanning Server 5520. Alternatively, the Application Privacy Scanning Server 5520 may acquire information regarding an application via other means, such as directly from the One or More Third Party System Servers 5530 that may provide the application, and acquire the application using such information. The system may, upon retrieval or receipt of an application at the Application Privacy Scanning Server 5520, analyze the application to generate privacy-related capability information (e.g., specific privacy-related attributes and/or characteristics) for the application and transmit data representing the privacy-related capability information for the application to the One or More Application Privacy Data Repository Servers 5510. The One or More Application Privacy Analysis Data Repository Servers 5510 may process such data and/or may store such data in a centralized data storage location (e.g., at the One or More Databases 140, the One or More Application Privacy Data Repository Servers 5510, etc.).
  • Exemplary Application Privacy Analysis System
  • FIG. 56 is a block diagram of an exemplary Application Privacy Analysis System 5600 according to a particular embodiment. Note that the functions, modules, and components of the Application Privacy Analysis System 5600 may be implemented in conjunction with, encompassing, or as part of any other disclosed systems and devices, such as the Application Privacy Analysis System 5500. The Application Privacy Analysis System 5600 may be part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more laws, regulations, and/or policies related to the collection, transmission, and storage of personal data and/or personal information. In various other embodiments, the Application Privacy Analysis System 5600 may be a stand-alone system that is configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications (e.g., determine privacy-related attributes and/or characteristics of such applications), and maintain a centralized database of privacy-related application capability information.
  • The Application Privacy Analysis System 5600 may have an App Intake Module 5610 that may load or otherwise prepare a software application (e.g., a mobile device application or other software application) for analysis and/or execution. The Application Privacy Analysis System 5600 may acquire an application from a third-party system that hosts, generates, or otherwise provides the application. The Application Privacy Analysis System 5600 may use identifying information about an application that it obtained from a data subject computing device or a consumer computing device to acquire the application from a third-party system that hosts, generates, or otherwise provides the application. In an alternative embodiment, the Application Privacy Analysis System 5600 may acquire an application from a data subject computing device or a consumer computing device itself.
  • The Application Privacy Analysis System 5600 may include a Decompiler Module 5620 that may deconstruct an acquired application for analysis. The Decompiler Module 5620 can reduce the application to source code, assembly language, machine code, and/or some other interpretation of the functions of the application, or an approximation thereof. The Application Privacy Analysis System 5600 may have a Static Analysis Module 5630 that may use the output of the Decompiler Module 5620 to perform analysis of the application based on the application code or the approximation of the application code. The Static Analysis Module 5630 scans the application code for various privacy-related attributes and/or characteristics. For example, the Static Analysis Module 5630 may scan the application code to determine whether the application collects, requests, or otherwise attempts to access personal data and/or personal information.
  • The Static Analysis Module 5630 may also, or instead, scan the application code to determine whether and how the code may use permissions to gain access to one or more device components (e.g., access to a camera, microphone, contacts, calendar, photographs, location, etc.) and device storage (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), any storage that may be configured with personal data and/or personal information, storage preferences, etc.). The Static Analysis Module 5630 may also scan the application code to determine whether and how the code may share application-generated data or data subject computing device originated data (e.g., personal information) with other remote and or local entities (e.g., other applications, other systems, web services, etc.). Where any data is shared, the Static Analysis Module 5630 also attempts to determine where such data is being sent. For example, the Static Analysis Module 5630 may determine a geographical destination location, such as a city, county, state, country, zip code, etc. Alternatively, or in the process of determining a geographical destination, the Static Analysis Module 5630 may determine a destination network address, such as an IP addresses, a MAC address, other network address, network identifier, etc. Upon determining a destination network address for data shared by the application, the system may use that network address to determine a geographical location, for example, by using network look-up techniques that associate network addresses with geographical locations.
  • In various embodiments, the Static Analysis Module 5630 may scan the application code to determine any application programming interface (API) calls that are made by the code. The system may analyze such API calls to determine the mobile application's access to, and use of, various privacy-related attributes and/or characteristics. For example, the Static Analysis Module 5630 may analyze the API calls to determine whether the application collects, requests, or otherwise attempts to access personal data and/or personal information, the permissions the application requests and/or has been granted, the data that the application has access to on the mobile device, the components or hardware which the application has access, etc.
  • In various embodiments, the Application Privacy Analysis System 5600 may use a determined geographical destination of shared data to determine potentially applicable privacy laws and regulations. For example, the Application Privacy Analysis System 5600 may determine that data is being sent to Europe and may then determine that the GDPR is applicable to this data transfer. In another example, the Application Privacy Analysis System 5600 may determine that data is being sent to California and may then determine that the California Consumer Privacy Act (CCPA) is applicable to this data transfer. The Application Privacy Analysis System 5600 may also, or instead, use a location of the mobile device executing the application to determine applicable laws and regulations. The system, based on a location of the mobile device executing the application and/or a destination of data being transmitted by the application, may take corresponding actions and generated records related to privacy law and regulation compliance as described herein.
  • In an embodiment, the Application Privacy Analysis System 5600 may have a Dynamic Analysis Module 5640 that may perform analysis of the application as the application executes. The Dynamic Analysis Module 5640 inspects the communications data and metadata (e.g., network traffic) transmitted and received by the application for privacy-related attributes and/or characteristics. For example, the Dynamic Analysis Module 5640 may inspect communications data and metadata originating from the application and/or directed to the application to determine whether this data includes any personal data or personal information. The Dynamic Analysis Module 5640 may also inspect the communications data and metadata to determine whether such data indicates how device storage is accessed and protected (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), storage preferences, etc.). The Dynamic Analysis Module 5640 may also inspect the communications data and metadata to determine whether and how the application is sharing application-generated data or data subject computing device originated data with other remote and or local entities (e.g., other applications, other systems, web services, etc.). The Dynamic Analysis Module 5640 may also determine where any shared data is being sent (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.). The Dynamic Analysis Module 5640 may also determine whether and how any data elements are being used based on the communications data. To perform this dynamic analysis, the Dynamic Analysis Module 5640 may feed data (e.g., “dummy” data) to the application as it executes the application and analyzes the output of the application using any of various means, such as network and device diagnostic tools, traffic sniffers, traffic analysis tools, etc.
  • In an embodiment, the Application Privacy Analysis System 5600 may have, or may access, one or more Third-Party Software Development Kit (SDK) Databases 5650 that contain information about known development tools that may have been used to develop the application under analysis. Such Third-Party SDK Databases 5650 may also, or instead, contain information about the application itself. The Application Privacy Analysis System 5600 may determine a source for the SDK, such as a platform, creator, or provider of the SDK (e.g., FACEBOOK, GOOGLE, etc.) Upon determining or obtaining identifying information about the application under analysis, the Application Privacy Analysis System 5600 may use such information to query the Third-Party SDK Databases 5650 for privacy-related information about the application. The Application Privacy Analysis System 5600 may perform such one or more queries during static analysis, dynamic analysis, or both. For example, either or both of the Static Analysis Module 5630 and the Dynamic Analysis Module 5640 may query the Third-Party SDK Databases 5650 for privacy-related information about the application under analysis. In a particular embodiment, the Static Analysis Module 5630 may query the Third-Party SDK Databases 5650 for privacy-related information about the application under analysis and, based upon the results of such one or more queries, the Static Analysis Module 5630 may set a flag or provide some other indication that the Dynamic Analysis Module 5640 should analyze the application.
  • In an embodiment, the Application Privacy Analysis System 5600 may have, or may access, a Privacy Analysis Database 5660 in which it may store the results of the analysis of the application. The Application Privacy Analysis System 5600 may store all, or any subset of, results of the analyses performed by either or both of the Static Analysis Module 5630 and the Dynamic Analysis Module 5640, any related data, and any representations and indications of such results and data at the Privacy Analysis Database 5660. In a particular embodiment, the Application Privacy Analysis System 5600 generates one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. In another embodiment, the Application Privacy Analysis System 5600 generates one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. Such scores and recommendations may also be stored at the Privacy Analysis Database 5660.
  • The system may present a score for an application and may present rankings of multiple scores and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface. The system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high-risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications.
  • Exemplary Static Privacy Analysis System
  • A more detailed static privacy analysis system example will now be described. FIG. 57 is a block diagram of a Static Privacy Analysis System 5700 according to a particular embodiment. Note that the functions, modules, and components of the Static Privacy Analysis System 5700 may be implemented in conjunction with, encompassing, or as part of any other disclosed systems and devices, such as the Application Privacy Analysis System 5500 and the Application Privacy Analysis System 5600. In various embodiments, the Static Privacy Analysis System 5700 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more legal or industry regulations related to the collection, transmission, and storage of personal data. In various other embodiments, the Static Privacy Analysis System 5700 is a stand-alone system that is configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications, and maintain a centralized database of privacy-related application capability information.
  • The Static Privacy Analysis System 5700 may analyze an Application 5710, which may be, in an example, a decompiled Application 5710. The decompiled Application 5710 may include application source code, associated assembly language, associated machine code, or any other interpretation of the functions, inputs, and outputs of the application 5710, or any approximation thereof. The Static Privacy Analysis System 5700 may also analyze a Third-Party SDK 5715 used to generate Application 5710. The Static Privacy Analysis System 5700 may determine one or more Third-Party SDKs 5715 used to generate Application 5710 by using identifying information for Application 5710 to query Third-Party SDK Databases 5720, for example, as described herein in regard to other embodiments.
  • The Static Privacy Analysis System 5700 scans the application 5710 and Third-Party SDK 5715 for various privacy-related functions, attributes, and characteristics. For example, the Static Privacy Analysis System 5700 may determine, based on the decompiled Application 5710, whether the application 5710 references any personal data or personal information. The Static Privacy Analysis System 5700 also determines how application 5710 and Third-Party SDK 5715 interact with an Operating System (OS) 5730. In a particular embodiment, OS 5730 may be any operating system that may be used on a computing device, such as any computing device of any Data Subject 5701. For example, OS 5730 may be an OS of a smartphone, desktop computer, laptop computer, tablet computer, etc.
  • The Static Privacy Analysis System 5700 scans the application 5710 and Third-Party SDK 5715 for to determine whether and how the application 5710 and Third-Party SDK 5715 may use or access Device Component Privacy Permissions 5732 (e.g., permissions for access to a camera, microphone, photographs, location, calendar, contacts, etc.) and Device Storage 5734 (e.g., shared storage, an application database, key/chain and/or other authentication information (e.g., private key information, public key information, blockchain information, etc.), advertising identifiers and related settings, encrypted storage, unencrypted storage, storage preferences, etc.). The Static Analysis Module 5700 may also scan the application 5710 and Third-Party SDK 5715 to determine whether and how the application may call, or be configured as, an “open into” application that executes within another application (e.g., allowing the application to operate under the permissions of another application). The Static Analysis Module 5700 may also analyze API calls made by the application 5710 and/or Third-Party SDKs 5715 to determine any access to, and use of, various privacy-related attributes and/or characteristics.
  • In various embodiments, the Static Analysis Module 5700 may also analyze API calls made by the application 5710 and/or Third-Party SDKs 5715, the permissions requested and/or granted to the application 5710 and/or Third-Party SDKs 5715, and any other portions of the application 5710 and/or Third-Party SDKs 5715 to determine whether and to where any data may be transmitted by the application 5710. The system may use this geographical information to determine the applicable laws and regulation and take corresponding actions as described herein.
  • In a particular embodiment, the Static Privacy Analysis System 5700 may determine, based on the results of the analysis of the application 5710 and Third-Party SDK 5715, that the application requires additional analysis, for example, dynamic privacy analysis. In such an embodiment, the Static Privacy Analysis System 5700 may set a flag or provide some other indication to a privacy analysis system or module that dynamic privacy analysis is needed for the application.
  • In an embodiment, the Static Privacy Analysis System 5700 may have, or may access, a Privacy Analysis Database 5760 in which it may store the results of the static analysis of the application. The Static Privacy Analysis System 5700 may store all, or any subset of, results of its analysis, data elements used by Application 5710, any related data, and any representations and indications of such results and data at the Privacy Analysis Database 5760. In a particular embodiment, the Static Privacy Analysis System 5700 generates one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. In another embodiment, the Static Privacy Analysis System 5700 generates one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. Such scores and recommendations may also be stored at the Privacy Analysis Database 5760.
  • The system may present a score or recommendation for an application based on the analysis performed by the Static Privacy Analysis System 5700, and may present rankings of multiple scores/recommendations and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface. The system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications.
  • Exemplary Dynamic Privacy Analysis System
  • A more detailed dynamic privacy analysis system example will now be described. FIG. 58 is a block diagram of a Dynamic Privacy Analysis System 5800 according to a particular embodiment. Note that the functions, modules, and components of the Dynamic Privacy Analysis System 5800 may be implemented in conjunction with, encompassing, or as part of any other disclosed systems and devices, such as the Application Privacy Analysis System 5500 and the Application Privacy Analysis System 5600. In various embodiments, the Dynamic Privacy Analysis System 5800 is part of a privacy compliance system (also referred to as a privacy management system), or other system, which may, for example, be associated with a particular organization and be configured to aid in compliance with one or more laws, regulations, and/or policies related to the collection, transmission, and storage of personal data. In various other embodiments, the Dynamic Privacy Analysis System 5800 is a stand-alone system that is configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications, and maintain a centralized database of privacy-related application capability information.
  • In an embodiment, the Dynamic Privacy Analysis System 5800 may analyze an Application 5810 by executing the application and providing Test Data 5830 (e.g., “dummy data”) as input 5831 to Application 5810. Test Data 5830 may simulate data associated with a data subject, such as Data Subject 5801. Test Data may include any personal data or personal information (e.g., first name and last name, first initial and last name, credit card number, bank account number, other financial account number, social security number, phone number, address, etc.) Application 5810 may be executed using a Network Proxy 5820 and output from the Application 5810 may be inspected using a Traffic Inspection Module 5840. Traffic Inspection Module 5840 may be any network or device diagnostic tool, such as a traffic sniffer, a traffic analysis tool, etc.
  • The Dynamic Privacy Analysis System 5800 inspects the communications data and metadata (e.g., network traffic) generated as output 5811 by the application 5810 and communications data and metadata 5871 received by, or directed to, the application 5810 for privacy-related data and attributes. For example, the Dynamic Privacy Analysis System 5800 may inspect output 5811 and communications data and metadata 5871 to determine whether this data includes any personal data or personal information. The Dynamic Privacy Analysis System 5800 may further inspect output 5811 and communications data and metadata 5871 to determine whether this data indicates whether and how device component permissions are set on a data subject computing device (e.g., permissions for access to a camera, microphone, contacts, calendar, photographs, location, etc.). The Dynamic Privacy Analysis System 5800 may also inspect the communications data and metadata to determine whether such data indicates how device storage is accessed and protected (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information, storage preferences, etc.).
  • In a particular embodiment, the Dynamic Privacy Analysis System 5800 may inspect output 5811 and/or communications data and/or metadata 5871, for example being exchanged via Internet 5870, to determine whether and how the application is sharing application-generated data or data subject computing device originated data (e.g., personal data) with other remote and/or local entities (e.g., other applications, other systems, web services, etc.). For example, the Dynamic Privacy Analysis System 5800 may determine whether traffic from the Application 5810 is being sent to and/or received from Third-Party Web Service 5880 and/or being sent to and/or received from Application Web Service 5890. Either or both of the Third-Party Web Service 5880 and the Application Web Service 5890 may be associated with Application 5810. The Dynamic Privacy Analysis System 5800 may also determine where any shared data is being exchanged with the Application 5810 (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.). The Dynamic Privacy Analysis System 5800 may also determine whether and how any data elements are being used based on the communications data.
  • In various embodiments, upon determining a geographical or jurisdictional destination for output 5811 and/or communications data and metadata 5871, the Dynamic Privacy Analysis System 5800 may use this geographical information to determine the applicable laws and regulation and take corresponding actions as described herein.
  • In a particular embodiment, the Dynamic Privacy Analysis System 5800 scans the application 5810 to determine information that the Dynamic Privacy Analysis System 5800 can use to query a Third-Party SDK Database 5860 to identify any one or more Third-Party SDKs that may have been used to generate the Application 5810. The Dynamic Privacy Analysis System 5800 can then use such SDK-related information to determine how to more effectively analyze communications data and metadata exchanged by the Application 5810. The Dynamic Privacy Analysis System 5800 may also analyze the communications data and metadata exchanged by the Application 5810 to determine whether and how the Application 5810 may call, or be configured as, an “open into” application that executes within another application (e.g., allowing the application to operate under the permissions of another application).
  • In an embodiment, the Dynamic Privacy Analysis System 5800 may have, or may access, a Privacy Analysis Database 5850 in which it may store the results of the static analysis of the application. The Dynamic Privacy Analysis System 5800 may store all, or any subset of, results of its analysis, data elements used by Application 5810, any related data, and any representations and indications of such results and data in the Privacy Analysis Database 5850. In a particular embodiment, Dynamic Privacy Analysis System 5800 generates one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. In another embodiment, the Dynamic Privacy Analysis System 5800 generates one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. Such scores and recommendations may also be stored at the Privacy Analysis Database 5850.
  • The system may present a score or recommendation for an application based on the analysis performed by the Dynamic Privacy Analysis System 5800, and may present rankings of multiple scores/recommendations and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface. The system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications.
  • Privacy Analysis Module
  • FIG. 59 depicts a Privacy Analysis Module 5900 according to a particular embodiment.
  • Various functionality of the Application Privacy Analysis System 5500, the Application Privacy Analysis System 5600, the Static Privacy Analysis System 5700, and the Dynamic Privacy Analysis System 5800 may be implemented via a Privacy Analysis Module 5900. The system, when executing certain steps of the Privacy Analysis Module 5900, may be configured to analyze applications created by one or more third party application developer and/or provider servers or other systems and installed on one or more remote devices, generate privacy-related information about the capabilities of such applications, and generate and maintain a centralized database of privacy-related application capability information. In particular embodiments, the system may be configured to index the privacy-related application capability information within the central repository by application function, application developer, application owner, or any other criteria.
  • A privacy analysis system, when executing the Privacy Analysis Module 5900, begins, at Step 5910, by receiving or acquiring an application (e.g., a mobile device application) for analysis. The Privacy Analysis Module 5900 may request an application from an application developer or provider, or from a data subject computing device, and may receive the application via any means. In particular embodiments, the Privacy Analysis Module 5900 may receive an instruction or request to perform privacy analysis on an application and may responsively acquire or request the application from a third-party application developer or provider system. The Privacy Analysis Module 5900, or any system operating such a module, can use identifying information about an application that it obtained from a data subject computing device or a consumer computing device to acquire the application from the third-party system that hosts, generates, or otherwise provides the application. In an alternative embodiment, the Privacy Analysis Module 5900 may acquire an application from a data subject computing device or a consumer computing device itself
  • At Step 5920, the Privacy Analysis Module 5900 may have, or may access, one or more Third-Party SDK Databases that contain information about known development tools that may have been used to develop the application under analysis. Such Third-Party SDK Databases may also, or instead, contain information about the application itself. Upon determining or obtaining identifying information about the application under analysis, for example, at Step 5910, the Privacy Analysis Module 5900 may use such information to query the Third-Party SDK Databases for privacy-related information about the application. The Privacy Analysis Module 5900 may perform such one or more queries prior to, during, or after performing the steps of Static Privacy Analysis 5930, Dynamic Privacy Analysis 5940, or both. For example, before, during, or after performing either or both of Static Privacy Analysis 5930 and Dynamic Privacy Analysis 5940, the Privacy Analysis Module 5900 may query the Third-Party SDK Databases for privacy-related information about the application under analysis. Information obtained at Step 5920 may be used to facilitate either or both of Static Privacy Analysis 5930 and Dynamic Privacy Analysis 5940.
  • In an embodiment, the Privacy Analysis Module 5900 may perform Static Privacy Analysis 5930, by, at Step 5931, decompiling the application under analysis. The Privacy Analysis Module 5900 may deconstruct the application for analysis by reducing the application to source code, assembly language, machine code, or some other interpretation of the functions of the application, or an approximation thereof. At Step 5932, the Privacy Analysis Module 5900 performs static analysis of the application based on the decompiled application code or the approximation of the decompiled application code. Such static analysis may include the Privacy Analysis Module 5900 scanning the application code for various privacy-related functions and attributes. For example, the Privacy Analysis Module 5900 may scan the application code to determine whether and how the code may reference, access, collect, transmit, receive, and/or manipulate any personal data or personal information. The Privacy Analysis Module 5900 may also scan the application code to determine whether and how the code may use permissions to access device components (e.g., access to a camera, microphone, contacts, calendar, photographs, location, etc.) and device storage (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information, storage preferences, etc.). The Privacy Analysis Module 5900 may also scan the application code to determine whether any API calls are made and how those call interact with the executing device and its associated storage, components, permissions, and any data located therein.
  • The Privacy Analysis Module 5900 may also scan the application code to determine whether and how the code may share application-generated data or data subject computing device originated data with other remote and or local entities (e.g., other applications, other systems, web services, etc.). Where the Privacy Analysis Module 5900 determines that data is shared, the Privacy Analysis Module 5900 attempts to determine where such data is being sent (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.) The Privacy Analysis Module 5900 may use destination geographical information to determine the applicable laws and regulation and take corresponding actions as described herein.
  • In a particular embodiment, the Privacy Analysis Module 5900 may set a flag or provide some other indication that a dynamic analysis should be performed for the application, for example, based upon the results of the analysis of Step 5932 and/or based on results of queries made to Third-Party SDK Databases for privacy-related information about the application under analysis.
  • In an embodiment, the Privacy Analysis Module 5900 may perform Dynamic Privacy Analysis 5940, by, at Step 5941, executing the application and providing it test data (e.g., “dummy” input traffic”). The Privacy Analysis Module 5900, at Step 5942, inspects the communications data and metadata (e.g., network traffic) transmitted and received by the application for privacy-related data and attributes (e.g., personal information). For example, the Privacy Analysis Module 5900 may inspect the communications data and metadata to determine whether such data includes any personal data or personal information. The Privacy Analysis Module 5900 may also inspect the communications data and metadata to determine whether this data indicates whether and how device component access permissions are set on a data subject computing device (e.g., permissions for access to a camera, microphone, contacts, calendar, photographs, location, etc.). The Privacy Analysis Module 5900 may also inspect the communications data and metadata to determine whether such data indicates how device storage is accessed and protected (e.g., encrypted storage, unencrypted storage, an application database, key/chain and/or other authentication information, storage preferences, etc.). The Privacy Analysis Module 5900 may also inspect the communications data and metadata to determine whether and how the application is sharing application-generated data or data subject computing device originated data with other remote and or local entities (e.g., other applications, other systems, web services, etc.). The Privacy Analysis Module 5900 may also determine where any shared data is being sent (e.g., a destination geographical location, such as a city, county, state, country, zip code, etc., and/or a network destination, such as an IP addresses, a MAC addresses, other network address, network identifier, etc.). The Privacy Analysis Module 5900 may also determine whether and how any data elements are being used based on the communications data. In performing this dynamic analysis, the Privacy Analysis Module 5900 analyze the output of the application using any of various means, such as network and device diagnostic tools, traffic sniffers, traffic analysis tools, etc.
  • The Privacy Analysis Module 5900, at Step 5950, may generate privacy analysis data based on one or both of Static Privacy Analysis 5930 and Dynamic Privacy Analysis 5940. In a particular embodiment, the Privacy Analysis Module 5900 may generate one or more scores associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed. In another embodiment, the Privacy Analysis Module 5900 may generate one or more recommendations associated with the risk, privacy characteristic, and/or reputation of an application that it has analyzed.
  • At Step 5960, the Privacy Analysis Module 5900 may store the results of its analysis of the application and any associated data, such as scores and recommendations based on the analysis. The Privacy Analysis Module 5900 may store all, or any subset of, the results of the Static Privacy Analysis 5930 and Dynamic Privacy Analysis 5940, any related data, and any representations and indications of such results and data at a privacy analysis database. Such a privacy analysis database may be any database or other storage device or system, whether local, remote, first-party, third-party, etc.
  • Further at Step 5960, the system may present a score or recommendation for an application based on the analysis performed by the Privacy Analysis Module 5900, and may present rankings of multiple scores/recommendations and respective applications, for example, using a graphical user interface, to allow a user to view the relative privacy assessments of several applications on one interface. The system may highlight or color code such rankings to indicate application privacy capabilities and risk. For example, an application that obtains a high-risk score (e.g., collects and transmits personal data, attempts to modify storage) may be highlighted in bright red and/or listed above lower risk applications, while an application that has a low-risk score (e.g., does not access personal data, does not request permission to modify storage) may be highlighted in green and/or listed below higher risk applications. SDK Discovery and Assessment System
  • To ensure compliance with privacy regulations and/or standards, an entity may take one or more steps to determine the privacy and/or security impact of data and/or software installed on computing devices that the entity may control and/or interact with. For example, an entity may interact with and/or engage in the use of various types of tracking tools (e.g., cookies). Tracking tools may make collect and/or process privacy-related data (e.g., personal data, PII, etc.). Tracking tools may also, or instead, perform functions that have privacy implications, such as tracking a user's activities, location, etc. In various embodiments, the disclosed systems may analyze and assess (e.g., score, categorize, etc.) data and/or applications installed on a mobile device based on various privacy-related criteria and/or security-related criteria. In particular embodiments, the system may identify one or more particular software development kits (SDKs) used to develop a mobile application and apply the disclosed privacy and/or security assessment techniques to the identified one or more SDKs.
  • In various embodiments, the system may identify one or more software development kits (SDKs) configured on a mobile device and/or used to generate an application configured on the mobile device. Using natural language processing (NLP) artificial intelligence techniques, the system may generate a tokenized name for the SDK that includes tokens representing the vendor of the SDK and various functions performed by applications generated using the SDK. The system may determine scores for one or more such tokens and determine a privacy category or score for the SDK based on the token scores. The security and privacy impact of the particular identified SDK may be assessed based, at least in part, on one or more privacy and security impact determinations (e.g., scores, categorization, etc.) associated with the SDK and/or the SDK vendor.
  • In various embodiments, the system is configured to generate, access, and/or maintain a database of SDK and vendor information (e.g., an SDK and vendor information database or a third-party SDK database) that may include, but is not limited to: (1) SDK identifying information (e.g., package name); (2) vendor information for one or more SDKs; (3) privacy and/or security information (e.g., assessments, categorizations, scores, etc.) for one or more SDKs; (4) privacy and/or security information (e.g., assessments, categorizations, scores, etc.) for one or more functions of one or more SDKs; and (5) privacy and/or security information (e.g., assessments, categorizations, scores, etc.) for one or more vendors. Once a particular SDK is identified, the system may use this database to generate a privacy and/or security assessment of the identified SDK.
  • In various embodiments, the system is configured to identify one or more SDKs configured on a mobile device (e.g., Android-based mobile device, iPhone, etc.) by scanning one or more folders (e.g., all folders) on the mobile device for information that may be used to identify an SDK that may be configured on the mobile device. In scanning the mobile device, the system may identify one or more software packages (e.g., one or more software files, one or more collections of software files, individual software files, etc.) configured on the mobile device. In particular embodiments, the system may determine a name associated with one or more packages configured on the mobile device. The system may use regular expression (RegEx) searching techniques to search one or more databases (e.g., an SDK and vendor information database or a third-party SDK database) to cross-reference the names (or any portion of a name) of each such identified package with one or more known SDK packages. If the system determines that the name of an identified package corresponds to one or more known SDK packages, the system may determine that that particular identified package is a valid SDK package. If the system is unable to cross-reference the name of an identified package to one or more known SDK packages, the system may determine that that particular identified package is not a valid SDK package. The system may record this determination in an SDK and vendor information database for future reference.
  • The system may “tokenize” the name of a particular identified package, for example using NLP. In various embodiments, SDK package names may have a structure such as the following exemplary structure:
      • <common_term>.<vendor_name>.<functionality>. <functionality> . . .
        where: (1) “common term” may be a term such as “com,” “io,” “net,” etc.; (2) “vendor name” may identify a vendor with terms such as “FACEBOOK,” “GOOGLE,” “ADOBE,” etc.; and (3) “functionality” may identify particular functionality with terms such as “auth,” “ads,” “internal,” “core,” etc. Each package name may have multiple functionality terms (e.g., <common_term>.<vendor_name>.<functionality>.<functionality>) to allow the indication of multiple functionalities associated with a particular SDK package.
  • The system may use a model to calculate a score for each of the SDK categories with which the particular identified package may be associated using the tokenized name of the package. In various embodiments, the system may remove or ignore the <common term> portion of the tokenized name in performing the scoring and/or categorization determinations described herein. In particular embodiments, the SDK categories may include categories such as advertisements, analytics, location, utilities, development tools, targeting, functional, etc. The system may identify a respective category for each identified <functionality> term based, at least in part, on a listing of one or more <functionality> terms and a corresponding SDK category for each term in the listing of <functionality> terms. In particular embodiments, such a functionality term categorization table may be stored in a database (e.g., an SDK and vendor information database or a third-party SDK database) and may have been generated for use by the system and/or by a third party as described herein.
  • In various embodiments, the system may assign a particular identified package to a particular (e.g., privacy) category that is associated with the highest scoring <functionality> term among the <functionality> terms in its tokenized package name. For example, if a particular identified package has functionality terms corresponding to the categories X, Y, and Z having respective SDK category scores of 10, 20 and 30 (e.g., category X has a score of 10, category Y has a score of 20, and category Z has a score of 30), the system will assign the category of Z to the identified package because Z's associated SDK category score is the highest of those associated with the identified package's functionality tokens. The system may also, or instead, assign or otherwise use the determined category score as a privacy risk score and/or a privacy assessment score for the package (e.g., assign a score of 30 to the package) and/or in calculating a privacy risk score and/or a privacy assessment score for the package.
  • In particular embodiments, the system may also apply weighting factors in the scoring process by adding a weight to key tokens or terms from each category. The system may then assign a particular identified package to a particular (e.g., privacy) category based on the score for the highest scoring weighted category associated with the particular identified package. For example, if a particular identified package has functionality terms corresponding to the categories P, Q, and R, with respective SDK category scores of 10, 20 and 30, but Q is weighted by 30 and the other categories are not, (e.g., category P has a weighted score of 10, category Q has a weighted score of 50, and category R has a weighted score of 30), the system will assign the category of Q to the identified package because Q's weighted SDK category score is the highest of those associated with the identified package's functionality tokens. The system may also, or instead, assign or otherwise use the determined weighted category score as a privacy risk score and/or a privacy assessment score for the package (e.g., assign a score of 50 to the package) and/or in calculating a privacy risk score and/or a privacy assessment score for the package.
  • In an illustrative example, the system may identify an SDK package with the name “io.segment.analytics.internal.” The system may then determine this SDK package name include the <functionality> terms “analytics” and “internal.” Based on these identified <functionality> terms and, in particular embodiments, reference to a functionality term categorization table, the system may determine that “analytics” is associated with the Targeting SDK category and “internal” is associated with the Functional SDK category. The system may then further determine (e.g., using a functionality term categorization table) that, within the Targeting SDK category, the term “analytics” is a key (e.g., weighted) token, while within the Functional SDK category, the term “internal” is not a key (e.g., not weighted) token. Therefore, based on this determination, the system may assign the category Targeting and/or the score associated with the Targeting SDK category to this SDK package because the term “analytics” is a key token within the Targeting SDK category (and not assign the classification and/or score associated with the Functional SDK category because the term “internal” is not a key token within the Functional SDK category).
  • In various embodiments, the system may determine that a category score for a particular identified package is inconclusive. For example, the system may be unable to determine a category associated with a particular identified package because none of the functionality tokens in the tokenized package name have assigned scores (e.g., in a functionality term categorization table or listing). The system may represent an inconclusive score as a null value or other value that the system is configured to recognize as an inconclusive score (e.g., “0,” “−1”). In this case, the system may use the <vendor name> from the tokenized package name to identify a vendor associated with the particular identified package. For example, the system may query a vendor database (e.g., an SDK and vendor information database) using the vendor name token to identify a particular vendor associated with the vendor name token. The system may then determine a category and/or generate a vendor score for the particular identified package based on that vendor information by, in particular embodiments, querying a vendor term categorization table that may be stored on an SDK and vendor information database using the vendor name token. In particular embodiments, the system may access a vendor term categorization table to determine a category for a vendor and/or a vendor score based on a vendor's name and/or other information. A vendor term categorization table may be stored in a database (e.g., an SDK and vendor information database or a third-party SDK database) and may have been generated for use by the system and/or by a third party as described herein.
  • In various embodiments, the system may determine a category score for a particular SDK as well as a vendor score based on vendor information. The system may then use the vendor score to determine, at least in part, an overall score for the particular identified package. In particular embodiments, the system may determine an overall score for the particular identified package based on a combination of a vendor score and a category score using a formula or algorithm and, in some examples, other available information. In other particular embodiments, the system may determine an overall score for the particular identified package based on only one of a vendor score or a category score. The system may then assign this score as a privacy risk score and/or privacy assessment score to the SDK and/or may use this score to determine a (e.g., privacy) category for the SDK. The system may also, or instead, use this overall score to determine a (e.g., privacy) category for the SDK.
  • A more detailed SDK discovery and assessment system example will now be described. FIG. 60 depicts an exemplary system 6000 for discovering and assessing one or more SDKs configured on a mobile device. In various embodiments, the SDK discovery and assessment server 6020 may be configured to communicate (e.g., wirelessly and/or using a wired connection) with the mobile device 6050. In particular embodiments, the mobile device 6050 may be an Android-based mobile device, while in other embodiments the mobile device 6050 may be any other type of mobile device using any other operating system software (e.g., iPhone).
  • The SDK discovery and assessment server 6020 may scan the mobile device 6050 to identify one or more files that may be SDK packages. For example, the SDK discovery and assessment server 6020 may scan each folder configured to store files on the mobile device 6050 to identify the names of each file stored in each such folder. The system may use any means of scanning and/or searching the files on the mobile device 6050, including accessing the mobile device 6050 using an API to perform a filename search or using operating system features configured on the mobile device 6050 to locate and identify files configured on mobile device 6050. In various embodiments, the SDK discovery and assessment server 6020 may undertake SDK package scanning and analysis in response to one or more instructions received from the one or more applications privacy analysis servers 6010, which may be performing one or more privacy analysis functions (e.g., as described herein) related to the mobile device 6050 and/or software configured thereon. In various embodiments, a privacy analysis system (e.g., the privacy analysis system 5600) may integrate one or more of the SDK package scanning and analysis functions disclosed herein. For example, SDK package scanning and analysis functions may be performed as part of, or in coordination with, any of the static analysis functions and/or dynamic analysis functions described above.
  • The SDK discovery and assessment server 6020 may identify one or more software packages (e.g., one or more software files, one or more collections of software files, individual software files, etc.) configured on the mobile device 6050. In particular embodiments, the system may determine a name associated with one or more packages configured on the mobile device 6050 by evaluating the file structure within which each such package may be stored. For example, as illustrated in FIG. 60 , the system may identify a “com” package located in folders 6051 that is associated with “vendor1” and has the functions “function1,” “function2,” and “function3.” The SDK discovery and assessment server 6020 may search (e.g., using RegEx and/or other searching techniques) the SDK and vendor information database 6040 and/or the third-party SDK database 6030 to cross-reference the identified package names (or any portion of the name) with one or more known SDK packages. If the SDK discovery and assessment server 6020 determines that the name of the identified package corresponds to one or more known SDK packages, the system may determine that that particular identified package is a valid SDK package. If the SDK discovery and assessment server 6020 is unable to cross-reference the name of the identified package to one or more known SDK packages, the system may determine that that particular identified package is not a valid SDK package. The system may record this determination in the SDK and vendor information database 6040 and/or provide the information to the one or more applications privacy analysis servers 6010 for future reference.
  • The SDK discovery and assessment server 6020 may tokenize the name of the identified package using NLP. In this particular example, the identified package name may be tokenized as “com.vendor1.function1.function2.function3,” where “com” represents a common system term associated with the package and/or its file system location, “vendor1” is an identifier of the vendor associated with the package, and each of “function1,” “function2,” and “function3” identify particular functionality of the package.
  • The SDK discovery and assessment server 6020 may categorize the identified package based on its associated functions by querying a functionality term categorization table to determine a category associated with one or more of the functionality terms in the package's tokenized name. In performing this categorization, the SDK discovery and assessment server 6020 may ignore or remove the common term in the tokenized package name. In various embodiments, the system may use a table (e.g., a functionality term categorization table) to identify the category associated with each functionality term. Such a table may be generated and/or stored at a system such as the SDK and vendor information database 6040 and/or the third-party SDK database 6030. Table 1 shown below is an illustrative example of a functionality term categorization table.
  • TABLE 1
    Functionality term Category Score Weight Key term?
    function1 Targeting 10 20 Yes
    function2 Functional 20 0 No
    function3 Location 15 5 Yes
  • The SDK discovery and assessment server 6020 may associate the categories associated with each functional term of the tokenize package name with the package. In the current example, the SDK discovery and assessment server 6020 may determine that the “com.vendor1.function1.function2.function3” package is associated with the “Targeting,” “Functional,” and “Location” categories based on the associations of its functional terms with those categories indicated in a functionality term categorization table. The system may then determine which of the categories associated with the package has a highest associated score. In the current example, the SDK discovery and assessment server 6020 may determine that the “Functional” category associated with the functional term “function2” has the highest score among the categories associated with package. Therefore, the SDK discovery and assessment server 6020 may assign the “Functional” category and/or the score corresponding to the “Functional” category (e.g., 20) to the “com.vendor1.function1.function2.function3” package.
  • In various embodiments, the system may also, or instead, use one or more weighting factors in the scoring process to determine a score for an identified package. In the current example, the SDK discovery and assessment server 6020 may determine that the “Functional” category associated with the functional term “function2” has the highest score among the categories associated with package but has a weighting of 0, thus giving that category a weighted score of 20. The system may also determine that the “Targeting” category associated with the functional term “functionl” has a score of 10 with a weighting of 20, thus giving that category a weighted score of 30. Therefore, because it has the highest weighted score of the associated categories, the SDK discovery and assessment server 6020 may assign the “Targeting” category and/or the weighted score corresponding to the “Targeting” category (e.g., 30) to the “com.vendor1.function1.function2.function3” package.
  • In various embodiments, the system may also, or instead, determine whether a functionality term within a tokenized package name is a key term in calculating a score for the package. In the current example, the SDK discovery and assessment server 6020 may determine that the “Targeting” category associated with the functional term “functionl” and the “Location” category associated with the functional term “function3” are key terms (e.g., as indicated in a functionality term categorization table or listing, such as Table 1). The system may make this determination based on an explicit indicator that a particular categories is a key category (e.g., an indicator that a category is associated with a functionality term that is a key term, as shown in Table 1) or based on implicit information, such as determining that a particular term has non-zero (or positive) weighting factor (also as shown in Table 1). In this particular example, because it has the highest weighted score among the applicable key categories, the SDK discovery and assessment server 6020 may assign the “Targeting” category, the score corresponding to the “Targeting” category, and/or the weighted score corresponding to the “Targeting” category (e.g., 30) to the “com.vendor1.function1.function2.function3” package.
  • In various embodiments, the SDK discovery and assessment server 6020 may determine that a category score for a particular identified package is inconclusive or may otherwise be unable to determine a category or score for a package. For example, the SDK discovery and assessment server 6020 may determine that there is no particular category associated with the identified package (e.g., none of its functionality terms are associated with a known category) or that there is no score available or determinable for the categories associated with the package (e.g., there are no scores available or determinable for any of its functionality terms). In the current example, if unable to determine a category score for the “com.vendor1.function1.function2.function3” package, the SDK discovery and assessment server 6020 may use the vendor name “vendorl” from the tokenized package name to identify a vendor and/or vendor category associated with the package. In particular embodiments, the SDK discovery and assessment server 6020 may determine the vendor score and/or category by querying a vendor database to access a vendor term categorization table (e.g., by querying the SDK and vendor information database 6040 and/or the third-party SDK database 6030 to access a table such as Table 2) to identify a vendor score and/or category associated with a particular vendor using the vendor name token. The SDK discovery and assessment server 6020 may then determine a score and/or category for the identified package by assigning the vendor score and/or category associated with “vendor1” to the identified package. In particular embodiments, the system may assign the determined category and/or score for “vendor1” as the privacy category and/or score, respectively, for the “com.vendor1.function1.function2.function3” package. A vendor term categorization table may be generated and/or stored in a database (e.g., the SDK and vendor information database 6040 and/or the third-party SDK database 6030) and may have been generated for use by the system and/or by a third party as described herein.
  • In various embodiments, a particular vendor may be associated with multiple categories, each of which may have a score and/or a weighting as described above in regard to a functionality term categorization table. In such embodiments, the system may determine a vendor categorization and/or vendor score for a particular SDK package by selecting the vendor category and/or score associated with the highest vendor score and/or highest weighted vendor score from among the scores/weighted scores associated with the vendor represented in the vendor token of the particular SDK packages' tokenized name.
  • TABLE 2
    Vendor term Category Score Weight
    vendor1 Targeting
    10 20
    vendor1 Functional 20 0
    vendor1 Location 25 5
  • In various embodiments, the SDK discovery and assessment server 6020 may determine a category score for the “com.vendor1.function1.function2.function3” package as well as a vendor score. The SDK discovery and assessment server 6020 may then use a combination of the vendor score and the category score to determine an overall score for the SDK and/or a (e.g., privacy) category for the SDK. For example, the SDK discovery and assessment server 6020 may determine a weighted category score of 30 and a vendor score of 10 for the package, and then determine an overall score of 40. In particular embodiments, the system may use a formula, algorithm, and/or other available information to determine a privacy risk score and/or a privacy assessment score for a package. In other particular embodiments, the system may determine an overall privacy risk or privacy impact score for a particular package based on only one of a vendor score or a category score by assigning the vendor score or the category score as the privacy risk or privacy impact score for the particular package.
  • Mobile SDK Package Assessment Module
  • FIG. 61 depicts a Mobile SDK Package Assessment Module 6100 according to various embodiments. In executing the Mobile SDK Assessment Module 6100, the system begins at Step 6110 by identifying a package on a mobile device (e.g., an Android-based mobile device, an iPhone, etc.). The system may identify the package by scanning one or more folders, and/or one or more files contained therein, configured on the mobile device for information (e.g., package name, file name, folder name, etc.) that may be used to identify a package.
  • The system may use RegEx searching techniques to search one or more databases to cross-reference the name of the identified package with one or more known SDK packages. Each of these one or more databases may be a database of SDK and vendor information that may include SDK identifying information (e.g., package name) and respective vendor information for particular SDK packages. Such databases may also store category and/or vendor scoring information as described herein. If the system determines that the name of the identified package correspond to one or more known SDK packages, the system may determine that that particular identified package is a valid SDK package. If the system is unable to cross-reference the name of the identified package to one or more known SDK packages, the system may determine that that particular identified package is not a valid SDK package.
  • At Step 6120, the system may tokenize the name of the identified package, for example using NLP, in order to use portions of the name for further assessment. As noted above, the tokenized SDK package name of an identified package may take the form of “<common term>.<vendor name>.<functionalityX>.<functionalityY> .<functionalityZ>.”
  • Using the <functionality> portion(s) of the package name, at Step 6130 the system may determine one or more categories associated with the identified package. For example, the system may identify a respective category for each identified <functionality> term of the package name based, at least in part, on a listing of one or more <functionality> terms and a corresponding category for each term in the listing of <functionality> terms (e.g., as described above). This listing of functionality terms and corresponding categories may be stored in a table or other data structure in a database of SDK-related information.
  • At Step 6140, the system may determine a category score for each category associated with the identified package (e.g., as determined as Step 6130), for example as described above using a table or other data structure in a database of SDK-related information. In particular embodiments, the system may apply a weighting factor at Step 6140 to one or more of the category scores, for example, in response to determining that a particular category score is associated with key category or a key <functionality> term in the package name as described above or otherwise determining an applicable weighting factor for the category.
  • At Step 6150, the system may determine the highest category score from among the scores of the one or more categories associated with the identified package. Where one or more of the category scores is weighted, the system may use the one or more weighted scores to select the highest category score. The system may assign the category associated with the determined highest category score to the identified package. The system may also, or instead, assign the determined highest category score to the identified package.
  • If the system determines that the category score cannot be determined at Step 6150 (e.g., there is no particular category associated with the particular identified package that has an associated score) or if the category score determined at Step 6150 is otherwise inconclusive, the system may determine and use a vendor score to determine a privacy category, privacy risk score, and/or a privacy assessment score for the package. Alternatively, or in addition, the system may determine that a vendor score is to be used in conjunction with a category score to determine a privacy category, privacy risk score, and/or a privacy assessment score for the package. At Step 6160, the system may use the <vendor name> from the tokenized package name to identify a vendor associated with the package, for example, by querying a vendor and/or SDK database to determine a vendor associated with the package. At Step 6170, the system may then determine a vendor category and/or score associated with the vendor that may be used in assessing the identified package by querying a vendor and/or SDK database using the determined vendor to access a vendor term categorization table and identify a vendor score and/or category that corresponds to the vendor. For example, the system may assign the category and/or score associated with the vendor to the SDK package.
  • At Step 6180, the system may determine an overall score (e.g., a privacy risk score and/or a privacy assessment score) for the identified package that reflects the package assessment performed by the system. In particular embodiments, this overall score is based on a category score (e.g., as determined at Step 6150). For example, the system may assign the category score as the overall score. In other particular embodiments, this overall score is based on a vendor score (e.g., as determined at Step 6170). For example, the system may assign the vendor score as the overall score. In still other particular embodiments, this overall score is determined based on a combination of one or more category scores (e.g., as determined at Step 6150), one or more vendor scores (e.g., as determined at Step 6170) and/or other information. For example, the system may use an algorithm or formula to calculate an overall score using one or more category scores and one or more vendor scores. The system may also use other information, a formula, algorithm, and/or various weighting factors to determine the overall score. This overall score may be assigned to an SDK as a privacy risk score and/or privacy assessment score and/or may be used to determine a (e.g., privacy) category for the SDK.
  • CONCLUSION
  • Although embodiments above are described in reference to various privacy assessment systems, it should be understood that various aspects of the system described above may be applicable to other privacy-related systems, or to other types of systems, in general.
  • While this specification contains many specific embodiment details, these should not be construed as limitations on the scope of any embodiment or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
  • Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged into multiple software products.
  • Many modifications and other embodiments will come to mind to one skilled in the art to which this disclosure pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the teachings set forth herein are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for the purposes of limitation.

Claims (20)

What is claimed is:
1. A method comprising:
scanning, by computing hardware, at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool;
generating, by the computing hardware, a functionality token for the third-party development tool by:
querying, based on the identifying information for the third-party development tool, a database that stores a plurality of third-party identities in correlation with a plurality of respective identifying information of third-party development tools,
determining, based on a result of querying the database, a third-party identity corresponding to the third-party development tool, and
generating the functionality token based on the third-party identity;
determining, by the computing hardware, a functionality category for the functionality token;
assigning, by the computing hardware, a third-party development tool category to the third-party development tool based on the functionality category; and
linking, by the computing hardware, the third-party development tool category to the third-party development tool.
2. The method of claim 1, wherein:
the method further comprises generating, by the computing hardware, a tokenized name for the third-party development tool using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device; and
the identifying information for the third-party development tool comprises the tokenized name.
3. The method of claim 2, further comprising:
determining, by the computing hardware, based on the identifying information, a source of the third-party development tool; and
assigning, by the computing hardware, the third-party development tool category based on the source.
4. The method of claim 3, wherein:
the tokenized name comprises a source token; and
the method comprises determining the source of the third-party development tool based on the source token.
5. The method of claim 1, wherein scanning the at least one of the folder on the mobile device or the file stored on the mobile device comprises performing a filename search on the mobile device to determine the identifying information for the third-party development tool.
6. The method of claim 1, wherein:
the functionality token comprises a first functionality token representing a first functionality type of the third-party development tool and a second functionality token representing a second functionality type of the third-party development tool; and
assigning, by the computing hardware, the third-party development tool category to the third-party development tool based on the functionality category comprises assigning the third-party development tool category based on a relative relevance weighting of the first functionality token and the second functionality token.
7. The method of claim 1, wherein the third-party development tool is a software development kit used to generate an application, the application being configured to operate on the mobile device.
8. A system comprising:
a non-transitory computer-readable medium storing instructions; and
a processing device communicatively coupled to the non-transitory computer-readable medium, wherein, the processing device is configured to execute the instructions and thereby perform operations comprising:
scanning at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool;
generating a source token for the third-party development tool by:
querying, based on the identifying information for the third-party development tool, a database that stores a plurality of third-party identities in correlation with a plurality of respective identifying information of third-party development tools,
determining, based on a result of querying the database, a third-party identity corresponding to the third-party development tool, and
generating the source token based on the third-party identity;
identifying a third-party computing system from the source token;
assigning a third-party development tool category to the third-party development tool based on the third-party computing system; and
linking the third-party development tool category to the third-party development tool.
9. The system of claim 8, wherein:
the operations further comprise generating a tokenized name for the third-party development tool using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device; and
the identifying information for the third-party development tool comprises the tokenized name.
10. The system of claim 9, wherein:
the tokenized name comprises a first function token; and
the operations further comprise assigning the third-party development tool category based on the first functionality token.
11. The system of claim 10, wherein:
the tokenized name comprises a second function token; and
the operations further comprise assigning the third-party development tool category based on the first functionality token and the second functionality token.
12. The system of claim 8 wherein scanning the at least one of a folder on the mobile device or the file stored on the mobile device comprises determining the identifying information for the third-party development tool based on at least one of a package name, a file name, or a folder name.
13. The system of claim 9, wherein the third-party development tool is a software development kit used to generate an application.
14. The system of claim 8, wherein the third-party development tool category includes at least one of a targeting category, a functional category, or a location category.
15. A non-transitory computer-readable medium storing computer-executable instructions that, when executed by processing hardware, configure the processing hardware to perform operations comprising:
scanning at least one of a folder on a mobile device or a file stored on the mobile device to determine identifying information for a third-party development tool;
generating a tokenized name for the third-party development tool based on the identifying information, the tokenized name comprising a functionality token representing a function of the third-party development tool;
assigning a third-party development tool category to the third-party development tool based on the functionality token; and
linking the assigned third-party development tool category to the third-party development tool.
16. The non-transitory computer-readable medium of claim 15, wherein:
generating the tokenized name for the third-party development tool comprises using natural language processing on at least one of a filename for the file stored on the mobile device or content in the file stored on the mobile device; and
the identifying information for the third-party development tool comprises the tokenized name.
17. The non-transitory computer-readable medium of claim 15, wherein scanning the at least one of the folder on the mobile device or the file stored on the mobile device comprises performing a filename search on the mobile device to determine the identifying information for the third-party development tool.
18. The non-transitory computer-readable medium of claim 15, wherein:
the functionality token is a first functionality token;
the tokenized name comprises a second functionality token; and
the operations further comprise assigning the third-party development tool category based on the first functionality token but not on the second functionality token.
19. The non-transitory computer-readable medium of claim 15, wherein:
the functionality token comprises a first functionality token representing a first functionality type of the third-party development tool and a second functionality token representing a second functionality type of the third-party development tool; and
assigning the third-party development tool category to the third-party development tool based on the functionality category comprises assigning the third-party development tool category based on a relative relevance weighting of the first functionality token and the second functionality token.
20. The non-transitory computer-readable medium of claim 15, wherein the third-party development tool is a software development kit used to generate an application, the application being configured to operate on the mobile device.
US17/948,036 2016-06-10 2022-09-19 Data processing systems and methods for automatic discovery and assessment of mobile software development kits Pending US20230015047A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/948,036 US20230015047A1 (en) 2016-06-10 2022-09-19 Data processing systems and methods for automatic discovery and assessment of mobile software development kits

Applications Claiming Priority (26)

Application Number Priority Date Filing Date Title
US201662348695P 2016-06-10 2016-06-10
US201662353802P 2016-06-23 2016-06-23
US201662360123P 2016-07-08 2016-07-08
US15/254,901 US9729583B1 (en) 2016-06-10 2016-09-01 Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US15/619,455 US9851966B1 (en) 2016-06-10 2017-06-10 Data processing systems and communications systems and methods for integrating privacy compliance systems with software development and agile tools for privacy design
US201762537839P 2017-07-27 2017-07-27
US201762541613P 2017-08-04 2017-08-04
US201762547530P 2017-08-18 2017-08-18
US201762572096P 2017-10-13 2017-10-13
US15/853,674 US10019597B2 (en) 2016-06-10 2017-12-22 Data processing systems and communications systems and methods for integrating privacy compliance systems with software development and agile tools for privacy design
US201862631703P 2018-02-17 2018-02-17
US201862631684P 2018-02-17 2018-02-17
US15/996,208 US10181051B2 (en) 2016-06-10 2018-06-01 Data processing systems for generating and populating a data inventory for processing data access requests
US16/055,083 US10289870B2 (en) 2016-06-10 2018-08-04 Data processing systems for fulfilling data subject access requests and related methods
US201862728435P 2018-09-07 2018-09-07
US16/159,634 US10282692B2 (en) 2016-06-10 2018-10-13 Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US16/277,568 US10440062B2 (en) 2016-06-10 2019-02-15 Consent receipt management systems and related methods
US201962868373P 2019-06-28 2019-06-28
US16/552,765 US10678945B2 (en) 2016-06-10 2019-08-27 Consent receipt management systems and related methods
US202063028149P 2020-05-21 2020-05-21
US16/895,278 US11200341B2 (en) 2016-06-10 2020-06-08 Consent receipt management systems and related methods
US16/915,097 US10909265B2 (en) 2016-06-10 2020-06-29 Application privacy scanning systems and related methods
US17/163,701 US11113416B2 (en) 2016-06-10 2021-02-01 Application privacy scanning systems and related methods
US17/326,901 US11222139B2 (en) 2016-06-10 2021-05-21 Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US17/572,298 US11449633B2 (en) 2016-06-10 2022-01-10 Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US17/948,036 US20230015047A1 (en) 2016-06-10 2022-09-19 Data processing systems and methods for automatic discovery and assessment of mobile software development kits

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US17/572,298 Continuation US11449633B2 (en) 2016-06-10 2022-01-10 Data processing systems and methods for automatic discovery and assessment of mobile software development kits

Publications (1)

Publication Number Publication Date
US20230015047A1 true US20230015047A1 (en) 2023-01-19

Family

ID=77555910

Family Applications (3)

Application Number Title Priority Date Filing Date
US17/326,901 Active US11222139B2 (en) 2016-06-10 2021-05-21 Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US17/572,298 Active US11449633B2 (en) 2016-06-10 2022-01-10 Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US17/948,036 Pending US20230015047A1 (en) 2016-06-10 2022-09-19 Data processing systems and methods for automatic discovery and assessment of mobile software development kits

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US17/326,901 Active US11222139B2 (en) 2016-06-10 2021-05-21 Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US17/572,298 Active US11449633B2 (en) 2016-06-10 2022-01-10 Data processing systems and methods for automatic discovery and assessment of mobile software development kits

Country Status (1)

Country Link
US (3) US11222139B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11537748B2 (en) 2018-01-26 2022-12-27 Datavant, Inc. Self-contained system for de-identifying unstructured data in healthcare records
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
KR102624339B1 (en) * 2019-02-01 2024-01-15 삼성전자주식회사 Electronic device for managing personal information and method thereof
US11860983B2 (en) 2019-12-20 2024-01-02 Cambrian Designs, Inc. System and method for implementing user watermarks
US11755779B1 (en) 2020-09-30 2023-09-12 Datavant, Inc. Linking of tokenized trial data to other tokenized data
US11611559B2 (en) * 2020-12-16 2023-03-21 Microsoft Technology Licensing, Llc Identification of permutations of permission groups having lowest scores
WO2023056085A1 (en) * 2021-10-01 2023-04-06 OneTrust, LLC Auto-blocking software development kits based on user consent
US20230214398A1 (en) * 2021-12-31 2023-07-06 Edmund A. Kazmierczak Data Privacy Management & Compliance Using Distributed Ledger Technology
WO2023150122A1 (en) * 2022-02-03 2023-08-10 Liveramp, Inc. On-device identity resolution software development kit

Family Cites Families (1440)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4536866A (en) 1978-11-30 1985-08-20 Videonics Of Hawaii, Inc. Information retrieval system and apparatus
US4574350A (en) 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US5193162A (en) 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
CA2078315A1 (en) 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
US5668986A (en) 1991-10-02 1997-09-16 International Business Machines Corporation Method and apparatus for handling data storage requests in a distributed data base environment
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5329447A (en) 1992-03-12 1994-07-12 Leedom Jr Charles M High integrity computer implemented docketing system
US5276735A (en) 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
JP2596869B2 (en) 1992-04-30 1997-04-02 松下電器産業株式会社 Concept dictionary management device
US7251624B1 (en) 1992-09-08 2007-07-31 Fair Isaac Corporation Score based decisioning
US5560005A (en) 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
ATE163235T1 (en) 1994-09-13 1998-02-15 Irmgard Rost DATA ARCHIVING SYSTEM
US5812882A (en) 1994-10-18 1998-09-22 Lanier Worldwide, Inc. Digital dictation system having a central station that includes component cards for interfacing to dictation stations and transcription stations and for processing and storing digitized dictation segments
CN100452071C (en) 1995-02-13 2009-01-14 英特特拉斯特技术公司 Systems and methods for secure transaction management and electronic rights protection
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
WO1996034350A1 (en) 1995-04-24 1996-10-31 Aspect Development, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US5710917A (en) 1995-06-07 1998-01-20 International Business Machines Corporation Method for deriving data mappings and data aliases
US5872973A (en) 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5764906A (en) 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system
US5778367A (en) 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US6076088A (en) 1996-02-09 2000-06-13 Paik; Woojin Information extraction system and method using concept relation concept (CRC) triples
US5913214A (en) 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
US5913041A (en) 1996-12-09 1999-06-15 Hewlett-Packard Company System for determining data transfer rates in accordance with log information relates to history of data transfer activities that independently stored in content servers
US6374237B1 (en) 1996-12-24 2002-04-16 Intel Corporation Data set selection based upon user profile
US6408336B1 (en) 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US6122627A (en) 1997-05-09 2000-09-19 International Business Machines Corporation System, method, and program for object building in queries over object views
US6282548B1 (en) 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
US6272631B1 (en) 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
US7127741B2 (en) 1998-11-03 2006-10-24 Tumbleweed Communications Corp. Method and system for e-mail message transmission
US6442688B1 (en) 1997-08-29 2002-08-27 Entrust Technologies Limited Method and apparatus for obtaining status of public key certificate updates
US6016394A (en) 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6385644B1 (en) 1997-09-26 2002-05-07 Mci Worldcom, Inc. Multi-threaded web based user inbox for report management
US6484149B1 (en) 1997-10-10 2002-11-19 Microsoft Corporation Systems and methods for viewing product information, and methods for generating web pages
US6446120B1 (en) 1997-11-26 2002-09-03 International Business Machines Corporation Configurable stresser for a web server
US6148342A (en) 1998-01-27 2000-11-14 Ho; Andrew P. Secure database management system for confidential records using separately encrypted identifier and access request
US6993495B2 (en) 1998-03-02 2006-01-31 Insightexpress, L.L.C. Dynamically assigning a survey to a respondent
US6986062B2 (en) 1998-04-09 2006-01-10 Microsoft Corporation Set top box object security system
US6243816B1 (en) 1998-04-30 2001-06-05 International Business Machines Corporation Single sign-on (SSO) mechanism personal key manager
US6148297A (en) 1998-06-01 2000-11-14 Surgical Safety Products, Inc. Health care information and data tracking system and method
GB2338791B (en) 1998-06-22 2002-09-18 Advanced Risc Mach Ltd Apparatus and method for testing master logic units within a data processing apparatus
US10326798B2 (en) 1998-07-16 2019-06-18 Grid7, LLC System and method for secure data transmission and storage
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
JP3455112B2 (en) 1998-08-28 2003-10-14 株式会社ランドスケイプ Personal data management device
JP2000090102A (en) 1998-09-09 2000-03-31 Sharp Corp Information transmission device
US6240416B1 (en) 1998-09-11 2001-05-29 Ambeo, Inc. Distributed metadata system and method
US6253203B1 (en) 1998-10-02 2001-06-26 Ncr Corporation Privacy-enhanced database
US6275824B1 (en) 1998-10-02 2001-08-14 Ncr Corporation System and method for managing data privacy in a database management system
US6427230B1 (en) 1998-11-09 2002-07-30 Unisys Corporation System and method for defining and managing reusable groups software constructs within an object management system
US20050022198A1 (en) 1998-11-16 2005-01-27 Taskserver, Inc. Computer-implemented process management system
US6516314B1 (en) 1998-11-17 2003-02-04 Telefonaktiebolaget L M Ericsson (Publ) Optimization of change log handling
US8019881B2 (en) 1998-11-30 2011-09-13 George Mason Intellectual Properties, Inc. Secure cookies
US6330562B1 (en) 1999-01-29 2001-12-11 International Business Machines Corporation System and method for managing security objects
US6591272B1 (en) 1999-02-25 2003-07-08 Tricoron Networks, Inc. Method and apparatus to make and transmit objects from a database on a server computer to a client computer
US6985887B1 (en) 1999-03-19 2006-01-10 Suncrest Llc Apparatus and method for authenticated multi-user personal information database
WO2000065511A2 (en) 1999-04-22 2000-11-02 Network Solutions, Inc. A shared registration system for registering domain names
US6938041B1 (en) 1999-04-30 2005-08-30 Sybase, Inc. Java-based data access object
US6519571B1 (en) 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US7165041B1 (en) 1999-05-27 2007-01-16 Accenture, Llp Web-based architecture sales tool
US6721713B1 (en) 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US7315826B1 (en) 1999-05-27 2008-01-01 Accenture, Llp Comparatively analyzing vendors of components required for a web-based architecture
US7124107B1 (en) 1999-06-07 2006-10-17 Freewebs Corporation Collective procurement management system
US8862507B2 (en) 1999-06-14 2014-10-14 Integral Development Corporation System and method for conducting web-based financial transactions in capital markets
US10387952B1 (en) 1999-11-01 2019-08-20 Integral Development Corporation System and method for conducting web-based financial transactions in capital markets
US6754665B1 (en) 1999-06-24 2004-06-22 Sony Corporation Information processing apparatus, information processing method, and storage medium
US7356559B1 (en) 1999-07-01 2008-04-08 Affinity Internet, Inc. Integrated platform for developing and maintaining a distributed multiapplication online presence
US9607041B2 (en) 1999-07-15 2017-03-28 Gula Consulting Limited Liability Company System and method for efficiently accessing internet resources
US8527337B1 (en) 1999-07-20 2013-09-03 Google Inc. Internet based system and apparatus for paying users to view content and receiving micropayments
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6633878B1 (en) 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
US7100195B1 (en) 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
US6484180B1 (en) 1999-08-02 2002-11-19 Oracle Corporation Accessing domain object data stored in a relational database system
US7124170B1 (en) 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
US6662357B1 (en) 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US7139999B2 (en) 1999-08-31 2006-11-21 Accenture Llp Development architecture framework
US6697824B1 (en) 1999-08-31 2004-02-24 Accenture Llp Relationship management in an E-commerce application framework
US8935198B1 (en) 1999-09-08 2015-01-13 C4Cast.Com, Inc. Analysis and prediction of data using clusterization
US6516337B1 (en) 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
AU1104501A (en) 1999-10-29 2001-05-14 Contact Networks, Inc. Method and system for updating user information maintained by another user system
US7003560B1 (en) 1999-11-03 2006-02-21 Accenture Llp Data warehouse computing system
US6401066B1 (en) 1999-11-09 2002-06-04 West Teleservices Holding Company Automated third party verification system
US7124101B1 (en) 1999-11-22 2006-10-17 Accenture Llp Asset tracking in a network-based supply chain environment
US6606744B1 (en) 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US20090313049A1 (en) 1999-12-18 2009-12-17 Raymond Anthony Joao Apparatus and Method for Processing and/or Providing Healthcare Information and/or Healthcare-Related Information
US7788222B2 (en) 1999-12-20 2010-08-31 Planetid, Inc. Information exchange engine providing a critical infrastructure layer and methods of use thereof
US7167844B1 (en) 1999-12-22 2007-01-23 Accenture Llp Electronic menu document creator in a virtual financial environment
US6629081B1 (en) 1999-12-22 2003-09-30 Accenture Llp Account settlement and financing in an e-commerce environment
US7346518B1 (en) 1999-12-30 2008-03-18 At&T Bls Intellectual Property, Inc. System and method for determining the marketability of intellectual property assets
US6904417B2 (en) 2000-01-06 2005-06-07 Jefferson Data Strategies, Llc Policy notice method and system
US20020077941A1 (en) 2000-01-11 2002-06-20 Halligan R. Mark Method and apparatus for documentation, analysis, auditing, accounting, protection, registration, and verification of trade secrets
US6701314B1 (en) 2000-01-21 2004-03-02 Science Applications International Corporation System and method for cataloguing digital information for searching and retrieval
US6996807B1 (en) 2000-02-01 2006-02-07 Isogon Corporation Consolidation and reduction of usage data
US6816944B2 (en) 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US7454457B1 (en) 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
US6640098B1 (en) 2000-02-14 2003-10-28 Action Engine Corporation System for obtaining service-related information for local interactive wireless devices
US20020029207A1 (en) 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US7752124B2 (en) 2000-03-03 2010-07-06 Mavent Holdings, Inc. System and method for automated loan compliance assessment
US6662192B1 (en) 2000-03-29 2003-12-09 Bizrate.Com System and method for data collection, evaluation, information generation, and presentation
CA2305249A1 (en) 2000-04-14 2001-10-14 Branko Sarcanin Virtual safe
US7376835B2 (en) 2000-04-25 2008-05-20 Secure Data In Motion, Inc. Implementing nonrepudiation and audit using authentication assertions and key servers
US6925443B1 (en) 2000-04-26 2005-08-02 Safeoperations, Inc. Method, system and computer program product for assessing information security
US6625602B1 (en) 2000-04-28 2003-09-23 Microsoft Corporation Method and system for hierarchical transactions and compensation
US7225460B2 (en) 2000-05-09 2007-05-29 International Business Machine Corporation Enterprise privacy manager
US7284232B1 (en) 2000-05-15 2007-10-16 International Business Machines Corporation Automated generation of aliases based on embedded alias information
JP2002056176A (en) 2000-06-01 2002-02-20 Asgent Inc Method and device for structuring security policy and method and device for supporting security policy structuring
US7167842B1 (en) 2000-06-27 2007-01-23 Ncr Corp. Architecture and method for operational privacy in business services
US8380630B2 (en) 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US7039594B1 (en) 2000-07-26 2006-05-02 Accenture, Llp Method and system for content management assessment, planning and delivery
CA2417763A1 (en) 2000-08-04 2002-02-14 Infoglide Corporation System and method for comparing heterogeneous data sources
US6574631B1 (en) 2000-08-09 2003-06-03 Oracle International Corporation Methods and systems for runtime optimization and customization of database applications and application entities
US6993448B2 (en) 2000-08-09 2006-01-31 Telos Corporation System, method and medium for certifying and accrediting requirements compliance
US6901346B2 (en) 2000-08-09 2005-05-31 Telos Corporation System, method and medium for certifying and accrediting requirements compliance
EP1410137A2 (en) 2000-08-09 2004-04-21 Datawipe Management Services Limited Personal data device and protection system and method for storing and protecting personal data
US20030130893A1 (en) 2000-08-11 2003-07-10 Telanon, Inc. Systems, methods, and computer program products for privacy protection
US20020049907A1 (en) 2000-08-16 2002-04-25 Woods Christopher E. Permission based data exchange
GB0021083D0 (en) 2000-08-25 2000-10-11 Claripoint Ltd Web page access
US7685577B2 (en) 2000-09-01 2010-03-23 Op40, Inc. System and method for translating an asset for distribution over multi-tiered networks
AU2001287044A1 (en) 2000-09-05 2002-03-22 Big Think Llc System and method for personalization implemented on multiple networks and multiple interfaces
US7127705B2 (en) 2000-09-06 2006-10-24 Oracle International Corporation Developing applications online
US6757888B1 (en) 2000-09-08 2004-06-29 Corel Inc. Method and apparatus for manipulating data during automated data processing
US7330850B1 (en) 2000-10-04 2008-02-12 Reachforce, Inc. Text mining system for web-based business intelligence applied to web site server logs
US7322047B2 (en) 2000-11-13 2008-01-22 Digital Doors, Inc. Data security system and method associated with data mining
US7313825B2 (en) 2000-11-13 2007-12-25 Digital Doors, Inc. Data security system and method for portable device
JP2002236577A (en) 2000-11-17 2002-08-23 Canon Inc Automatic authenticating method for print processing and system thereof
US20020161733A1 (en) 2000-11-27 2002-10-31 First To File, Inc. Method of creating electronic prosecution experience for patent applicant
US20040003132A1 (en) 2000-12-06 2004-01-01 Biosentients, Inc. Data pool architecture, system, and method for intelligent object data in heterogeneous data environments
US7712029B2 (en) 2001-01-05 2010-05-04 Microsoft Corporation Removing personal information when a save option is and is not available
US7219066B2 (en) 2001-01-12 2007-05-15 International Business Machines Corporation Skills matching application
US7174534B2 (en) 2001-01-22 2007-02-06 Symbol Technologies, Inc. Efficient system and method for running and analyzing multi-channel, multi-modal applications
US7603356B2 (en) 2001-01-26 2009-10-13 Ascentive Llc System and method for network administration and local administration of privacy protection criteria
US6732109B2 (en) 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
AU2002244083A1 (en) 2001-01-31 2002-08-12 Timothy David Dodd Method and system for calculating risk in association with a security audit of a computer network
US7017105B2 (en) 2001-02-02 2006-03-21 Microsoft Corporation Deleting objects from a store of a device
GB2372344A (en) 2001-02-17 2002-08-21 Hewlett Packard Co System for the anonymous purchase of products or services online
EP1233333A1 (en) 2001-02-19 2002-08-21 Hewlett-Packard Company Process for executing a downloadable service receiving restrictive access rights to al least one profile file
US20020129216A1 (en) 2001-03-06 2002-09-12 Kevin Collins Apparatus and method for configuring available storage capacity on a network as a logical device
US7284271B2 (en) 2001-03-14 2007-10-16 Microsoft Corporation Authorizing a requesting entity to operate upon data structures
AUPR372601A0 (en) 2001-03-14 2001-04-12 C.R. Group Pty Limited Method and system for secure information
US7287280B2 (en) 2002-02-12 2007-10-23 Goldman Sachs & Co. Automated security management
US7171379B2 (en) 2001-03-23 2007-01-30 Restaurant Services, Inc. System, method and computer program product for normalizing data in a supply chain management framework
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US8135815B2 (en) 2001-03-27 2012-03-13 Redseal Systems, Inc. Method and apparatus for network wide policy-based analysis of configurations of devices
US7353204B2 (en) 2001-04-03 2008-04-01 Zix Corporation Certified transmission system
US20020161594A1 (en) 2001-04-27 2002-10-31 Bryan Helen Elizabeth Method and system for providing remote quality assurance audits
GB0110686D0 (en) 2001-05-01 2001-06-20 E Solutech Ltd As Method of mapping going
US7003662B2 (en) 2001-05-24 2006-02-21 International Business Machines Corporation System and method for dynamically determining CRL locations and access methods
US7673282B2 (en) 2001-05-25 2010-03-02 International Business Machines Corporation Enterprise information unification
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US7069427B2 (en) 2001-06-19 2006-06-27 International Business Machines Corporation Using a rules model to improve handling of personally identifiable information
US7047517B1 (en) 2001-07-03 2006-05-16 Advanced Micro Devices System for integrating data between a plurality of software applications in a factory environment
GB2378013A (en) 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
AU2002355530A1 (en) 2001-08-03 2003-02-24 John Allen Ananian Personalized interactive digital catalog profiling
US20030065641A1 (en) 2001-10-01 2003-04-03 Chaloux Robert D. Systems and methods for acquiring information associated with an organization having a plurality of units
US7584505B2 (en) 2001-10-16 2009-09-01 Microsoft Corporation Inspected secure communication protocol
EP1442397A4 (en) 2001-10-24 2006-11-15 Bea Systems Inc Data synchronization
US7478157B2 (en) 2001-11-07 2009-01-13 International Business Machines Corporation System, method, and business methods for enforcing privacy preferences on personal-data exchanges across a network
US20030093680A1 (en) 2001-11-13 2003-05-15 International Business Machines Corporation Methods, apparatus and computer programs performing a mutual challenge-response authentication protocol using operating system capabilities
US8819253B2 (en) 2001-11-13 2014-08-26 Oracle America, Inc. Network message generation for automated authentication
US20030097661A1 (en) 2001-11-16 2003-05-22 Li Hua Harry Time-shifted television over IP network system
US20030097451A1 (en) 2001-11-16 2003-05-22 Nokia, Inc. Personal data repository
US6978270B1 (en) 2001-11-16 2005-12-20 Ncr Corporation System and method for capturing and storing operational data concerning an internet service provider's (ISP) operational environment and customer web browsing habits
US7409354B2 (en) 2001-11-29 2008-08-05 Medison Online Inc. Method and apparatus for operative event documentation and related data management
US7051036B2 (en) 2001-12-03 2006-05-23 Kraft Foods Holdings, Inc. Computer-implemented system and method for project development
US8166406B1 (en) 2001-12-04 2012-04-24 Microsoft Corporation Internet privacy user interface
WO2003050773A2 (en) 2001-12-10 2003-06-19 Beamtrust A/S Method of managing lists of purchased goods
US7681034B1 (en) 2001-12-12 2010-03-16 Chang-Ping Lee Method and apparatus for securing electronic data
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US20030115142A1 (en) 2001-12-12 2003-06-19 Intel Corporation Identity authentication portfolio system
US7281020B2 (en) 2001-12-12 2007-10-09 Naomi Fine Proprietary information identification, management and protection
US20040002818A1 (en) 2001-12-21 2004-01-01 Affymetrix, Inc. Method, system and computer software for providing microarray probe data
WO2003065234A1 (en) 2001-12-27 2003-08-07 Nokia Corporation Low-overhead processor interfacing
US20030131001A1 (en) 2002-01-04 2003-07-10 Masanobu Matsuo System, method and computer program product for setting access rights to information in an information exchange framework
US20030131093A1 (en) 2002-01-09 2003-07-10 International Business Machines Corporation System for generating usage data in a distributed information processing environment and method therefor
US20030140150A1 (en) 2002-01-14 2003-07-24 Dean Kemp Self-monitoring service system with reporting of asset changes by time and category
US7562339B2 (en) 2002-01-15 2009-07-14 Bea Systems, Inc. System architecture for business process development and execution with introspection and generic components
US7627666B1 (en) 2002-01-25 2009-12-01 Accenture Global Services Gmbh Tracking system incorporating business intelligence
AU2003207856A1 (en) 2002-02-04 2003-09-02 Cataphora, Inc A method and apparatus to visually present discussions for data mining purposes
JP4227751B2 (en) 2002-02-05 2009-02-18 日本電気株式会社 Information distribution system and information distribution method
US7039654B1 (en) 2002-09-12 2006-05-02 Asset Trust, Inc. Automated bot development system
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US7076558B1 (en) 2002-02-27 2006-07-11 Microsoft Corporation User-centric consent management system and method
US7058970B2 (en) 2002-02-27 2006-06-06 Intel Corporation On connect security scan and delivery by a network security authority
US20030167216A1 (en) 2002-03-01 2003-09-04 Brown John S. Method and apparatus for tracking fixed assets
US7023979B1 (en) 2002-03-07 2006-04-04 Wai Wu Telephony control system with intelligent call routing
US6755344B1 (en) 2002-03-12 2004-06-29 First Data Corporation Systems and methods for determining an authorization threshold
US20030212604A1 (en) 2002-05-09 2003-11-13 Cullen Andrew A. System and method for enabling and maintaining vendor qualification
US7552480B1 (en) 2002-04-23 2009-06-23 Citibank, N.A. Method and system of assessing risk using a one-dimensional risk assessment model
US7383570B2 (en) 2002-04-25 2008-06-03 Intertrust Technologies, Corp. Secure authentication systems and methods
US7290275B2 (en) 2002-04-29 2007-10-30 Schlumberger Omnes, Inc. Security maturity assessment method
US7401235B2 (en) 2002-05-10 2008-07-15 Microsoft Corporation Persistent authorization context based on external authentication
US9049314B2 (en) 2002-05-15 2015-06-02 Verisma Systems, Inc. Dynamically and customizably managing data in compliance with privacy and security standards
US20040111359A1 (en) 2002-06-04 2004-06-10 Hudock John J. Business method for credit verification and correction
US7853468B2 (en) 2002-06-10 2010-12-14 Bank Of America Corporation System and methods for integrated compliance monitoring
US7493282B2 (en) 2002-06-12 2009-02-17 Bank Of America Corporation System and method for automated account management
EP1552406A4 (en) 2002-06-18 2007-08-08 Computer Ass Think Inc Methods and systems for managing enterprise assets
US7454508B2 (en) 2002-06-28 2008-11-18 Microsoft Corporation Consent mechanism for online entities
US7051038B1 (en) 2002-06-28 2006-05-23 Microsoft Corporation Method and system for a reporting information services architecture
US6980987B2 (en) 2002-06-28 2005-12-27 Alto Technology Resources, Inc. Graphical user interface-relational database access system for a robotic archive
US7930753B2 (en) 2002-07-01 2011-04-19 First Data Corporation Methods and systems for performing security risk assessments of internet merchant entities
SE0202057D0 (en) 2002-07-02 2002-07-02 Ericsson Telefon Ab L M Cookie receipt header
US7275063B2 (en) 2002-07-16 2007-09-25 Horn Bruce L Computer system for automatic organization, indexing and viewing of information from multiple sources
US20080281649A1 (en) 2002-07-30 2008-11-13 Morris Daniel R System and method for automated release tracking
US20110082794A1 (en) 2002-08-01 2011-04-07 Blechman Elaine A Client-centric e-health system and method with applications to long-term health and community care consumers, insurers, and regulators
US7801826B2 (en) 2002-08-08 2010-09-21 Fujitsu Limited Framework and system for purchasing of goods and services
US7203929B1 (en) 2002-08-19 2007-04-10 Sprint Communications Company L.P. Design data validation tool for use in enterprise architecture modeling
US7213233B1 (en) 2002-08-19 2007-05-01 Sprint Communications Company L.P. Modeling standards validation tool for use in enterprise architecture modeling
US7216340B1 (en) 2002-08-19 2007-05-08 Sprint Communications Company L.P. Analysis data validation tool for use in enterprise architecture modeling with result based model updating
US20040044628A1 (en) 2002-08-27 2004-03-04 Microsoft Corporation Method and system for enforcing online identity consent polices
US7234065B2 (en) 2002-09-17 2007-06-19 Jpmorgan Chase Bank System and method for managing data privacy
US7665125B2 (en) 2002-09-23 2010-02-16 Heard Robert W System and method for distribution of security policies for mobile devices
US6886101B2 (en) 2002-10-30 2005-04-26 American Express Travel Related Services Company, Inc. Privacy service
US20040088235A1 (en) 2002-11-01 2004-05-06 Ziekle William D. Technique for customizing electronic commerce user
US6980927B2 (en) 2002-11-27 2005-12-27 Telos Corporation Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing continuous risk assessment
US6983221B2 (en) 2002-11-27 2006-01-03 Telos Corporation Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing robust risk assessment model
US7370025B1 (en) 2002-12-17 2008-05-06 Symantec Operating Corporation System and method for providing access to replicated data
US7263474B2 (en) 2003-01-29 2007-08-28 Dancing Rock Trust Cultural simulation model for modeling of agent behavioral expression and simulation data visualization methods
GB2398712B (en) 2003-01-31 2006-06-28 Hewlett Packard Development Co Privacy management of personal data
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US7624422B2 (en) 2003-02-14 2009-11-24 Preventsys, Inc. System and method for security information normalization
US7606790B2 (en) 2003-03-03 2009-10-20 Digimarc Corporation Integrating and enhancing searching of media content and biometric databases
US7676034B1 (en) 2003-03-07 2010-03-09 Wai Wu Method and system for matching entities in an auction
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US20040186912A1 (en) 2003-03-20 2004-09-23 International Business Machines Corporation Method and system for transparently supporting digital signatures associated with web transactions
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US8201256B2 (en) 2003-03-28 2012-06-12 Trustwave Holdings, Inc. Methods and systems for assessing and advising on electronic compliance
US7617167B2 (en) 2003-04-09 2009-11-10 Avisere, Inc. Machine vision system for enterprise management
US7272818B2 (en) 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure
US7966663B2 (en) 2003-05-20 2011-06-21 United States Postal Service Methods and systems for determining privacy requirements for an information resource
JP2004348337A (en) 2003-05-21 2004-12-09 Minolta Co Ltd Network information processor
WO2004109443A2 (en) 2003-06-02 2004-12-16 Liquid Machines, Inc. Managing data objects in dynamic, distributed and collaborative contexts
US7788726B2 (en) 2003-07-02 2010-08-31 Check Point Software Technologies, Inc. System and methodology providing information lockbox
EP1652037A4 (en) 2003-07-11 2008-04-23 Computer Ass Think Inc Infrastructure auto discovery from business process models via middleware flows
US7617136B1 (en) 2003-07-15 2009-11-10 Teradata Us, Inc. System and method for capturing, storing and analyzing revenue management information for the travel and transportation industries
US7921152B2 (en) 2003-07-17 2011-04-05 International Business Machines Corporation Method and system for providing user control over receipt of cookies from e-commerce applications
US8200775B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US20050033616A1 (en) 2003-08-05 2005-02-10 Ezrez Software, Inc. Travel management system providing customized travel plan
US20050081026A1 (en) 2003-08-15 2005-04-14 Imcentric, Inc. Software product for installing SSL certificates to SSL-enablable devices
US8346929B1 (en) 2003-08-18 2013-01-01 Oracle America, Inc. System and method for generating secure Web service architectures using a Web Services security assessment methodology
US7698398B1 (en) 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US7302569B2 (en) 2003-08-19 2007-11-27 International Business Machines Corporation Implementation and use of a PII data access control facility employing personally identifying information labels and purpose serving functions sets
US7428546B2 (en) 2003-08-21 2008-09-23 Microsoft Corporation Systems and methods for data modeling in an item-based storage platform
US7725875B2 (en) 2003-09-04 2010-05-25 Pervasive Software, Inc. Automated world wide web navigation and content extraction
US7849103B2 (en) 2003-09-10 2010-12-07 West Services, Inc. Relationship collaboration system
US7613700B1 (en) 2003-09-18 2009-11-03 Matereality, LLC System and method for electronic submission, procurement, and access to highly varied material property data
EP1517469A1 (en) 2003-09-18 2005-03-23 Comptel Corporation Method, system and computer program product for online charging in a communications network
US7813947B2 (en) 2003-09-23 2010-10-12 Enterra Solutions, Llc Systems and methods for optimizing business processes, complying with regulations, and identifying threat and vulnerabilty risks for an enterprise
US20050076294A1 (en) 2003-10-01 2005-04-07 Dehamer Brian James Method and apparatus for supporting layout management in a web presentation architecture
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7247625B2 (en) 2003-10-09 2007-07-24 Wyeth 6-amino-1,4-dihydro-benzo[d][1,3] oxazin-2-ones and analogs useful as progesterone receptor modulators
US7340447B2 (en) 2003-10-09 2008-03-04 Oracle International Corporation Partitioning data access requests
US7382903B2 (en) 2003-11-19 2008-06-03 Eastman Kodak Company Method for selecting an emphasis image from an image collection based upon content recognition
US8423451B1 (en) 2003-12-01 2013-04-16 Fannie Mai System and method for processing a loan
US7548968B1 (en) 2003-12-10 2009-06-16 Markmonitor Inc. Policing internet domains
US7801758B2 (en) 2003-12-12 2010-09-21 The Pnc Financial Services Group, Inc. System and method for conducting an optimized customer identification program
US7844640B2 (en) 2003-12-17 2010-11-30 Sap Ag Data mapping visualization
US20050144066A1 (en) 2003-12-19 2005-06-30 Icood, Llc Individually controlled and protected targeted incentive distribution system
US7529836B1 (en) 2004-01-08 2009-05-05 Network Appliance, Inc. Technique for throttling data access requests
US20050198177A1 (en) 2004-01-23 2005-09-08 Steve Black Opting out of spam
US7266566B1 (en) 2004-01-28 2007-09-04 Breken Technologies Group Database management system
US20100223349A1 (en) 2004-02-03 2010-09-02 Joel Thorson System, method and apparatus for message targeting and filtering
US7873541B1 (en) 2004-02-11 2011-01-18 SQAD, Inc. System and method for aggregating advertising pricing data
US7590705B2 (en) 2004-02-23 2009-09-15 Microsoft Corporation Profile and consent accrual
WO2005082101A2 (en) 2004-02-26 2005-09-09 Truefire, Inc. Systems and methods for producing, managing, delivering, retrieving, and/or tracking permission based communications
FI118311B (en) 2004-03-03 2007-09-28 Helmi Technologies Oy Procedure, data processing apparatus, computer software product and arrangements for processing electronic data
US20050197884A1 (en) 2004-03-04 2005-09-08 Mullen James G.Jr. System and method for designing and conducting surveys and providing anonymous results
JP4452533B2 (en) 2004-03-19 2010-04-21 株式会社日立製作所 System and storage system
US7636742B1 (en) 2004-04-01 2009-12-22 Intuit Inc. Automated data retrieval
US7607120B2 (en) 2004-04-20 2009-10-20 Hewlett-Packard Development Company, L.P. Method and apparatus for creating data transformation routines for binary data
US7870608B2 (en) 2004-05-02 2011-01-11 Markmonitor, Inc. Early detection and monitoring of online fraud
US8769671B2 (en) 2004-05-02 2014-07-01 Markmonitor Inc. Online fraud solution
US7877327B2 (en) 2004-05-03 2011-01-25 Trintuition Llc Apparatus and method for creating and using documents in a distributed computing network
US20070180490A1 (en) 2004-05-20 2007-08-02 Renzi Silvio J System and method for policy management
GB2414639A (en) 2004-05-28 2005-11-30 Clink Systems Ltd Method for naming and authentication
US9047583B2 (en) 2004-05-28 2015-06-02 Lawson Software, Inc. Ontology context logic at a key field level
US7313575B2 (en) 2004-06-14 2007-12-25 Hewlett-Packard Development Company, L.P. Data services handler
US9245266B2 (en) 2004-06-16 2016-01-26 Callahan Cellular L.L.C. Auditable privacy policies in a distributed hierarchical identity management system
US7493596B2 (en) 2004-06-30 2009-02-17 International Business Machines Corporation Method, system and program product for determining java software code plagiarism and infringement
US7870540B2 (en) 2004-07-09 2011-01-11 Microsoft Corporation Dynamic object validation
US7223234B2 (en) 2004-07-10 2007-05-29 Monitrix, Inc. Apparatus for determining association variables
AU2005266922A1 (en) 2004-07-23 2006-02-02 Privit, Inc. Privacy compliant consent and data access management system and method
US20060031078A1 (en) 2004-08-04 2006-02-09 Barbara Pizzinger Method and system for electronically processing project requests
US20060035204A1 (en) 2004-08-11 2006-02-16 Lamarche Wesley E Method of processing non-responsive data items
US8615731B2 (en) 2004-08-25 2013-12-24 Mohit Doshi System and method for automating the development of web services that incorporate business rules
US8312549B2 (en) 2004-09-24 2012-11-13 Ygor Goldberg Practical threat analysis
US7620644B2 (en) 2004-10-19 2009-11-17 Microsoft Corporation Reentrant database object wizard
US7716242B2 (en) 2004-10-19 2010-05-11 Oracle International Corporation Method and apparatus for controlling access to personally identifiable information
US7567541B2 (en) 2004-10-20 2009-07-28 Bizhan Karimi System and method for personal data backup for mobile customer premises equipment
JP2008518364A (en) 2004-10-27 2008-05-29 ヴェリサイン インコーポレイテッド Data management method and apparatus in portable terminal
US7590972B2 (en) 2004-10-28 2009-09-15 Cogency Software, Inc. Role-oriented development environment
US8464311B2 (en) 2004-10-28 2013-06-11 International Business Machines Corporation Method and system for implementing privacy notice, consent, and preference with a privacy proxy
US7958087B2 (en) 2004-11-17 2011-06-07 Iron Mountain Incorporated Systems and methods for cross-system digital asset tag propagation
US7953725B2 (en) 2004-11-19 2011-05-31 International Business Machines Corporation Method, system, and storage medium for providing web information processing services
US8180759B2 (en) 2004-11-22 2012-05-15 International Business Machines Corporation Spell checking URLs in a resource
DE112005002887T5 (en) 2004-11-23 2008-01-03 Intuit, Inc., Mountain View Model-driven user interview
US7966310B2 (en) 2004-11-24 2011-06-21 At&T Intellectual Property I, L.P. Method, system, and software for correcting uniform resource locators
KR20070091163A (en) 2004-11-30 2007-09-07 맥스시티 인코포레이티드 Computerized electroporation
US7512987B2 (en) 2004-12-03 2009-03-31 Motion Picture Association Of America Adaptive digital rights management system for plural device domains
US7480755B2 (en) 2004-12-08 2009-01-20 Hewlett-Packard Development Company, L.P. Trap mode register
US20060149730A1 (en) 2004-12-30 2006-07-06 Curtis James R Client authenticated web browser with access approval mechanism
EP1679645A1 (en) 2005-01-10 2006-07-12 Sap Ag Method and computer system for assigning tangible assets to workplaces
US7996372B2 (en) 2005-01-18 2011-08-09 Mercury Communications Group, Llc Automated response to solicited and unsolicited communications and automated collection and management of data extracted therefrom
US7975000B2 (en) 2005-01-27 2011-07-05 Fmr Llc A/B testing of a webpage
US20060190280A1 (en) 2005-02-22 2006-08-24 Lockheed Martin Corporation Method and apparatus for management for use in fleet service and logistics
US7536389B1 (en) 2005-02-22 2009-05-19 Yahoo ! Inc. Techniques for crawling dynamic web content
US20060224422A1 (en) 2005-02-25 2006-10-05 Cohen Ralph B System and method for applying for insurance at a point of sale
US7685561B2 (en) 2005-02-28 2010-03-23 Microsoft Corporation Storage API for a common data platform
US20060206375A1 (en) 2005-03-11 2006-09-14 Light Rhythms, Llc System and method for targeted advertising and promotions based on previous event participation
US8418226B2 (en) 2005-03-18 2013-04-09 Absolute Software Corporation Persistent servicing agent
US7412402B2 (en) 2005-03-22 2008-08-12 Kim A. Cooper Performance motivation systems and methods for contact centers
US7343434B2 (en) 2005-03-31 2008-03-11 Intel Corporation Buffer management within SLS (simple load store) apertures for inter-endpoint communication in advanced switching fabric
US7665073B2 (en) 2005-04-18 2010-02-16 Microsoft Corporation Compile time meta-object protocol systems and methods
US7523053B2 (en) 2005-04-25 2009-04-21 Oracle International Corporation Internal audit operations for Sarbanes Oxley compliance
US10521786B2 (en) 2005-04-26 2019-12-31 Spriv Llc Method of reducing fraud in on-line transactions
US8275793B2 (en) 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
US8566726B2 (en) 2005-05-03 2013-10-22 Mcafee, Inc. Indicating website reputations based on website handling of personal information
US8949137B2 (en) 2005-05-03 2015-02-03 Medicity, Inc. Managing patient consent in a master patient index
US7822620B2 (en) 2005-05-03 2010-10-26 Mcafee, Inc. Determining website reputations using automatic testing
US20060253597A1 (en) 2005-05-05 2006-11-09 Mujica Technologies Inc. E-mail system
US8583694B2 (en) 2005-05-09 2013-11-12 Atlas Development Corporation Health-care related database middleware
US7606783B1 (en) 2005-05-10 2009-10-20 Robert M. Carter Health, safety and security analysis at a client location
US8036374B2 (en) 2005-05-16 2011-10-11 Noble Systems Corporation Systems and methods for detecting call blocking devices or services
US20060259416A1 (en) 2005-05-16 2006-11-16 Garrett Johnson Distributed system for securities transactions
US7756826B2 (en) 2006-06-30 2010-07-13 Citrix Systems, Inc. Method and systems for efficient delivery of previously stored content
US7788632B2 (en) 2005-06-02 2010-08-31 United States Postal Service Methods and systems for evaluating the compliance of software to a quality benchmark
GB2427045B (en) 2005-06-06 2007-11-21 Transitive Ltd Method and apparatus for converting program code with access coordination for a shared resource
US7630998B2 (en) 2005-06-10 2009-12-08 Microsoft Corporation Performing a deletion of a node in a tree data storage structure
US20070027715A1 (en) 2005-06-13 2007-02-01 Medcommons, Inc. Private health information interchange and related systems, methods, and devices
US20070011058A1 (en) 2005-06-17 2007-01-11 Nextchoice Systems, Inc. Mapping of order information in heterogeneous point-of-sale environments
US20070011147A1 (en) 2005-06-22 2007-01-11 Affiniti, Inc. Systems and methods for retrieving data
US7822820B2 (en) 2005-07-01 2010-10-26 0733660 B.C. Ltd. Secure electronic mail system with configurable cryptographic engine
US9401900B2 (en) 2005-07-01 2016-07-26 Cirius Messaging Inc. Secure electronic mail system with thread/conversation opt out
CA2513018A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
US20070061125A1 (en) 2005-08-12 2007-03-15 Bhatt Sandeep N Enterprise environment analysis
US8250051B2 (en) 2005-08-26 2012-08-21 Harris Corporation System, program product, and methods to enhance media content management
US7693897B2 (en) 2005-08-26 2010-04-06 Harris Corporation System, program product, and methods to enhance media content management
US7487170B2 (en) 2005-09-02 2009-02-03 Qwest Communications International Inc. Location information for avoiding unwanted communications systems and methods
US9912677B2 (en) 2005-09-06 2018-03-06 Daniel Chien Evaluating a questionable network communication
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20070130101A1 (en) 2005-10-26 2007-06-07 Anderson Terry P Method and system for granting access to personal information
US7565685B2 (en) 2005-11-12 2009-07-21 Intel Corporation Operating system independent data management
US20070130323A1 (en) 2005-12-02 2007-06-07 Landsman Richard A Implied presence detection in a communication system
US7673135B2 (en) 2005-12-08 2010-03-02 Microsoft Corporation Request authentication token
US8381297B2 (en) 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
EP1960959A4 (en) 2005-12-16 2011-07-27 Apex Analytix Inc Systems and methods for automated vendor risk analysis
US20070143851A1 (en) 2005-12-21 2007-06-21 Fiberlink Method and systems for controlling access to computing resources based on known security vulnerabilities
JP2007172269A (en) 2005-12-21 2007-07-05 Internatl Business Mach Corp <Ibm> Test method and test device for program
EP1802155A1 (en) 2005-12-21 2007-06-27 Cronto Limited System and method for dynamic multifactor authentication
US7657476B2 (en) 2005-12-28 2010-02-02 Patentratings, Llc Method and system for valuing intangible assets
US7801912B2 (en) 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
US7774745B2 (en) 2005-12-29 2010-08-10 Sap Ag Mapping of designtime to runtime in a visual modeling language environment
US7849143B2 (en) 2005-12-29 2010-12-07 Research In Motion Limited System and method of dynamic management of spam
US20070157311A1 (en) 2005-12-29 2007-07-05 Microsoft Corporation Security modeling and the application life cycle
US8370794B2 (en) 2005-12-30 2013-02-05 Sap Ag Software model process component
US7885841B2 (en) 2006-01-05 2011-02-08 Oracle International Corporation Audit planning
US20070173355A1 (en) 2006-01-13 2007-07-26 Klein William M Wireless sensor scoring with automatic sensor synchronization
US20070179793A1 (en) 2006-01-17 2007-08-02 Sugato Bagchi Method and apparatus for model-driven managed business services
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8156105B2 (en) 2006-02-06 2012-04-10 Itaggit, Inc. Rapid item data entry for physical items in the control of a user in an item data management server
US7761586B2 (en) 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
CA2932591C (en) 2006-02-07 2023-07-25 Ticketmaster Methods and systems for reducing burst usage of a networked computer system
US20070192438A1 (en) 2006-02-10 2007-08-16 Esmond Goei System and method for on-demand delivery of media products
US7827523B2 (en) 2006-02-22 2010-11-02 Yahoo! Inc. Query serving infrastructure providing flexible and expandable support and compiling instructions
US20070198449A1 (en) 2006-02-23 2007-08-23 Achille Fokoue-Nkoutche Method and apparatus for safe ontology reasoning
US8707451B2 (en) 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US7516882B2 (en) 2006-03-09 2009-04-14 Robert Cucinotta Remote validation system useful for financial transactions
US8423954B2 (en) 2006-03-31 2013-04-16 Sap Ag Interactive container of development components and solutions
JP2007279876A (en) 2006-04-04 2007-10-25 Hitachi Global Storage Technologies Netherlands Bv Production planning method and production planning system
US9058590B2 (en) 2006-04-10 2015-06-16 Microsoft Technology Licensing, Llc Content upload safety tool
US20070239998A1 (en) 2006-04-11 2007-10-11 Medox Exchange, Inc. Dynamic binding of access and usage rights to computer-based resources
US9959582B2 (en) 2006-04-12 2018-05-01 ClearstoneIP Intellectual property information retrieval
JP4842690B2 (en) 2006-04-14 2011-12-21 富士通株式会社 Application management program, application management method, and application management apparatus
US8099709B2 (en) 2006-04-28 2012-01-17 Sap Ag Method and system for generating and employing a dynamic web services interface model
US20070266420A1 (en) 2006-05-12 2007-11-15 International Business Machines Corporation Privacy modeling framework for software applications
US8589238B2 (en) 2006-05-31 2013-11-19 Open Invention Network, Llc System and architecture for merchant integration of a biometric payment system
US20150033112A1 (en) 2006-06-15 2015-01-29 Social Commenting, Llc System and method for tagging content in a digital media display
US8117441B2 (en) 2006-06-20 2012-02-14 Microsoft Corporation Integrating security protection tools with computer device integrity and privacy policy
WO2007148562A1 (en) 2006-06-22 2007-12-27 Nec Corporation Shared management system, share management method, and program
US8095923B2 (en) 2006-06-29 2012-01-10 Augusta Systems, Inc. System and method for deploying and managing intelligent nodes in a distributed network
US20080005778A1 (en) 2006-07-03 2008-01-03 Weifeng Chen System and method for privacy protection using identifiability risk assessment
US8560956B2 (en) 2006-07-07 2013-10-15 International Business Machines Corporation Processing model of an application wiki
US8020206B2 (en) 2006-07-10 2011-09-13 Websense, Inc. System and method of analyzing web content
US20080015927A1 (en) 2006-07-17 2008-01-17 Ramirez Francisco J System for Enabling Secure Private Exchange of Data and Communication Between Anonymous Network Participants and Third Parties and a Method Thereof
US9177293B1 (en) 2006-07-21 2015-11-03 Cousins Intellectual Properties Llc Spam filtering system and method
US20080028065A1 (en) 2006-07-26 2008-01-31 Nt Objectives, Inc. Application threat modeling
US7917963B2 (en) 2006-08-09 2011-03-29 Antenna Vaultus, Inc. System for providing mobile data security
US20080047016A1 (en) 2006-08-16 2008-02-21 Cybrinth, Llc CCLIF: A quantified methodology system to assess risk of IT architectures and cyber operations
US8392962B2 (en) 2006-08-18 2013-03-05 At&T Intellectual Property I, L.P. Web-based collaborative framework
US7966599B1 (en) 2006-08-29 2011-06-21 Adobe Systems Incorporated Runtime library including a virtual file system
US8381180B2 (en) 2006-09-08 2013-02-19 Sap Ag Visually exposing data services to analysts
US8370224B2 (en) 2006-09-27 2013-02-05 Rockwell Automation Technologies, Inc. Graphical interface for display of assets in an asset management system
JP4171757B2 (en) 2006-09-28 2008-10-29 株式会社東芝 Ontology integration support device, ontology integration support method, and ontology integration support program
US7930197B2 (en) 2006-09-28 2011-04-19 Microsoft Corporation Personal data mining
US8341405B2 (en) 2006-09-28 2012-12-25 Microsoft Corporation Access management in an off-premise environment
US8601467B2 (en) 2006-10-03 2013-12-03 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US7802305B1 (en) 2006-10-10 2010-09-21 Adobe Systems Inc. Methods and apparatus for automated redaction of content in a document
US20080147655A1 (en) 2006-10-10 2008-06-19 Alok Sinha Virtual network of real-world entities
US8176470B2 (en) 2006-10-13 2012-05-08 International Business Machines Corporation Collaborative derivation of an interface and partial implementation of programming code
US8578481B2 (en) 2006-10-16 2013-11-05 Red Hat, Inc. Method and system for determining a probability of entry of a counterfeit domain in a browser
KR100861104B1 (en) 2006-10-16 2008-09-30 킹스정보통신(주) Apparatus and method for preservation of usb keyboard
US9135444B2 (en) 2006-10-19 2015-09-15 Novell, Inc. Trusted platform module (TPM) assisted data center management
US20080288299A1 (en) 2006-10-31 2008-11-20 Genmobi Technologies, Inc. System and method for user identity validation for online transactions
US8533746B2 (en) 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US7707224B2 (en) 2006-11-03 2010-04-27 Google Inc. Blocking of unlicensed audio content in video files on a video hosting website
US7979494B1 (en) 2006-11-03 2011-07-12 Quest Software, Inc. Systems and methods for monitoring messaging systems
US8578501B1 (en) 2006-11-14 2013-11-05 John W. Ogilvie Anonymous social networking with community-based privacy reviews obtained by members
US20080120699A1 (en) 2006-11-17 2008-05-22 Mcafee, Inc. Method and system for assessing and mitigating access control to a managed network
US20080140696A1 (en) 2006-12-07 2008-06-12 Pantheon Systems, Inc. System and method for analyzing data sources to generate metadata
US8082539B1 (en) 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US8146054B2 (en) 2006-12-12 2012-03-27 International Business Machines Corporation Hybrid data object model
US7853925B2 (en) 2006-12-13 2010-12-14 Sap Ag System and method for managing hierarchical software development
US8037409B2 (en) 2006-12-19 2011-10-11 International Business Machines Corporation Method for learning portal content model enhancements
US7657694B2 (en) 2006-12-20 2010-02-02 Arm Limited Handling access requests in a data processing apparatus
US20080195436A1 (en) 2006-12-21 2008-08-14 Stephen Joseph Whyte Automated supplier self audit questionnaire system
CA2672563A1 (en) 2006-12-28 2008-07-17 International Business Machines Corporation Method and program product for supporting data input for business processing
US8620952B2 (en) 2007-01-03 2013-12-31 Carhamm Ltd., Llc System for database reporting
US7877812B2 (en) 2007-01-04 2011-01-25 International Business Machines Corporation Method, system and computer program product for enforcing privacy policies
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US8655939B2 (en) 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US10007895B2 (en) 2007-01-30 2018-06-26 Jonathan Brian Vanasco System and method for indexing, correlating, managing, referencing and syndicating identities and relationships across systems
US8839232B2 (en) 2007-02-23 2014-09-16 Sugarcrm Inc. Customer relationship management portal system and method
US20080222271A1 (en) 2007-03-05 2008-09-11 Cary Spires Age-restricted website service with parental notification
US8959568B2 (en) 2007-03-14 2015-02-17 Microsoft Corporation Enterprise security assessment sharing
US9189642B2 (en) 2007-03-14 2015-11-17 Oracle America, Inc. Safe processing of on-demand delete requests
US20080235177A1 (en) 2007-03-22 2008-09-25 Jong Young Kim System and method for analyzing corporate regulatory-related data
US7681140B2 (en) 2007-03-23 2010-03-16 Sap Ag Model-based customer engagement techniques
US7756987B2 (en) 2007-04-04 2010-07-13 Microsoft Corporation Cybersquatter patrol
US7958494B2 (en) 2007-04-13 2011-06-07 International Business Machines Corporation Rapid on-boarding of a software factory
US8010612B2 (en) 2007-04-17 2011-08-30 Microsoft Corporation Secure transactional communication
US8196176B2 (en) 2007-04-18 2012-06-05 Ca, Inc. System and method for identifying a cookie as a privacy threat
US20080270381A1 (en) 2007-04-24 2008-10-30 Interse A/S Enterprise-Wide Information Management System for Enhancing Search Queries to Improve Search Result Quality
JP2008276564A (en) 2007-04-27 2008-11-13 Sompo Japan Insurance Inc Database update method
US20080270203A1 (en) 2007-04-27 2008-10-30 Corporation Service Company Assessment of Risk to Domain Names, Brand Names and the Like
WO2008140683A2 (en) 2007-04-30 2008-11-20 Sheltonix, Inc. A method and system for assessing, managing, and monitoring information technology risk
US8205140B2 (en) 2007-05-10 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for the use of network coding in a wireless communication network
US20080282320A1 (en) 2007-05-11 2008-11-13 Denovo Andrew Security Compliance Methodology and Tool
US20090140035A1 (en) 2007-05-18 2009-06-04 Miller David H Data brokerage system for mobile marketing
US8959584B2 (en) 2007-06-01 2015-02-17 Albright Associates Systems and methods for universal enhanced log-in, identity document verification and dedicated survey participation
US8311513B1 (en) 2007-06-27 2012-11-13 ENORCOM Corporation Automated mobile system
US8205093B2 (en) 2007-06-29 2012-06-19 At&T Intellectual Property I, L.P. Restricting access to information
WO2009010948A1 (en) 2007-07-18 2009-01-22 Famillion Ltd. Method and system for use of a database of personal data records
US20090022301A1 (en) 2007-07-19 2009-01-22 Accenture Global Services Gmbh Mobile services
US20090037975A1 (en) 2007-07-30 2009-02-05 Ishikawa Mark M System and Method for Authenticating Content
WO2009015671A1 (en) 2007-07-31 2009-02-05 Sony Corporation Automatically protecting computer systems from attacks that exploit security vulnerabilities
WO2009021070A1 (en) 2007-08-06 2009-02-12 Bernard De Monseignat System and method for authentication, data transfer, and protection against phishing
US8539437B2 (en) 2007-08-30 2013-09-17 International Business Machines Corporation Security process model for tasks within a software factory
US8214362B1 (en) 2007-09-07 2012-07-03 Google Inc. Intelligent identification of form field elements
NL2000858C2 (en) 2007-09-13 2009-03-16 Dlb Finance & Consultancy Bv Vending machine.
US20080288271A1 (en) 2007-09-13 2008-11-20 Claudia Jean Faust Internet-Based Survey System and Method
US8515988B2 (en) 2007-09-24 2013-08-20 Microsoft Corporation Data paging with a stateless service
US8793781B2 (en) 2007-10-12 2014-07-29 International Business Machines Corporation Method and system for analyzing policies for compliance with a specified policy using a policy template
US8606746B2 (en) 2007-10-19 2013-12-10 Oracle International Corporation Privacy management policy hub
TWI344612B (en) 2007-10-23 2011-07-01 Asustek Comp Inc Method for data protection
US8181151B2 (en) 2007-10-26 2012-05-15 Microsoft Corporation Modeling and managing heterogeneous applications
JP2009110287A (en) 2007-10-30 2009-05-21 Fujitsu Ltd Access control device and access control method
US20090119500A1 (en) 2007-11-02 2009-05-07 Microsoft Corporation Managing software configuration using mapping and repeatable processes
KR101074987B1 (en) 2007-11-06 2011-10-18 한국전자통신연구원 Context based rfid privacy control system and the applicable methods for personalization of tagged product
US20090132419A1 (en) 2007-11-15 2009-05-21 Garland Grammer Obfuscating sensitive data while preserving data usability
US8340999B2 (en) 2007-11-27 2012-12-25 International Business Machines Corporation Automatic generation of executable components from business process models
JP5190252B2 (en) 2007-11-27 2013-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Preference matching system, method and program
US8239244B2 (en) 2007-11-30 2012-08-07 Sap Ag System and method for transaction log cleansing and aggregation
US8090754B2 (en) 2007-12-07 2012-01-03 Sap Ag Managing relationships of heterogeneous objects
EP2071798B1 (en) 2007-12-10 2019-08-21 Be Invest International S.A. Method and server of electronic strongboxes with information sharing
US20090158249A1 (en) 2007-12-13 2009-06-18 Andrew Tomkins System and method for testing a software module
WO2013029032A1 (en) 2011-08-25 2013-02-28 Synabee, Inc. Episodic social networks
US20090182818A1 (en) 2008-01-11 2009-07-16 Fortinet, Inc. A Delaware Corporation Heuristic detection of probable misspelled addresses in electronic communications
US8150717B2 (en) 2008-01-14 2012-04-03 International Business Machines Corporation Automated risk assessments using a contextual data model that correlates physical and logical assets
WO2009091421A1 (en) 2008-01-18 2009-07-23 Astakhov Pavel V Electronic certification, identification and communication utilizing encrypted graphical images
US7904478B2 (en) 2008-01-25 2011-03-08 Intuit Inc. Method and apparatus for displaying data models and data-model instances
US8565729B2 (en) 2008-01-30 2013-10-22 Motorola Mobility Llc Devices and methods for data transfer during charging of a portable device
US20090192848A1 (en) 2008-01-30 2009-07-30 Gerald Rea Method and apparatus for workforce assessment
US7991631B2 (en) 2008-02-12 2011-08-02 Hewlett-Packard Development Company, L.P. Managing a multi-supplier environment
US8612993B2 (en) 2008-02-21 2013-12-17 Microsoft Corporation Identity persistence via executable scripts
US20090216610A1 (en) 2008-02-25 2009-08-27 Brand Value Sl Method for obtaining consumer profiles based on cross linking information
US8650399B2 (en) 2008-02-29 2014-02-11 Spansion Llc Memory device and chip set processor pairing
US9325731B2 (en) 2008-03-05 2016-04-26 Facebook, Inc. Identification of and countermeasures against forged websites
CA2632793A1 (en) 2008-04-01 2009-10-01 Allone Health Group, Inc. Information server and mobile delivery system and method
US8510199B1 (en) 2008-04-04 2013-08-13 Marketcore.Com, Inc. Method and apparatus for financial product risk determination
US8977234B2 (en) 2008-04-09 2015-03-10 Airarts, Inc. Using low-cost tags to facilitate mobile transactions
US7729940B2 (en) 2008-04-14 2010-06-01 Tra, Inc. Analyzing return on investment of advertising campaigns by matching multiple data sources
US8689292B2 (en) 2008-04-21 2014-04-01 Api Technologies Corp. Method and systems for dynamically providing communities of interest on an end user workstation
US8490156B2 (en) 2008-05-13 2013-07-16 At&T Mobility Ii Llc Interface for access management of FEMTO cell coverage
US8793614B2 (en) 2008-05-23 2014-07-29 Aol Inc. History-based tracking of user preference settings
US8793757B2 (en) 2008-05-27 2014-07-29 Open Invention Network, Llc User-directed privacy control in a user-centric identity management system
US20090303237A1 (en) 2008-06-06 2009-12-10 International Business Machines Corporation Algorithms for identity anonymization on graphs
US9830563B2 (en) 2008-06-27 2017-11-28 International Business Machines Corporation System and method for managing legal obligations for data
US8863261B2 (en) 2008-07-04 2014-10-14 Samsung Electronics Co., Ltd. User authentication apparatus, method thereof and computer readable recording medium
US20100010912A1 (en) 2008-07-10 2010-01-14 Chacha Search, Inc. Method and system of facilitating a purchase
US11461785B2 (en) 2008-07-10 2022-10-04 Ron M. Redlich System and method to identify, classify and monetize information as an intangible asset and a production model based thereon
US8504481B2 (en) 2008-07-22 2013-08-06 New Jersey Institute Of Technology System and method for protecting user privacy using social inference protection techniques
US8286239B1 (en) 2008-07-24 2012-10-09 Zscaler, Inc. Identifying and managing web risks
US8538943B1 (en) 2008-07-24 2013-09-17 Google Inc. Providing images of named resources in response to a search query
US8763071B2 (en) 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US8561100B2 (en) 2008-07-25 2013-10-15 International Business Machines Corporation Using xpath and ontology engine in authorization control of assets and resources
US7895260B2 (en) 2008-07-28 2011-02-22 International Business Machines Corporation Processing data access requests among a plurality of compute nodes
JP4802229B2 (en) 2008-08-25 2011-10-26 株式会社日立製作所 Storage system with multiple integrated circuits
US9264443B2 (en) 2008-08-25 2016-02-16 International Business Machines Corporation Browser based method of assessing web application vulnerability
US20100094650A1 (en) 2008-09-05 2010-04-15 Son Nam Tran Methods and system for capturing and managing patient consents to prescribed medical procedures
US9928379B1 (en) 2008-09-08 2018-03-27 Steven Miles Hoffer Methods using mediation software for rapid health care support over a secured wireless network; methods of composition; and computer program products therefor
US8826443B1 (en) 2008-09-18 2014-09-02 Symantec Corporation Selective removal of protected content from web requests sent to an interactive website
US8494894B2 (en) 2008-09-19 2013-07-23 Strategyn Holdings, Llc Universal customer based information and ontology platform for business information and innovation management
US20100077484A1 (en) 2008-09-23 2010-03-25 Yahoo! Inc. Location tracking permissions and privacy
US8572717B2 (en) 2008-10-09 2013-10-29 Juniper Networks, Inc. Dynamic access control policy with port restrictions for a network security appliance
US20100100398A1 (en) 2008-10-16 2010-04-22 Hartford Fire Insurance Company Social network interface
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US8533844B2 (en) 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8069471B2 (en) 2008-10-21 2011-11-29 Lockheed Martin Corporation Internet security dynamics assessment system, program product, and related methods
EP2340491B1 (en) 2008-10-24 2019-11-27 Hewlett-Packard Development Company, L.P. Direct-attached/network-attached storage device
US7974992B2 (en) 2008-10-30 2011-07-05 Sap Ag Segmentation model user interface
US8589790B2 (en) 2008-11-02 2013-11-19 Observepoint Llc Rule-based validation of websites
US8103962B2 (en) 2008-11-04 2012-01-24 Brigham Young University Form-based ontology creation and information harvesting
US10891393B2 (en) 2008-11-10 2021-01-12 International Business Machines Corporation System and method for enterprise privacy information compliance
US8429597B2 (en) 2008-11-21 2013-04-23 Sap Ag Software for integrated modeling of user interfaces with applications
US20110252456A1 (en) 2008-12-08 2011-10-13 Makoto Hatakeyama Personal information exchanging system, personal information providing apparatus, data processing method therefor, and computer program therefor
US8386314B2 (en) 2008-12-11 2013-02-26 Accenture Global Services Limited Online ad detection and ad campaign analysis
US7584508B1 (en) 2008-12-31 2009-09-01 Kaspersky Lab Zao Adaptive security for information devices
AU2009335623B2 (en) 2009-01-08 2012-05-10 Servicenow, Inc. Chatbots
US8364713B2 (en) 2009-01-20 2013-01-29 Titanium Fire Ltd. Personal data manager systems and methods
US8560645B2 (en) 2009-01-27 2013-10-15 Watchguard Technologies, Inc. Location-aware configuration
EP2382574A4 (en) 2009-01-28 2013-04-24 Ericsson Telefon Ab L M Method for user privacy protection
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US8938221B2 (en) 2009-01-28 2015-01-20 Virtual Hold Technology, Llc System and method for providing a callback cloud
US20100192201A1 (en) 2009-01-29 2010-07-29 Breach Security, Inc. Method and Apparatus for Excessive Access Rate Detection
US8601591B2 (en) 2009-02-05 2013-12-03 At&T Intellectual Property I, L.P. Method and apparatus for providing web privacy
US20100205057A1 (en) 2009-02-06 2010-08-12 Rodney Hook Privacy-sensitive methods, systems, and media for targeting online advertisements using brand affinity modeling
US8156159B2 (en) 2009-02-11 2012-04-10 Verizon Patent And Licensing, Inc. Data masking and unmasking of sensitive data
US8539359B2 (en) 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US8255468B2 (en) 2009-02-11 2012-08-28 Microsoft Corporation Email management based on user behavior
US8875232B2 (en) 2009-02-18 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) User authentication
US20100228786A1 (en) 2009-03-09 2010-09-09 Toeroek Tibor Assessment of corporate data assets
US20150026260A1 (en) 2009-03-09 2015-01-22 Donald Worthley Community Knowledge Management System
US20100235297A1 (en) 2009-03-11 2010-09-16 Fiduciary Audit Services Trust System and method for monitoring fiduciary compliance with employee retirement plan governance requirements
US20100235915A1 (en) 2009-03-12 2010-09-16 Nasir Memon Using host symptoms, host roles, and/or host reputation for detection of host infection
US8392982B2 (en) 2009-03-20 2013-03-05 Citrix Systems, Inc. Systems and methods for selective authentication, authorization, and auditing in connection with traffic management
EP2415226A1 (en) 2009-03-31 2012-02-08 Nokia Siemens Networks OY Mechanism for authentication and authorization for network and service access
US8935266B2 (en) 2009-04-08 2015-01-13 Jianqing Wu Investigative identity data search algorithm
US20100262624A1 (en) 2009-04-14 2010-10-14 Microsoft Corporation Discovery of inaccessible computer resources
US20100268628A1 (en) 2009-04-15 2010-10-21 Attributor Corporation Managing controlled content on a web page having revenue-generating code
US20100268932A1 (en) 2009-04-16 2010-10-21 Deb Priya Bhattacharjee System and method of verifying the origin of a client request
US8706742B1 (en) 2009-04-22 2014-04-22 Equivio Ltd. System for enhancing expert-based computerized analysis of a set of digital documents and methods useful in conjunction therewith
US20100281313A1 (en) 2009-05-04 2010-11-04 Lockheed Martin Corporation Dynamically generated web surveys for use with census activities, and assocated methods
US20100287114A1 (en) 2009-05-11 2010-11-11 Peter Bartko Computer graphics processing and selective visual display systems
US9141911B2 (en) 2009-05-29 2015-09-22 Aspen Technology, Inc. Apparatus and method for automated data selection in model identification and adaptation in multivariable process control
US8856869B1 (en) 2009-06-22 2014-10-07 NexWavSec Software Inc. Enforcement of same origin policy for sensitive data
US8260262B2 (en) 2009-06-22 2012-09-04 Mourad Ben Ayed Systems for three factor authentication challenge
US9110918B1 (en) 2009-06-29 2015-08-18 Symantec Corporation Systems and methods for measuring compliance with a recovery point objective for an application
US9030987B2 (en) 2009-06-30 2015-05-12 Fosco Bianchetti Systems and methods for transmission of uninterrupted radio, television programs and additional data services through wireless networks
US20110006996A1 (en) 2009-07-08 2011-01-13 Smith Nathan J Private data entry
US9947043B2 (en) 2009-07-13 2018-04-17 Red Hat, Inc. Smart form
US8234377B2 (en) 2009-07-22 2012-07-31 Amazon Technologies, Inc. Dynamically migrating computer networks
WO2011011709A2 (en) 2009-07-24 2011-01-27 Plumchoice, Inc. System and methods for providing a multi-device, multi-service platform via a client agent
CN101990183B (en) 2009-07-31 2013-10-02 国际商业机器公司 Method, device and system for protecting user information
US8914342B2 (en) 2009-08-12 2014-12-16 Yahoo! Inc. Personal data platform
CN101996203A (en) 2009-08-13 2011-03-30 阿里巴巴集团控股有限公司 Web information filtering method and system
US8843487B2 (en) 2009-08-18 2014-09-23 Black Oak Partners, Llc Process and method for data assurance management by applying data assurance metrics
US9495547B1 (en) 2009-10-28 2016-11-15 Symantec Corporation Systems and methods for applying parental-control approval decisions to user-generated content
US8176061B2 (en) 2009-10-29 2012-05-08 Eastman Kodak Company Tracking digital assets on a distributed network
CA2780059C (en) 2009-11-06 2021-03-09 Edatanetworks Inc. Method, system, and computer program for attracting local and regional businesses to an automated cause marketing environment
EP2499748A4 (en) 2009-11-13 2017-03-01 Zoll Medical Corporation Community-based response system
WO2011063269A1 (en) 2009-11-20 2011-05-26 Alert Enterprise, Inc. Method and apparatus for risk visualization and remediation
US8805925B2 (en) 2009-11-20 2014-08-12 Nbrella, Inc. Method and apparatus for maintaining high data integrity and for providing a secure audit for fraud prevention and detection
US9172706B2 (en) 2009-11-23 2015-10-27 At&T Intellectual Property I, L.P. Tailored protection of personally identifiable information
US20110137709A1 (en) 2009-12-04 2011-06-09 3Pd Triggering and conducting an automated survey
US20110145154A1 (en) 2009-12-10 2011-06-16 Bank Of America Corporation Policy Development Criticality And Complexity Ratings
US9135261B2 (en) 2009-12-15 2015-09-15 Emc Corporation Systems and methods for facilitating data discovery
US8429179B1 (en) 2009-12-16 2013-04-23 Board Of Regents, The University Of Texas System Method and system for ontology driven data collection and processing
US8650319B2 (en) 2009-12-17 2014-02-11 American Express Travel Related Services Company, Inc. System and method for workflow driven channel search results
US9100809B2 (en) 2009-12-21 2015-08-04 Julia Olincy Olincy Automatic response option mobile system for responding to incoming texts or calls or both
US20110153396A1 (en) 2009-12-22 2011-06-23 Andrew Marcuvitz Method and system for processing on-line transactions involving a content owner, an advertiser, and a targeted consumer
US20120084151A1 (en) 2009-12-30 2012-04-05 Kozak Frank J Facilitation of user management of unsolicited server operations and extensions thereto
US20120084349A1 (en) 2009-12-30 2012-04-05 Wei-Yeh Lee User interface for user management and control of unsolicited server operations
US8805707B2 (en) 2009-12-31 2014-08-12 Hartford Fire Insurance Company Systems and methods for providing a safety score associated with a user location
CA2689853C (en) 2010-01-29 2011-05-17 Norman F. Goertzen Secure access by a user to a resource
CA2787935C (en) 2010-02-01 2016-09-13 Loc-Aid Technologies, Inc. System and method for location privacy and location information management over wireless systems
US20110191664A1 (en) 2010-02-04 2011-08-04 At&T Intellectual Property I, L.P. Systems for and methods for detecting url web tracking and consumer opt-out cookies
US8140735B2 (en) 2010-02-17 2012-03-20 Novell, Inc. Techniques for dynamic disk personalization
US20110209067A1 (en) 2010-02-19 2011-08-25 Bogess Keandre System and Method for Website User Valuation
US9489366B2 (en) 2010-02-19 2016-11-08 Microsoft Technology Licensing, Llc Interactive synchronization of web data and spreadsheets
US20110208850A1 (en) 2010-02-25 2011-08-25 At&T Intellectual Property I, L.P. Systems for and methods of web privacy protection
US8538817B2 (en) 2010-03-08 2013-09-17 Aol Inc. Systems and methods for protecting consumer privacy in online advertising environments
WO2011112752A1 (en) 2010-03-09 2011-09-15 Alejandro Diaz Arceo Electronic transaction techniques implemented over a computer network
US9032067B2 (en) 2010-03-12 2015-05-12 Fujitsu Limited Determining differences in an event-driven application accessed in different client-tier environments
US20110231896A1 (en) 2010-03-18 2011-09-22 Tovar Tom C Systems and methods for redirection of online queries to genuine content
US20110238573A1 (en) 2010-03-25 2011-09-29 Computer Associates Think, Inc. Cardless atm transaction method and system
US9619652B2 (en) 2010-03-31 2017-04-11 Salesforce.Com, Inc. System, method and computer program product for determining a risk score for an entity
US8473324B2 (en) 2010-04-30 2013-06-25 Bank Of America Corporation Assessment of risk associated with international cross border data movement
US9852150B2 (en) 2010-05-03 2017-12-26 Panzura, Inc. Avoiding client timeouts in a distributed filesystem
US9811532B2 (en) 2010-05-03 2017-11-07 Panzura, Inc. Executing a cloud command for a distributed filesystem
US8881055B1 (en) 2010-05-18 2014-11-04 Google Inc. HTML pop-up control
US8856534B2 (en) 2010-05-21 2014-10-07 Intel Corporation Method and apparatus for secure scan of data storage device from remote server
US9230036B2 (en) 2010-06-04 2016-01-05 International Business Machines Corporation Enhanced browser cookie management
US8463247B2 (en) 2010-06-08 2013-06-11 Verizon Patent And Licensing Inc. Location-based dynamic hyperlinking methods and systems
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
US9460307B2 (en) 2010-06-15 2016-10-04 International Business Machines Corporation Managing sensitive data in cloud computing environments
US8812342B2 (en) 2010-06-15 2014-08-19 International Business Machines Corporation Managing and monitoring continuous improvement in detection of compliance violations
US20120191596A1 (en) 2011-01-26 2012-07-26 Gary Kremen Evaluating, monitoring, and controlling financial risks using stability scoring of information received from social networks and other qualified accounts
US8977643B2 (en) 2010-06-30 2015-03-10 Microsoft Corporation Dynamic asset monitoring and management using a continuous event processing platform
IL207123A (en) 2010-07-21 2015-04-30 Verint Systems Ltd System, product and method for unification of user identifiers in web harvesting
US8656456B2 (en) 2010-07-22 2014-02-18 Front Porch, Inc. Privacy preferences management system
US8930896B1 (en) 2010-07-23 2015-01-06 Amazon Technologies, Inc. Data anonymity and separation for user computation
US8893078B2 (en) 2010-07-30 2014-11-18 Sap Ag Simplified business object model for a user interface
US8627114B2 (en) 2010-08-02 2014-01-07 Cleversafe, Inc. Authenticating a data access request to a dispersed storage network
US10019741B2 (en) 2010-08-09 2018-07-10 Western Digital Technologies, Inc. Methods and systems for a personal multimedia content archive
US8719066B2 (en) 2010-08-17 2014-05-06 Edifice Technologies Inc. Systems and methods for capturing, managing, sharing, and visualising asset information of an organization
JP5633245B2 (en) 2010-08-20 2014-12-03 富士ゼロックス株式会社 Information processing apparatus and information processing program
US9047639B1 (en) 2010-09-10 2015-06-02 Bank Of America Corporation Service participation acknowledgement system
US8504758B1 (en) 2010-09-21 2013-08-06 Amazon Technologies, Inc. System and method for logical deletion of stored data objects
US9215548B2 (en) 2010-09-22 2015-12-15 Ncc Group Security Services, Inc. Methods and systems for rating privacy risk of applications for smart phones and other mobile platforms
US9069940B2 (en) 2010-09-23 2015-06-30 Seagate Technology Llc Secure host authentication using symmetric key cryptography
US10805331B2 (en) 2010-09-24 2020-10-13 BitSight Technologies, Inc. Information technology security assessment system
US8984031B1 (en) 2010-09-29 2015-03-17 Emc Corporation Managing data storage for databases based on application awareness
US8713098B1 (en) 2010-10-01 2014-04-29 Google Inc. Method and system for migrating object update messages through synchronous data propagation
US20130185806A1 (en) 2010-10-05 2013-07-18 Nec Corporation Personal-information transmission/reception system, personal-information transmission/reception method, personal-information provision apparatus, preference management apparatus and computer program
US20120102411A1 (en) 2010-10-25 2012-04-26 Nokia Corporation Method and apparatus for monitoring user interactions with selectable segments of a content package
US20120102543A1 (en) 2010-10-26 2012-04-26 360 GRC, Inc. Audit Management System
US9727751B2 (en) 2010-10-29 2017-08-08 Nokia Technologies Oy Method and apparatus for applying privacy policies to structured data
US8693689B2 (en) 2010-11-01 2014-04-08 Microsoft Corporation Location brokering for providing security, privacy and services
US9465702B2 (en) 2010-11-05 2016-10-11 Atc Logistics & Electronics, Inc. System and method for auditing removal of customer personal information on electronic devices
US8380743B2 (en) 2010-11-05 2013-02-19 Palo Alto Research Center Incorporated System and method for supporting targeted sharing and early curation of information
US20120116923A1 (en) 2010-11-09 2012-05-10 Statz, Inc. Privacy Risk Metrics in Online Systems
US8607306B1 (en) 2010-11-10 2013-12-10 Google Inc. Background auto-submit of login credentials
US9123339B1 (en) 2010-11-23 2015-09-01 Google Inc. Speech recognition using repeated utterances
GB2485783A (en) 2010-11-23 2012-05-30 Kube Partners Ltd Method for anonymising personal information
US10404729B2 (en) 2010-11-29 2019-09-03 Biocatch Ltd. Device, method, and system of generating fraud-alerts for cyber-attacks
US20180349583A1 (en) 2010-11-29 2018-12-06 Biocatch Ltd. System, Device, and Method of Determining Personal Characteristics of a User
US10834590B2 (en) 2010-11-29 2020-11-10 Biocatch Ltd. Method, device, and system of differentiating between a cyber-attacker and a legitimate user
US8640110B2 (en) 2010-11-29 2014-01-28 Sap Ag Business object service simulation
US9552470B2 (en) 2010-11-29 2017-01-24 Biocatch Ltd. Method, device, and system of generating fraud-alerts for cyber-attacks
US20120144499A1 (en) 2010-12-02 2012-06-07 Sky Castle Global Limited System to inform about trademarks similar to provided input
US20120143650A1 (en) 2010-12-06 2012-06-07 Thomas Crowley Method and system of assessing and managing risk associated with compromised network assets
US8474012B2 (en) 2010-12-10 2013-06-25 Microsoft Corporation Progressive consent
WO2012082935A2 (en) 2010-12-14 2012-06-21 Early Warning Services, Llc System and method for detecting fraudulent account access and transfers
US9336184B2 (en) 2010-12-17 2016-05-10 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9032544B2 (en) 2010-12-22 2015-05-12 Private Access, Inc. System and method for controlling communication of private information over a network
US9003552B2 (en) 2010-12-30 2015-04-07 Ensighten, Inc. Online privacy management
RU2550531C2 (en) 2010-12-30 2015-05-10 Инсайтен, Инк. Management of online privacy
US10628553B1 (en) 2010-12-30 2020-04-21 Cerner Innovation, Inc. Health information transformation system
US8700524B2 (en) 2011-01-04 2014-04-15 Boku, Inc. Systems and methods to restrict payment transactions
US9081952B2 (en) 2011-01-06 2015-07-14 Pitney Bowes Inc. Systems and methods for providing secure electronic document storage, retrieval and use with electronic user identity verification
US8621637B2 (en) 2011-01-10 2013-12-31 Saudi Arabian Oil Company Systems, program product and methods for performing a risk assessment workflow process for plant networks and systems
US8826446B1 (en) 2011-01-19 2014-09-02 Google Inc. System and method for applying privacy settings to a plurality of applications
US8646072B1 (en) 2011-02-08 2014-02-04 Symantec Corporation Detecting misuse of trusted seals
US9836485B2 (en) 2011-02-25 2017-12-05 International Business Machines Corporation Auditing database access in a distributed medical computing environment
WO2012117384A2 (en) 2011-03-03 2012-09-07 Ecolab Usa Inc. Modeling risk of foodborne illness outbreaks
US8438644B2 (en) 2011-03-07 2013-05-07 Isight Partners, Inc. Information system security based on threat vectors
WO2012130288A1 (en) 2011-03-29 2012-10-04 Brainlab Ag Virtual machine for processing medical data
US9384199B2 (en) 2011-03-31 2016-07-05 Microsoft Technology Licensing, Llc Distributed file system
JP5501280B2 (en) 2011-03-31 2014-05-21 株式会社日立ソリューションズ Information processing system, backup management method, and program
US9043217B2 (en) 2011-03-31 2015-05-26 HealthSpot Inc. Medical kiosk and method of use
US20120254320A1 (en) 2011-04-04 2012-10-04 Microsoft Corporation Distributing collected information to data consumers based on global user consent information
US20120259752A1 (en) 2011-04-05 2012-10-11 Brad Agee Financial audit risk tracking systems and methods
US20150229664A1 (en) 2014-02-13 2015-08-13 Trevor Tyler HAWTHORN Assessing security risks of users in a computing network
US8893286B1 (en) 2011-04-08 2014-11-18 Symantec Corporation Systems and methods for preventing fraudulent activity associated with typo-squatting procedures
CA2832752A1 (en) 2011-04-11 2012-10-18 Intertrust Technologies Corporation Information security systems and methods
US8700699B2 (en) 2011-04-15 2014-04-15 Microsoft Corporation Using a proxy server for a mobile browser
US9049244B2 (en) 2011-04-19 2015-06-02 Cloudflare, Inc. Registering for internet-based proxy services
US8762413B2 (en) 2011-04-25 2014-06-24 Cbs Interactive, Inc. User data store
US8793809B2 (en) 2011-04-25 2014-07-29 Apple Inc. Unified tracking data management
US8843745B2 (en) 2011-04-26 2014-09-23 Nalpeiron Inc. Methods of authorizing a computer license
US8996480B2 (en) 2011-05-04 2015-03-31 International Business Machines Corporation Method and apparatus for optimizing data storage
US8688601B2 (en) 2011-05-23 2014-04-01 Symantec Corporation Systems and methods for generating machine learning-based classifiers for detecting specific categories of sensitive information
US20120303559A1 (en) 2011-05-27 2012-11-29 Ctc Tech Corp. Creation, use and training of computer-based discovery avatars
US9344484B2 (en) 2011-05-27 2016-05-17 Red Hat, Inc. Determining consistencies in staged replication data to improve data migration efficiency in cloud based networks
US8973108B1 (en) 2011-05-31 2015-03-03 Amazon Technologies, Inc. Use of metadata for computing resource access
US20160232465A1 (en) 2011-06-03 2016-08-11 Kenneth Kurtz Subscriber-based system for custom evaluations of business relationship risk
US20130254649A1 (en) 2011-06-07 2013-09-26 Michael O'Neill Establishing user consent to cookie storage on user terminal equipment
US8812591B2 (en) 2011-06-15 2014-08-19 Facebook, Inc. Social networking system data exchange
US20120323700A1 (en) 2011-06-20 2012-12-20 Prays Nikolay Aleksandrovich Image-based captcha system
US20140229199A1 (en) 2011-06-20 2014-08-14 Timewyse Corporation System and method for dynamic and customized questionnaire generation
US9165036B2 (en) 2011-06-21 2015-10-20 Salesforce.Com, Inc. Streaming transaction notifications
US20120330869A1 (en) 2011-06-25 2012-12-27 Jayson Theordore Durham Mental Model Elicitation Device (MMED) Methods and Apparatus
CA3075573C (en) 2011-06-29 2022-03-15 Alclear, Llc System and method for user enrollment in a secure biometric verification system
US9460136B1 (en) 2011-06-30 2016-10-04 Emc Corporation Managing databases in data storage systems
US20130004933A1 (en) 2011-06-30 2013-01-03 Survey Analytics Llc Increasing confidence in responses to electronic surveys
US8832854B1 (en) 2011-06-30 2014-09-09 Google Inc. System and method for privacy setting differentiation detection
US9064033B2 (en) 2011-07-05 2015-06-23 International Business Machines Corporation Intelligent decision support for consent management
US10346849B2 (en) 2011-07-12 2019-07-09 Ca, Inc. Communicating personalized messages using quick response (QR) codes
US20130018954A1 (en) 2011-07-15 2013-01-17 Samsung Electronics Co., Ltd. Situation-aware user sentiment social interest models
CN102890692A (en) 2011-07-22 2013-01-23 阿里巴巴集团控股有限公司 Webpage information extraction method and webpage information extraction system
CN110069661B (en) 2011-07-22 2023-09-26 谷歌有限责任公司 Linking content files
US20170032408A1 (en) 2011-07-26 2017-02-02 Socialmail LLC Automated subscriber engagement
US20130031183A1 (en) 2011-07-26 2013-01-31 Socialmail LLC Electronic mail processing and publication for shared environments
KR101979176B1 (en) 2011-08-03 2019-05-15 인텐트 아이큐, 엘엘씨 Targeted television advertising based on profiles linked to multiple online devices
US9477660B2 (en) 2011-08-05 2016-10-25 Bank Of America Corporation Privacy compliance in data retrieval
WO2013025618A2 (en) 2011-08-13 2013-02-21 Global Edge Llc Assessing risk associated with a vendor
US8571909B2 (en) 2011-08-17 2013-10-29 Roundhouse One Llc Business intelligence system and method utilizing multidimensional analysis of a plurality of transformed and scaled data streams
US8776241B2 (en) 2011-08-29 2014-07-08 Kaspersky Lab Zao Automatic analysis of security related incidents in computer networks
US20140012833A1 (en) 2011-09-13 2014-01-09 Hans-Christian Humprecht Protection of data privacy in an enterprise system
US10129211B2 (en) 2011-09-15 2018-11-13 Stephan HEATH Methods and/or systems for an online and/or mobile privacy and/or security encryption technologies used in cloud computing with the combination of data mining and/or encryption of user's personal data and/or location data for marketing of internet posted promotions, social messaging or offers using multiple devices, browsers, operating systems, networks, fiber optic communications, multichannel platforms
US9672355B2 (en) 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9106691B1 (en) 2011-09-16 2015-08-11 Consumerinfo.Com, Inc. Systems and methods of identity protection and management
US8631048B1 (en) 2011-09-19 2014-01-14 Rockwell Collins, Inc. Data alignment system
US8677472B1 (en) 2011-09-27 2014-03-18 Emc Corporation Multi-point collection of behavioral data relating to a virtualized browsing session with a secure server
US9350718B2 (en) 2011-09-29 2016-05-24 Oracle International Corporation Using representational state transfer (REST) for consent management
EP2761548A4 (en) 2011-09-30 2015-07-01 Competitive Insights Llc Method, apparatus and computer program product for providing a supply chain performance management tool
US20130091156A1 (en) 2011-10-06 2013-04-11 Samuel B. Raiche Time and location data appended to contact information
US9043480B2 (en) 2011-10-11 2015-05-26 Citrix Systems, Inc. Policy-based application management
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US8881229B2 (en) 2011-10-11 2014-11-04 Citrix Systems, Inc. Policy-based application management
JP5967408B2 (en) 2011-10-13 2016-08-10 ソニー株式会社 Information acquisition terminal device, information acquisition method, and program
US8914299B2 (en) 2011-10-13 2014-12-16 Hartford Fire Insurance Company System and method for compliance and operations management
US8996417B1 (en) 2011-10-13 2015-03-31 Intuit Inc. Method and system for automatically obtaining and categorizing cash transaction data using a mobile computing system
US8856936B2 (en) 2011-10-14 2014-10-07 Albeado Inc. Pervasive, domain and situational-aware, adaptive, automated, and coordinated analysis and control of enterprise-wide computers, networks, and applications for mitigation of business and operational risks and enhancement of cyber security
US20130103485A1 (en) 2011-10-19 2013-04-25 Richard Postrel Method and system for providing consumers with control over usage of the consumer' s data and rewards associated therewith
US20130111323A1 (en) 2011-10-31 2013-05-02 PopSurvey LLC Survey System
US9336324B2 (en) 2011-11-01 2016-05-10 Microsoft Technology Licensing, Llc Intelligent caching for security trimming
US9202026B1 (en) 2011-11-03 2015-12-01 Robert B Reeves Managing real time access management to personal information
US9100235B2 (en) * 2011-11-07 2015-08-04 At&T Intellectual Property I, L.P. Secure desktop applications for an open computing platform
WO2013070895A1 (en) 2011-11-08 2013-05-16 Apellis Pharmaceuticals, Inc. Systems and methods for assembling electronic medical records
US20130124257A1 (en) 2011-11-11 2013-05-16 Aaron Schubert Engagement scoring
US8578036B1 (en) 2011-11-14 2013-11-05 Google Inc. Providing standardized transparency for cookies and other website data using a server side description file
US9804928B2 (en) 2011-11-14 2017-10-31 Panzura, Inc. Restoring an archived file in a distributed filesystem
US9098515B2 (en) 2011-11-15 2015-08-04 Sap Se Data destruction mechanisms
US8918306B2 (en) 2011-11-16 2014-12-23 Hartford Fire Insurance Company System and method for providing dynamic insurance portal transaction authentication and authorization
US8682698B2 (en) 2011-11-16 2014-03-25 Hartford Fire Insurance Company System and method for secure self registration with an insurance portal
DE202012100620U1 (en) 2011-11-22 2012-06-13 Square, Inc. System for processing cardless payment transactions
US8762406B2 (en) 2011-12-01 2014-06-24 Oracle International Corporation Real-time data redaction in a database management system
US8997213B2 (en) 2011-12-01 2015-03-31 Facebook, Inc. Protecting personal information upon sharing a personal computing device
KR101489149B1 (en) 2011-12-05 2015-02-06 한국전자통신연구원 Individualization service providing system, server, terminal using user's feedback and provacy based on user and method thereof
US9537546B2 (en) 2011-12-08 2017-01-03 Intel Corporation Implementing MIMO in mmWave wireless communication systems
US9395959B2 (en) 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Integrated workflow visualization and editing
US8904494B2 (en) 2011-12-12 2014-12-02 Avira B.V. System and method to facilitate compliance with COPPA for website registration
US20130159351A1 (en) 2011-12-14 2013-06-20 International Business Machines Corporation Asset Identity Resolution Via Automatic Model Mapping Between Systems With Spatial Data
US8935804B1 (en) 2011-12-15 2015-01-13 United Services Automobile Association (Usaa) Rules-based data access systems and methods
US9569752B2 (en) 2011-12-15 2017-02-14 Cisco Technology, Inc. Providing parameterized actionable communication messages via an electronic communication
US9154556B1 (en) 2011-12-27 2015-10-06 Emc Corporation Managing access to a limited number of computerized sessions
JP2015508534A (en) 2011-12-28 2015-03-19 インテル・コーポレーション Persona manager for network communication
CN103188599A (en) 2011-12-28 2013-07-03 富泰华工业(深圳)有限公司 Device for deleting internal storage data in mobile phone
US9152818B1 (en) 2011-12-29 2015-10-06 Emc Corporation Managing authentication based on contacting a consumer as soon as the consumer has performed an authentication operation
CN104126182B (en) 2011-12-30 2018-02-09 施耐德电气It公司 The system and method for telecommunication
US8793804B2 (en) 2012-01-09 2014-07-29 Ezshield, Inc. Computer implemented method, computer system and nontransitory computer readable storage medium having HTTP module
US20130282466A1 (en) 2012-01-31 2013-10-24 Global Village Concerns Systems and methods for generation of an online store
CN104094261B (en) 2012-02-01 2017-09-22 国际商业机器公司 Access the optimized treatment method and system of restricted data
US8751285B2 (en) 2012-02-01 2014-06-10 Bank Of America Corporation System and method for calculating a risk to an entity
US8943076B2 (en) 2012-02-06 2015-01-27 Dell Products, Lp System to automate mapping of variables between business process applications and method therefor
WO2013119934A1 (en) 2012-02-09 2013-08-15 Aol Inc. Systems and methods for testing online systems and content
US10331904B2 (en) 2012-02-14 2019-06-25 Radar, Llc Systems and methods for managing multifaceted data incidents
US8769242B2 (en) 2012-02-14 2014-07-01 International Business Machines Corporation Translation map simplification
US10445508B2 (en) 2012-02-14 2019-10-15 Radar, Llc Systems and methods for managing multi-region data incidents
US20130318207A1 (en) 2012-02-15 2013-11-28 James Eric Dotter Systems and methods for managing mobile app data
US20130219459A1 (en) 2012-02-21 2013-08-22 Intertrust Technologies Corporation Content management systems and methods
US9646095B1 (en) 2012-03-01 2017-05-09 Pathmatics, Inc. Systems and methods for generating and maintaining internet user profile data
WO2013134408A1 (en) 2012-03-08 2013-09-12 Commvault Systems, Inc. Automated, tiered data retention
US8935342B2 (en) 2012-03-09 2015-01-13 Henal Patel Method for detecting and unsubscribing an address from a series of subscriptions
GB201204687D0 (en) 2012-03-16 2012-05-02 Microsoft Corp Communication privacy
US9348802B2 (en) 2012-03-19 2016-05-24 Litéra Corporation System and method for synchronizing bi-directional document management
US20130254139A1 (en) 2012-03-21 2013-09-26 Xiaoguang Lei Systems and methods for building a universal intelligent assistant with learning capabilities
US20130254699A1 (en) 2012-03-21 2013-09-26 Intertrust Technologies Corporation Systems and methods for managing documents and other electronic content
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US8849757B2 (en) 2012-03-29 2014-09-30 Empire Technology Development Llc Determining user key-value storage needs from example queries
US8918392B1 (en) 2012-03-29 2014-12-23 Amazon Technologies, Inc. Data storage mapping and management
US20140337041A1 (en) 2012-03-30 2014-11-13 Joseph Madden Mobile Application for Defining, Sharing and Rewarding Compliance with a Blood Glucose Level Monitoring Regimen
US20130262328A1 (en) 2012-03-30 2013-10-03 CSRSI, Inc. System and method for automated data breach compliance
US20150154520A1 (en) 2012-03-30 2015-06-04 Csr Professional Services, Inc. Automated Data Breach Notification
US9152820B1 (en) 2012-03-30 2015-10-06 Emc Corporation Method and apparatus for cookie anonymization and rejection
US8626671B2 (en) 2012-03-30 2014-01-07 CSRSI, Inc. System and method for automated data breach compliance
US8422747B1 (en) 2012-04-16 2013-04-16 Google Inc. Finding untagged images of a social network member
US20130311224A1 (en) 2012-04-16 2013-11-21 Richard W. Heroux System and Method for Automated Standards Compliance
US20130290169A1 (en) 2012-04-25 2013-10-31 Intuit Inc. Managing financial transactions using transaction data from sms notifications
US8978158B2 (en) 2012-04-27 2015-03-10 Google Inc. Privacy management across multiple devices
US9582681B2 (en) 2012-04-27 2017-02-28 Nokia Technologies Oy Method and apparatus for privacy protection in images
US20130298071A1 (en) 2012-05-02 2013-11-07 Jonathan WINE Finger text-entry overlay
US9853959B1 (en) 2012-05-07 2017-12-26 Consumerinfo.Com, Inc. Storage and maintenance of personal data
US8763131B2 (en) 2012-05-22 2014-06-24 Verizon Patent And Licensing Inc. Mobile application security score calculation
US8832649B2 (en) 2012-05-22 2014-09-09 Honeywell International Inc. Systems and methods for augmenting the functionality of a monitoring node without recompiling
KR20130134918A (en) 2012-05-31 2013-12-10 삼성전자주식회사 Computer system having non-volatile memory and operating method thereof
US9106710B1 (en) 2012-06-09 2015-08-11 Daniel Martin Feimster Interest-based system
US20130332362A1 (en) 2012-06-11 2013-12-12 Visa International Service Association Systems and methods to customize privacy preferences
US9578060B1 (en) 2012-06-11 2017-02-21 Dell Software Inc. System and method for data loss prevention across heterogeneous communications platforms
US20130340086A1 (en) 2012-06-13 2013-12-19 Nokia Corporation Method and apparatus for providing contextual data privacy
US20140201294A2 (en) 2012-06-21 2014-07-17 Market76, Inc. Engine, system and method of providing vertical social networks for client oriented service providers
US9647949B2 (en) 2012-06-22 2017-05-09 University Of New Hampshire Systems and methods for network transmission of big data
US9047463B2 (en) 2012-06-29 2015-06-02 Sri International Method and system for protecting data flow at a mobile device
US20140006616A1 (en) 2012-06-29 2014-01-02 Nokia Corporation Method and apparatus for categorizing application access requests on a device
US8713638B2 (en) 2012-06-30 2014-04-29 AT&T Intellectual Property I, L.L.P. Managing personal information on a network
US20140019561A1 (en) 2012-07-10 2014-01-16 Naftali Anidjar Belity Systems and Methods for Interactive Content Generation
CA2918062A1 (en) 2012-07-12 2014-01-16 Md Databank Corp Secure storage system and uses thereof
CN104541278A (en) 2012-07-13 2015-04-22 Pop技术股份有限公司 Method and system for secured communication of personal information
US8813028B2 (en) 2012-07-19 2014-08-19 Arshad Farooqi Mobile application creation system
CN104641374A (en) 2012-07-20 2015-05-20 英特托拉斯技术公司 Information targeting systems and methods
US9887965B2 (en) 2012-07-20 2018-02-06 Google Llc Method and system for browser identity
US8990933B1 (en) 2012-07-24 2015-03-24 Intuit Inc. Securing networks against spear phishing attacks
US20140032259A1 (en) 2012-07-26 2014-01-30 Malcolm Gary LaFever Systems and methods for private and secure collection and management of personal consumer data
WO2014018900A1 (en) 2012-07-26 2014-01-30 Experian Marketing Solutions, Inc. Systems and methods of aggregating consumer information
US20140040161A1 (en) 2012-08-01 2014-02-06 Jason Berlin Method and system for managing business feedback online
US10332108B2 (en) 2012-08-01 2019-06-25 Visa International Service Association Systems and methods to protect user privacy
US10997665B2 (en) 2012-08-09 2021-05-04 Hartford Fire Insurance Company Interactive data management system
US9665722B2 (en) 2012-08-10 2017-05-30 Visa International Service Association Privacy firewall
US10223681B2 (en) 2012-08-15 2019-03-05 Rite Aid Hdqtrs. Corp. Veterinary kiosk with integrated veterinary medical devices
JP2014041458A (en) 2012-08-22 2014-03-06 International Business Maschines Corporation Apparatus and method for determining content of access control for data
US9317715B2 (en) 2012-08-24 2016-04-19 Sap Se Data protection compliant deletion of personally identifiable information
EP2888869B1 (en) 2012-08-24 2020-10-14 Environmental Systems Research Institute, Inc. Systems and methods for managing location data and providing a privacy framework
US9461876B2 (en) 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US20140196143A1 (en) 2012-08-29 2014-07-10 Identity Validation Products, Llc Method and apparatus for real-time verification of live person presence on a network
EP2891101B1 (en) 2012-08-31 2016-11-09 Iappsecure Solutions Pvt. Ltd. A system for analyzing applications in order to find security and quality issues
US9299050B2 (en) 2012-09-04 2016-03-29 Optymyze PTE Ltd. System and method of representing business units in sales performance management using entity tables containing explicit entity and internal entity IDs
US9250894B2 (en) 2012-09-07 2016-02-02 National Instruments Corporation Sequentially constructive model of computation
US8656265B1 (en) 2012-09-11 2014-02-18 Google Inc. Low-latency transition into embedded web view
US8667074B1 (en) 2012-09-11 2014-03-04 Bradford L. Farkas Systems and methods for email tracking and email spam reduction using dynamic email addressing schemes
US20140089039A1 (en) 2012-09-12 2014-03-27 Co3 Systems, Inc. Incident management system
US20140074645A1 (en) 2012-09-12 2014-03-13 Centurion Research Solutions Bid Assessment Analytics
JP6245175B2 (en) 2012-09-13 2017-12-13 日本電気株式会社 Risk analysis apparatus, risk analysis method and program
US20150143258A1 (en) 2012-09-20 2015-05-21 Handle, Inc. Email and task management services and user interface
CN104641591B (en) 2012-09-21 2018-02-02 诺基亚技术有限公司 For providing the method and apparatus to the access control of shared data based on level of trust
US20140089027A1 (en) 2012-09-21 2014-03-27 Wendell Brown System and method for outsourcing computer-based tasks
US10181043B1 (en) 2012-09-28 2019-01-15 EMC IP Holding Company LLC Method and apparatus for cookie validation and scoring
US8983972B2 (en) 2012-10-01 2015-03-17 Sap Se Collection and reporting of customer survey data
US20140108968A1 (en) 2012-10-11 2014-04-17 Yahoo! Inc. Visual Presentation of Customized Content
US9652314B2 (en) 2012-10-15 2017-05-16 Alcatel Lucent Dynamic application programming interface publication for providing web services
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US9088450B2 (en) 2012-10-31 2015-07-21 Elwha Llc Methods and systems for data services
US9348929B2 (en) 2012-10-30 2016-05-24 Sap Se Mobile mapping of quick response (QR) codes to web resources
US9177067B2 (en) 2012-11-04 2015-11-03 Walter J. Kawecki, III Systems and methods for enhancing user data derived from digital communications
US9154514B1 (en) 2012-11-05 2015-10-06 Astra Identity, Inc. Systems and methods for electronic message analysis
US8566938B1 (en) 2012-11-05 2013-10-22 Astra Identity, Inc. System and method for electronic message analysis for phishing detection
US10075437B1 (en) 2012-11-06 2018-09-11 Behaviosec Secure authentication of a user of a device during a session with a connected server
US9262416B2 (en) 2012-11-08 2016-02-16 Microsoft Technology Licensing, Llc Purity analysis using white list/black list analysis
JP5279057B1 (en) 2012-11-09 2013-09-04 株式会社Kpiソリューションズ Information processing system and information processing method
US9654541B1 (en) 2012-11-12 2017-05-16 Consumerinfo.Com, Inc. Aggregating user web browsing data
US20140137257A1 (en) 2012-11-12 2014-05-15 Board Of Regents, The University Of Texas System System, Method and Apparatus for Assessing a Risk of One or More Assets Within an Operational Technology Infrastructure
US9524500B2 (en) 2012-11-13 2016-12-20 Apple Inc. Transferring assets
US9100778B2 (en) 2012-11-13 2015-08-04 Google Inc. Determining a WiFi scan location
US9098709B2 (en) 2012-11-13 2015-08-04 International Business Machines Corporation Protection of user data in hosted application environments
US20140143011A1 (en) 2012-11-16 2014-05-22 Dell Products L.P. System and method for application-migration assessment
US20140142988A1 (en) 2012-11-21 2014-05-22 Hartford Fire Insurance Company System and method for analyzing privacy breach risk data
US8893297B2 (en) 2012-11-21 2014-11-18 Solomo Identity, Llc Personal data management system with sharing revocation
US20160063523A1 (en) 2012-11-21 2016-03-03 Diana Ioana Nistor Feedback instrument management systems and methods
US9092796B2 (en) 2012-11-21 2015-07-28 Solomo Identity, Llc. Personal data management system with global data store
US8767947B1 (en) 2012-11-29 2014-07-01 Genesys Telecommunications Laboratories, Inc. System and method for testing and deploying rules
US8966597B1 (en) 2012-11-30 2015-02-24 Microstrategy Incorporated Electronic signatures
US9241259B2 (en) 2012-11-30 2016-01-19 Websense, Inc. Method and apparatus for managing the transfer of sensitive information to mobile devices
US20210233157A1 (en) 2012-12-04 2021-07-29 Crutchfield Corporation Techniques for providing retail customers a seamless, individualized discovery and shopping experience between online and physical retail locations
US20140164476A1 (en) 2012-12-06 2014-06-12 At&T Intellectual Property I, Lp Apparatus and method for providing a virtual assistant
US8966575B2 (en) 2012-12-14 2015-02-24 Nymity Inc. Methods, software, and devices for automatically scoring privacy protection measures
US8812752B1 (en) 2012-12-18 2014-08-19 Amazon Technologies, Inc. Connector interface for data pipeline
US9954883B2 (en) 2012-12-18 2018-04-24 Mcafee, Inc. Automated asset criticality assessment
US9189644B2 (en) 2012-12-20 2015-11-17 Bank Of America Corporation Access requests at IAM system implementing IAM data model
US20140188956A1 (en) 2012-12-28 2014-07-03 Microsoft Corporation Personalized real-time recommendation system
US9898613B1 (en) 2013-01-03 2018-02-20 Google Llc Crowdsourcing privacy settings
US9514231B2 (en) 2013-01-16 2016-12-06 Market76, Inc. Computer-based system for use in providing advisory services
US8918632B1 (en) 2013-01-23 2014-12-23 The Privacy Factor, LLC Methods for analyzing application privacy and devices thereof
US9875369B2 (en) 2013-01-23 2018-01-23 Evernote Corporation Automatic protection of partial document content
US9288118B1 (en) 2013-02-05 2016-03-15 Google Inc. Setting cookies across applications
US20170193017A1 (en) 2013-02-08 2017-07-06 Douglas T. Migliori Common Data Service Providing Semantic Interoperability for IOT-Centric Commerce
US9256573B2 (en) 2013-02-14 2016-02-09 International Business Machines Corporation Dynamic thread status retrieval using inter-thread communication
US20140244399A1 (en) 2013-02-22 2014-08-28 Adt Us Holdings, Inc. System for controlling use of personal data
US20140244375A1 (en) 2013-02-25 2014-08-28 Stanley Kim Reward distribution platform for increasing engagement
US20160180386A1 (en) 2013-02-27 2016-06-23 Francis Konig System and method for cloud based payment intelligence
US9705880B2 (en) 2013-03-01 2017-07-11 United Parcel Service Of America, Inc. Systems, methods, and computer program products for data governance and licensing
US20140258093A1 (en) 2013-03-06 2014-09-11 Clearmatch Holdings (Singapore) PTE. LTD. Methods and systems for self-funding investments
US9356961B1 (en) 2013-03-11 2016-05-31 Emc Corporation Privacy scoring for cloud services
US20140257917A1 (en) 2013-03-11 2014-09-11 Bank Of America Corporation Risk Management System for Calculating Residual Risk of a Process
US9280581B1 (en) 2013-03-12 2016-03-08 Troux Technologies, Inc. Method and system for determination of data completeness for analytic data calculations
US9201572B2 (en) 2013-03-12 2015-12-01 Cbs Interactive, Inc. A/B test configuration environment
US9253609B2 (en) 2013-03-12 2016-02-02 Doug Hosier Online systems and methods for advancing information organization sharing and collective action
US20140281886A1 (en) 2013-03-14 2014-09-18 Media Direct, Inc. Systems and methods for creating or updating an application using website content
US8875247B2 (en) 2013-03-14 2014-10-28 Facebook, Inc. Instant personalization security
US9549047B1 (en) 2013-03-14 2017-01-17 Google Inc. Initiating a client-side user model
US20140278730A1 (en) 2013-03-14 2014-09-18 Memorial Healthcare System Vendor management system and method for vendor risk profile and risk relationship generation
US9055071B1 (en) 2013-03-14 2015-06-09 Ca, Inc. Automated false statement alerts
US20140283027A1 (en) 2013-03-14 2014-09-18 Carefusion 303, Inc. Auditing User Actions in Treatment Related Files
US20140278539A1 (en) 2013-03-14 2014-09-18 Cerner Innovation, Inc. Graphical representations of time-ordered data
US20140283106A1 (en) 2013-03-14 2014-09-18 Donuts Inc. Domain protected marks list based techniques for managing domain name registrations
US20140317171A1 (en) 2013-03-15 2014-10-23 Samples and Results, LLC Methods and apparatus for user interface navigation
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US9141823B2 (en) 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
WO2014144269A1 (en) 2013-03-15 2014-09-18 Mary Hogue Barrett Managing and accounting for privacy settings through tiered cookie set access
US20140278663A1 (en) 2013-03-15 2014-09-18 Exterro, Inc. Electronic discovery systems and workflow management method
US20150012363A1 (en) 2013-03-15 2015-01-08 Ad-Vantage Networks, Inc. Methods and systems for processing and displaying content
US20130218829A1 (en) 2013-03-15 2013-08-22 Deneen Lizette Martinez Document management system and method
US10650408B1 (en) 2013-03-15 2020-05-12 Twitter, Inc. Budget smoothing in a messaging platform
US10402545B2 (en) 2013-03-19 2019-09-03 Ip Squared Technologies Holding, Llc Systems and methods for managing data assets associated with peer-to-peer networks
EP2781998A1 (en) 2013-03-20 2014-09-24 Advanced Digital Broadcast S.A. A method and a system for generating a graphical user interface menu
US20140288971A1 (en) 2013-03-25 2014-09-25 Marbella Technologies Incorporated Patient survey method and system
US9178901B2 (en) 2013-03-26 2015-11-03 Microsoft Technology Licensing, Llc Malicious uniform resource locator detection
US9240996B1 (en) 2013-03-28 2016-01-19 Emc Corporation Method and system for risk-adaptive access control of an application action
US9798749B2 (en) 2013-03-29 2017-10-24 Piriform Ltd. Multiple user profile cleaner
CN105144767B (en) 2013-04-12 2019-07-02 Sk电信有限公司 For checking the device and method and user terminal of message
US10564815B2 (en) 2013-04-12 2020-02-18 Nant Holdings Ip, Llc Virtual teller systems and methods
AU2013204989A1 (en) 2013-04-13 2014-10-30 Digital (Id)Entity Limited A system, method, computer program and data signal for the provision of a profile of identification
US9123330B1 (en) 2013-05-01 2015-09-01 Google Inc. Large-scale speaker identification
US9158655B2 (en) 2013-05-01 2015-10-13 Bank Of America Corporation Computer development assessment system
AU2014262897B2 (en) 2013-05-04 2018-03-22 Christopher Decharms Mobile security technology
US9582297B2 (en) 2013-05-16 2017-02-28 Vmware, Inc. Policy-based data placement in a virtualized computing environment
US9170996B2 (en) 2013-05-16 2015-10-27 Bank Of America Corporation Content interchange bus
US20140344015A1 (en) 2013-05-20 2014-11-20 José Antonio Puértolas-Montañés Systems and methods enabling consumers to control and monetize their personal data
US9344424B2 (en) 2013-05-23 2016-05-17 Adobe Systems Incorporated Authorizing access by a third party to a service from a service provider
US9369488B2 (en) 2013-05-28 2016-06-14 Globalfoundries Inc. Policy enforcement using natural language processing
US9621566B2 (en) 2013-05-31 2017-04-11 Adi Labs Incorporated System and method for detecting phishing webpages
US9705840B2 (en) 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US10430608B2 (en) 2013-06-14 2019-10-01 Salesforce.Com, Inc. Systems and methods of automated compliance with data privacy laws
US10524713B2 (en) 2013-06-19 2020-01-07 The Arizona Board Of Regents On Behalf Of The University Of Arizona Identifying deceptive answers to online questions through human-computer interaction data
US9477523B1 (en) 2013-06-25 2016-10-25 Amazon Technologies, Inc. Scheduling data access jobs based on job priority and predicted execution time using historical execution data
US9760697B1 (en) 2013-06-27 2017-09-12 Interacvault Inc. Secure interactive electronic vault with dynamic access controls
US20150006514A1 (en) 2013-06-28 2015-01-01 Jiun Hung Method and Computer System for Searching Intended Path
US9286149B2 (en) 2013-07-01 2016-03-15 Bank Of America Corporation Enhanced error detection with behavior profiles
US20150019530A1 (en) 2013-07-11 2015-01-15 Cognitive Electronics, Inc. Query language for unstructed data
US10546315B2 (en) 2013-07-13 2020-01-28 Bruce Mitchell Systems and methods to enable offer and rewards marketing, and customer relationship management (CRM) network platform
US9426177B2 (en) 2013-07-15 2016-08-23 Tencent Technology (Shenzhen) Company Limited Method and apparatus for detecting security vulnerability for animation source file
US20150026056A1 (en) 2013-07-19 2015-01-22 Bank Of America Corporation Completing mobile banking transaction from trusted location
US9760620B2 (en) 2013-07-23 2017-09-12 Salesforce.Com, Inc. Confidently adding snippets of search results to clusters of objects
US9953189B2 (en) 2013-07-30 2018-04-24 FSLogix, Inc. Managing configurations of computing terminals
US9749408B2 (en) 2013-07-30 2017-08-29 Dropbox, Inc. Techniques for managing unsynchronized content items at unlinked devices
WO2015015251A1 (en) 2013-08-01 2015-02-05 Yogesh Chunilal Rathod Presenting plurality types of interfaces and functions for conducting various activities
US9990499B2 (en) 2013-08-05 2018-06-05 Netflix, Inc. Dynamic security testing
GB2516986B (en) 2013-08-06 2017-03-22 Barclays Bank Plc Automated application test system
US9411982B1 (en) 2013-08-07 2016-08-09 Amazon Technologies, Inc. Enabling transfer of digital assets
US9922124B2 (en) 2016-01-29 2018-03-20 Yogesh Rathod Enable user to establish request data specific connections with other users of network(s) for communication, participation and collaboration
US9386104B2 (en) 2013-08-22 2016-07-05 Juniper Networks Inc. Preventing extraction of secret information over a compromised encrypted connection
US20150066865A1 (en) 2013-08-27 2015-03-05 Bank Of America Corporation Archive information management
US9336332B2 (en) 2013-08-28 2016-05-10 Clipcard Inc. Programmatic data discovery platforms for computing applications
US10084817B2 (en) 2013-09-11 2018-09-25 NSS Labs, Inc. Malware and exploit campaign detection system and method
US9665883B2 (en) 2013-09-13 2017-05-30 Acxiom Corporation Apparatus and method for bringing offline data online while protecting consumer privacy
US20160255139A1 (en) 2016-03-12 2016-09-01 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s)
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US8819617B1 (en) 2013-09-19 2014-08-26 Fmr Llc System and method for providing access to data in a plurality of software development systems
US9773269B1 (en) 2013-09-19 2017-09-26 Amazon Technologies, Inc. Image-selection item classification
US20150088598A1 (en) 2013-09-24 2015-03-26 International Business Machines Corporation Cross-retail marketing based on analytics of multichannel clickstream data
US9542568B2 (en) 2013-09-25 2017-01-10 Max Planck Gesellschaft Zur Foerderung Der Wissenschaften E.V. Systems and methods for enforcing third party oversight of data anonymization
RU2587423C2 (en) 2013-09-26 2016-06-20 Закрытое акционерное общество "Лаборатория Касперского" System and method of providing safety of online transactions
US9215252B2 (en) 2013-09-27 2015-12-15 Intel Corporation Methods and apparatus to identify privacy relevant correlations between data values
US9465800B2 (en) 2013-10-01 2016-10-11 Trunomi Ltd. Systems and methods for sharing verified identity documents
US9015796B1 (en) 2013-10-04 2015-04-21 Fuhu Holdings, Inc. Systems and methods for device configuration and activation with automated privacy law compliance
US9799036B2 (en) 2013-10-10 2017-10-24 Elwha Llc Devices, methods, and systems for managing representations of entities through use of privacy indicators
US20150106949A1 (en) 2013-10-10 2015-04-16 Elwha Llc Devices, methods, and systems for managing representations of entities through use of privacy indicators
US20150106958A1 (en) 2013-10-10 2015-04-16 Elwha Llc Methods, systems, and devices for monitoring privacy beacons related to entities depicted in images
US20150106264A1 (en) 2013-10-11 2015-04-16 Bank Of America Corporation Controlling debit card transactions
GB2533521A (en) 2013-10-11 2016-06-22 Ark Network Security Solutions Llc Systems and methods for implementing modular computer system security solutions
US10616258B2 (en) 2013-10-12 2020-04-07 Fortinet, Inc. Security information and event management
ES2458621B1 (en) 2013-10-15 2015-02-10 Aoife Solutions, S.L. Decentralized wireless network control system
US20150121462A1 (en) 2013-10-24 2015-04-30 Google Inc. Identity application programming interface
US9642008B2 (en) 2013-10-25 2017-05-02 Lookout, Inc. System and method for creating and assigning a policy for a mobile communications device based on personal data
US10572684B2 (en) 2013-11-01 2020-02-25 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
US11030341B2 (en) 2013-11-01 2021-06-08 Anonos Inc. Systems and methods for enforcing privacy-respectful, trusted communications
US9467477B2 (en) 2013-11-06 2016-10-11 Intuit Inc. Method and system for automatically managing secrets in multiple data security jurisdiction zones
US9460171B2 (en) 2013-11-08 2016-10-04 International Business Machines Corporation Processing data in data migration
US9552395B2 (en) 2013-11-13 2017-01-24 Google Inc. Methods, systems, and media for presenting recommended media content items
US9280531B2 (en) 2013-11-25 2016-03-08 Mov Digital Media, Inc. Marketing to consumers using data obtained from abandoned electronic forms
US10423890B1 (en) 2013-12-12 2019-09-24 Cigna Intellectual Property, Inc. System and method for synthesizing data
EP3080725B1 (en) 2013-12-12 2020-06-10 Mobile Iron, Inc. Application synchronization
US10255044B2 (en) 2013-12-16 2019-04-09 Make Apps Better Ltd Method and system for modifying deployed applications
US20140324476A1 (en) 2013-12-19 2014-10-30 Jericho Systems Corporation Automated Patient Consent and Reduced Information Leakage Using Patient Consent Directives
US10909551B2 (en) 2013-12-23 2021-02-02 The Nielsen Company (Us), Llc Methods and apparatus to identify users associated with device application usage
US10417445B2 (en) 2013-12-23 2019-09-17 Intel Corporation Context-aware privacy meter
US9201770B1 (en) 2013-12-26 2015-12-01 Emc Corporation A/B testing of installed graphical user interfaces
US10108409B2 (en) 2014-01-03 2018-10-23 Visa International Service Association Systems and methods for updatable applets
US20150199702A1 (en) 2014-01-11 2015-07-16 Toshiba Global Commerce Solutions Holdings Corporation Systems and methods for using transaction data associated with a loyalty program identifier to conduct a purchase transaction
US9934493B2 (en) 2014-01-13 2018-04-03 Bank Of America Corporation Real-time transactions for a virtual account
US10268995B1 (en) 2014-01-28 2019-04-23 Six Trees Capital LLC System and method for automated optimization of financial assets
US9344297B2 (en) 2014-01-30 2016-05-17 Linkedin Corporation Systems and methods for email response prediction
WO2015116905A1 (en) 2014-01-31 2015-08-06 Arizona Board Of Regents For The University Of Arizona Fraudulent application detection system and method of use
US9286450B2 (en) 2014-02-07 2016-03-15 Bank Of America Corporation Self-selected user access based on specific authentication types
US20160012465A1 (en) 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof
US9076231B1 (en) 2014-02-18 2015-07-07 Charles Hill Techniques for displaying content on a display to reduce screenshot quality
JP6141218B2 (en) 2014-02-19 2017-06-07 東芝テック株式会社 Product sales data processing apparatus and program
US20150235049A1 (en) 2014-02-20 2015-08-20 International Business Machines Corporation Maintaining Data Privacy in a Shared Data Storage System
US20150242778A1 (en) 2014-02-24 2015-08-27 Bank Of America Corporation Vendor Management System
US20150242858A1 (en) 2014-02-24 2015-08-27 Bank Of America Corporation Risk Assessment On A Transaction Level
US9977904B2 (en) 2014-02-25 2018-05-22 Board Of Regents, The University Of Texas System Systems and methods for automated detection of application vulnerabilities
US20150248391A1 (en) 2014-02-28 2015-09-03 Ricoh Company, Ltd. Form auto-filling using a mobile device
US20150254597A1 (en) 2014-03-10 2015-09-10 STRATEGIC DNA ADVISORS INC., d/b/a ROI ARCHITECTS Systems and Methods for Project Planning and Management
US20150262189A1 (en) 2014-03-11 2015-09-17 Adrianus Marinus Hendrikus (Menno) Vergeer Online community-based knowledge certification method and system
US10728603B2 (en) 2014-03-14 2020-07-28 Aibuy, Inc. Apparatus and method for automatic provisioning of merchandise
US11675837B2 (en) 2014-03-17 2023-06-13 Modelizeit Inc. Analysis of data flows in complex enterprise IT environments
US9558497B2 (en) 2014-03-17 2017-01-31 Emailage Corp. System and method for internet domain name fraud risk assessment
EP3120282B1 (en) 2014-03-18 2019-07-31 British Telecommunications public limited company User authentication
US20150271167A1 (en) 2014-03-20 2015-09-24 Daniel Kalai Method of Altering Authentication Information to Multiple Systems
US9361446B1 (en) 2014-03-28 2016-06-07 Amazon Technologies, Inc. Token based automated agent detection
US9424414B1 (en) 2014-03-28 2016-08-23 Amazon Technologies, Inc. Inactive non-blocking automated agent detection
US9602529B2 (en) 2014-04-02 2017-03-21 The Boeing Company Threat modeling and analysis
US10657469B2 (en) 2014-04-11 2020-05-19 International Business Machines Corporation Automated security incident handling in a dynamic environment
US10069914B1 (en) 2014-04-21 2018-09-04 David Lane Smith Distributed storage system for long term data storage
US10025874B2 (en) 2014-04-21 2018-07-17 Tumblr, Inc. User specific visual identity control across multiple platforms
US9336399B2 (en) 2014-04-21 2016-05-10 International Business Machines Corporation Information asset placer
US9613190B2 (en) 2014-04-23 2017-04-04 Intralinks, Inc. Systems and methods of secure data exchange
US20170046753A1 (en) 2014-04-24 2017-02-16 Evershare, Llc Provisioning an interactive feedback service via a network
US9218596B2 (en) 2014-04-28 2015-12-22 Bank Of America Corporation Method and apparatus for providing real time mutable credit card information
US10078668B1 (en) 2014-05-04 2018-09-18 Veritas Technologies Llc Systems and methods for utilizing information-asset metadata aggregated from multiple disparate data-management systems
US9336220B2 (en) 2014-05-05 2016-05-10 Empire Technology Development Llc Ontology-based data access monitoring
US10015164B2 (en) 2014-05-07 2018-07-03 Cryptography Research, Inc. Modules to securely provision an asset to a target device
US9245123B1 (en) 2014-05-07 2016-01-26 Symantec Corporation Systems and methods for identifying malicious files
US20150326592A1 (en) 2014-05-07 2015-11-12 Attivo Networks Inc. Emulating shellcode attacks
US9785795B2 (en) 2014-05-10 2017-10-10 Informatica, LLC Identifying and securing sensitive data at its source
US9396332B2 (en) 2014-05-21 2016-07-19 Microsoft Technology Licensing, Llc Risk assessment modeling
US9754091B2 (en) 2014-05-21 2017-09-05 Google Inc. Restricted accounts on a mobile platform
US10776510B2 (en) 2014-05-26 2020-09-15 Telecom Italia S.P.A. System for managing personal data
US9386078B2 (en) 2014-05-30 2016-07-05 Ca, Inc. Controlling application programming interface transactions based on content of earlier transactions
US9306939B2 (en) 2014-05-30 2016-04-05 Oracle International Corporation Authorization token cache system and method
US20150348200A1 (en) 2014-06-03 2015-12-03 Christopher T. Fair Systems and methods for facilitating communication and investment
US9740985B2 (en) 2014-06-04 2017-08-22 International Business Machines Corporation Rating difficulty of questions
US9349016B1 (en) 2014-06-06 2016-05-24 Dell Software Inc. System and method for user-context-based data loss prevention
US10599932B2 (en) 2014-06-09 2020-03-24 Lawrence Livermore National Security, Llc Personal electronic device for performing multimodal imaging for non-contact identification of multiple biometric traits
US9619661B1 (en) 2014-06-17 2017-04-11 Charles Finkelstein Consulting LLC Personal information data manager
US9288556B2 (en) 2014-06-18 2016-03-15 Zikto Method and apparatus for measuring body balance of wearable device
US10311475B2 (en) 2014-06-20 2019-06-04 Go Yuasa Digital information gathering and analyzing method and apparatus
US10320940B1 (en) 2014-06-26 2019-06-11 Symantec Corporation Managing generic data
US10614400B2 (en) 2014-06-27 2020-04-07 o9 Solutions, Inc. Plan modeling and user feedback
US9473446B2 (en) 2014-06-30 2016-10-18 Linkedin Corporation Personalized delivery time optimization
US10963810B2 (en) 2014-06-30 2021-03-30 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
US20160006760A1 (en) 2014-07-02 2016-01-07 Microsoft Corporation Detecting and preventing phishing attacks
WO2016003469A1 (en) 2014-07-03 2016-01-07 Nuance Communications, Inc. System and method for suggesting actions based upon incoming messages
US9760849B2 (en) 2014-07-08 2017-09-12 Tata Consultancy Services Limited Assessing an information security governance of an enterprise
US9842349B2 (en) 2014-07-11 2017-12-12 Louddoor, Llc System and method for preference determination
JP6226830B2 (en) 2014-07-24 2017-11-08 株式会社東芝 Information processing apparatus, data access method, and program
US9729583B1 (en) 2016-06-10 2017-08-08 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US10289867B2 (en) 2014-07-27 2019-05-14 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US10181051B2 (en) 2016-06-10 2019-01-15 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US9848005B2 (en) 2014-07-29 2017-12-19 Aruba Networks, Inc. Client reputation driven role-based access control
US9087090B1 (en) 2014-07-31 2015-07-21 Splunk Inc. Facilitating execution of conceptual queries containing qualitative search terms
US10311450B2 (en) 2014-07-31 2019-06-04 Genesys Telecommunications Laboratories, Inc. System and method for managing customer feedback
US8966578B1 (en) 2014-08-07 2015-02-24 Hytrust, Inc. Intelligent system for enabling automated secondary authorization for service requests in an agile information technology environment
US20150339673A1 (en) 2014-10-28 2015-11-26 Brighterion, Inc. Method for detecting merchant data breaches with a computer network server
US20160048700A1 (en) 2014-08-14 2016-02-18 Nagravision S.A. Securing personal information
US9805381B2 (en) 2014-08-21 2017-10-31 Affectomatics Ltd. Crowd-based scores for food from measurements of affective response
US20160063567A1 (en) 2014-08-29 2016-03-03 Verizon Patent And Licensing Inc. Marketing platform that identifies particular user attributes for marketing purposes
US20170201518A1 (en) 2014-09-05 2017-07-13 Lastwall Networks Inc. Method and system for real-time authentication of user access to a resource
US20160071112A1 (en) 2014-09-10 2016-03-10 Mastercard International Incorporated Method and system for providing transparency in data collection and usage
US20160080405A1 (en) 2014-09-15 2016-03-17 Sizmek, Inc. Detecting Anomalous Interaction With Online Content
US10853515B2 (en) 2014-09-15 2020-12-01 Salesforce.Com, Inc. Secure storage and access to sensitive data
US10481763B2 (en) 2014-09-17 2019-11-19 Lett.rs LLC. Mobile stamp creation and management for digital communications
US10324960B1 (en) 2014-09-19 2019-06-18 Google Llc Determining a number of unique viewers of a content item
KR101780621B1 (en) 2014-09-19 2017-09-21 이데미쓰 고산 가부시키가이샤 Novel compound
US9842042B2 (en) 2014-09-25 2017-12-12 Bank Of America Corporation Datacenter management computing system
EP3198834A4 (en) 2014-09-26 2018-03-21 Sanjay Parekh Method and system for email privacy, security and information theft detection
US9462009B1 (en) 2014-09-30 2016-10-04 Emc Corporation Detecting risky domains
US9384357B2 (en) 2014-10-01 2016-07-05 Quixey, Inc. Providing application privacy information
US20170140174A1 (en) 2014-10-02 2017-05-18 Trunomi Ltd Systems and Methods for Obtaining Authorization to Release Personal Information Associated with a User
US20160103963A1 (en) 2014-10-14 2016-04-14 Varun Mishra Method and system for smart healthcare management
US10091312B1 (en) 2014-10-14 2018-10-02 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US9621357B2 (en) 2014-10-16 2017-04-11 Verato, Inc. System and method for providing consent management
US10223533B2 (en) 2014-10-21 2019-03-05 Veracode, Inc. Systems and methods for analysis of cross-site scripting vulnerabilities
US9734148B2 (en) 2014-10-21 2017-08-15 Google Inc. Information redaction from document data
US9825928B2 (en) 2014-10-22 2017-11-21 Radware, Ltd. Techniques for optimizing authentication challenges for detection of malicious attacks
EP3213282A4 (en) 2014-10-27 2018-03-28 Flamingo Ventures Pty Ltd Customer experience personalisation management platform
US10552462B1 (en) 2014-10-28 2020-02-04 Veritas Technologies Llc Systems and methods for tokenizing user-annotated names
US10230571B2 (en) 2014-10-30 2019-03-12 Equinix, Inc. Microservice-based application development framework
US20160125749A1 (en) 2014-10-30 2016-05-05 Linkedin Corporation User interface for a/b testing
US10373409B2 (en) 2014-10-31 2019-08-06 Intellicheck, Inc. Identification scan in compliance with jurisdictional or other rules
US10659566B1 (en) 2014-10-31 2020-05-19 Wells Fargo Bank, N.A. Demo recording utility
AU2015343261A1 (en) 2014-11-03 2017-05-18 Automated Clinical Guidelines, Llc Method and platform/system for creating a web-based form that incorporates an embedded knowledge base, wherein the form provides automatic feedback to a user during and following completion of the form
US9400956B2 (en) 2014-11-05 2016-07-26 International Business Machines Corporation Answer interactions in a question-answering environment
US9760635B2 (en) 2014-11-07 2017-09-12 Rockwell Automation Technologies, Inc. Dynamic search engine for an industrial environment
US20160140466A1 (en) 2014-11-14 2016-05-19 Peter Sidebottom Digital data system for processing, managing and monitoring of risk source data
US9473505B1 (en) 2014-11-14 2016-10-18 Trend Micro Inc. Management of third party access privileges to web services
US9912625B2 (en) 2014-11-18 2018-03-06 Commvault Systems, Inc. Storage and management of mail attachments
WO2016079661A1 (en) 2014-11-18 2016-05-26 Visa International Service Association Systems and methods for initiating payments in favour of a payee entity
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US10552777B2 (en) 2014-11-20 2020-02-04 International Business Machines Corporation Prioritizing workload
US9553918B1 (en) 2014-11-26 2017-01-24 Ensighten, Inc. Stateful and stateless cookie operations servers
US20160162269A1 (en) 2014-12-03 2016-06-09 Oleg POGORELIK Security evaluation and user interface for application installation
US9424021B2 (en) 2014-12-09 2016-08-23 Vmware, Inc. Capturing updates to applications and operating systems
US10747897B2 (en) 2014-12-09 2020-08-18 Early Warning Services, Llc Privacy policy rating system
US10346186B2 (en) 2014-12-11 2019-07-09 Rohan Kalyanpur System and method for simulating internet browsing system for user without graphical user interface
US9294498B1 (en) 2014-12-13 2016-03-22 SecurityScorecard, Inc. Online portal for improving cybersecurity risk scores
US9704103B2 (en) 2014-12-16 2017-07-11 The Affinity Project, Inc. Digital companions for human users
US10063594B2 (en) 2014-12-16 2018-08-28 OPSWAT, Inc. Network access control with compliance policy check
US9959551B1 (en) 2014-12-18 2018-05-01 Amazon Technologies, Inc. Customer-level cross-channel message planner
US10534851B1 (en) 2014-12-19 2020-01-14 BloomReach Inc. Dynamic landing pages
US9584964B2 (en) 2014-12-22 2017-02-28 Airwatch Llc Enforcement of proximity based policies
US10019591B1 (en) 2014-12-23 2018-07-10 Amazon Technologies, Inc. Low-latency media sharing
KR102323805B1 (en) 2014-12-24 2021-11-10 십일번가 주식회사 Apparatus for authentication and payment based on web, method for authentication and payment based on web, system for authentication and payment based on web and computer readable medium having computer program recorded therefor
US9648036B2 (en) 2014-12-29 2017-05-09 Palantir Technologies Inc. Systems for network risk assessment including processing of user access rights associated with a network of devices
US9483388B2 (en) 2014-12-29 2016-11-01 Quixey, Inc. Discovery of application states
US9699209B2 (en) 2014-12-29 2017-07-04 Cyence Inc. Cyber vulnerability scan analyses with actionable feedback
US10187363B2 (en) 2014-12-31 2019-01-22 Visa International Service Association Hybrid integration of software development kit with secure execution environment
JP6421600B2 (en) 2015-01-05 2018-11-14 富士通株式会社 Fault monitoring device, fault monitoring program, fault monitoring method
US9600651B1 (en) 2015-01-05 2017-03-21 Kimbia, Inc. System and method for determining use of non-human users in a distributed computer network environment
US10453092B1 (en) 2015-01-20 2019-10-22 Google Llc Content selection associated with webview browsers
US9800605B2 (en) 2015-01-30 2017-10-24 Securonix, Inc. Risk scoring for threat assessment
US20160225000A1 (en) 2015-02-02 2016-08-04 At&T Intellectual Property I, L.P. Consent valuation
US11093950B2 (en) 2015-02-02 2021-08-17 Opower, Inc. Customer activity score
US20150149362A1 (en) 2015-02-04 2015-05-28 vitaTrackr, Inc. Encryption and Distribution of Health-related Data
EP3254252A1 (en) 2015-02-06 2017-12-13 Trunomi Ltd. Systems and methods for generating an auditable digital certificate
US11176545B2 (en) 2015-02-06 2021-11-16 Trunomi Ltd. Systems for generating an auditable digital certificate
US10423985B1 (en) 2015-02-09 2019-09-24 Twitter, Inc. Method and system for identifying users across mobile and desktop devices
US10447788B2 (en) 2015-02-10 2019-10-15 Cisco Technology, Inc. Collaboration techniques between parties using one or more communication modalities
US10853592B2 (en) 2015-02-13 2020-12-01 Yoti Holding Limited Digital identity system
US10860979B2 (en) 2015-02-17 2020-12-08 Nice Ltd. Device, system and method for summarizing agreements
US20180027006A1 (en) 2015-02-24 2018-01-25 Cloudlock, Inc. System and method for securing an enterprise computing environment
US9507960B2 (en) 2015-02-25 2016-11-29 Citigroup Technology, Inc. Systems and methods for automated data privacy compliance
US20160253497A1 (en) 2015-02-26 2016-09-01 Qualcomm Incorporated Return Oriented Programming Attack Detection Via Memory Monitoring
US20170330197A1 (en) 2015-02-26 2017-11-16 Mcs2, Llc Methods and systems for managing compliance plans
US10671760B2 (en) 2015-02-27 2020-06-02 Arash Esmailzadeh Secure and private data storage
US9942214B1 (en) 2015-03-02 2018-04-10 Amazon Technologies, Inc. Automated agent detection utilizing non-CAPTCHA methods
US10387577B2 (en) 2015-03-03 2019-08-20 WonderHealth, LLC Secure data translation using machine-readable identifiers
CN107533453B (en) 2015-03-06 2021-06-01 思科技术公司 System and method for generating data visualization applications
US9600181B2 (en) 2015-03-11 2017-03-21 Microsoft Technology Licensing, Llc Live configurable storage
US9251372B1 (en) 2015-03-20 2016-02-02 Yahoo! Inc. Secure service for receiving sensitive information through nested iFrames
US9629064B2 (en) 2015-03-20 2017-04-18 Bkon Connect, Inc. Beacon-implemented system for mobile content management
WO2016154254A1 (en) 2015-03-23 2016-09-29 Private Access, Inc. System, method and apparatus to enhance privacy and enable broad sharing of bioinformatic data
US10250594B2 (en) 2015-03-27 2019-04-02 Oracle International Corporation Declarative techniques for transaction-specific authentication
US10140666B1 (en) 2015-03-30 2018-11-27 Intuit Inc. System and method for targeted data gathering for tax preparation
US20160292621A1 (en) 2015-03-30 2016-10-06 International Business Machines Corporation Automatically identifying a project's staffing-availability risk
US9665733B1 (en) 2015-03-31 2017-05-30 Google Inc. Setting access controls for a content item
US20160292453A1 (en) 2015-03-31 2016-10-06 Mckesson Corporation Health care information system and method for securely storing and controlling access to health care data
US20170154188A1 (en) 2015-03-31 2017-06-01 Philipp MEIER Context-sensitive copy and paste block
US10541938B1 (en) 2015-04-06 2020-01-21 EMC IP Holding Company LLC Integration of distributed data processing platform with one or more distinct supporting platforms
US9973585B2 (en) 2015-04-11 2018-05-15 Evidon, Inc. Methods, apparatus and systems for providing notice of digital tracking technologies in mobile apps on mobile devices, and for recording user consent in connection with same
US9836598B2 (en) 2015-04-20 2017-12-05 Splunk Inc. User activity monitoring
AU2016102425A4 (en) 2015-04-28 2019-10-24 Red Marker Pty Ltd Device, process and system for risk mitigation
US20160321748A1 (en) 2015-04-29 2016-11-03 International Business Machines Corporation Method for market risk assessment for healthcare applications
WO2016176686A1 (en) 2015-04-30 2016-11-03 Drawbridge Networks, Inc. Computer network security system
US20160330237A1 (en) 2015-05-08 2016-11-10 RedMorph, LLC System and Method for Blocking Internet Data Brokers and Networks
US10091214B2 (en) 2015-05-11 2018-10-02 Finjan Mobile, Inc. Malware warning
US10069858B2 (en) 2015-05-11 2018-09-04 Finjan Mobile, Inc. Secure and private mobile web browser
US20160335531A1 (en) 2015-05-12 2016-11-17 Dynamics Inc. Dynamic security codes, tokens, displays, cards, devices, multi-card devices, systems and methods
US9934544B1 (en) 2015-05-12 2018-04-03 CADG Partners, LLC Secure consent management system
GB201508872D0 (en) 2015-05-22 2015-07-01 Exate Technology Ltd Encryption and decryption system
WO2016191630A1 (en) 2015-05-27 2016-12-01 Speaktoit, Inc. Enhancing functionalities of virtual assistants and dialog systems via plugin marketplace
US10326768B2 (en) 2015-05-28 2019-06-18 Google Llc Access control for enterprise knowledge
US10438273B2 (en) 2015-05-29 2019-10-08 Home Depot Product Authority, Llc Methods, apparatuses, and systems for online item lookup operations
US9860226B2 (en) 2015-06-03 2018-01-02 Sap Se Sensitive information cloud service
US9838839B2 (en) 2015-06-05 2017-12-05 Apple Inc. Repackaging media content data with anonymous identifiers
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10567517B2 (en) 2015-06-05 2020-02-18 Apple Inc. Web resource load blocking API
US20160364767A1 (en) 2015-06-09 2016-12-15 Clickagy, LLC Method and system for influencing auction based advertising opportunities based on user characteristics
US10142113B2 (en) 2015-06-18 2018-11-27 Bank Of America Corporation Identifying and maintaining secure communications
US10547709B2 (en) 2015-06-18 2020-01-28 Qualtrics, Llc Recomposing survey questions for distribution via multiple distribution channels
US9798896B2 (en) 2015-06-22 2017-10-24 Qualcomm Incorporated Managing unwanted tracking on a device
US20160381560A1 (en) 2015-06-27 2016-12-29 Offla Selfsafe Ltd. Systems and methods for derivative fraud detection challenges in mobile device transactions
US10135836B2 (en) 2015-06-29 2018-11-20 International Business Machines Corporation Managing data privacy and information safety
US20160378762A1 (en) 2015-06-29 2016-12-29 Rovi Guides, Inc. Methods and systems for identifying media assets
US10437671B2 (en) 2015-06-30 2019-10-08 Pure Storage, Inc. Synchronizing replicated stored data
US9904916B2 (en) 2015-07-01 2018-02-27 Klarna Ab Incremental login and authentication to user portal without username/password
CZ2015471A3 (en) 2015-07-07 2016-09-29 Aducid S.R.O. Method of assignment of at least two authentication devices to the account of a user using authentication server
US10425492B2 (en) 2015-07-07 2019-09-24 Bitly, Inc. Systems and methods for web to mobile app correlation
US10560347B2 (en) 2015-07-13 2020-02-11 International Business Machines Corporation Compliance validation for services based on user selection
US9734255B2 (en) 2015-07-14 2017-08-15 Jianfeng Jiang Ubiquitous personalized learning evaluation network using 2D barcodes
EP3326123A1 (en) 2015-07-24 2018-05-30 PCMS Holdings, Inc. Recommendations for security associated with accounts
US10127403B2 (en) 2015-07-30 2018-11-13 Samsung Electronics Co., Ltd. Computing system with privacy control mechanism and method of operation thereof
US20170032395A1 (en) 2015-07-31 2017-02-02 PeerAspect LLC System and method for dynamically creating, updating and managing survey questions
US20170041324A1 (en) 2015-08-04 2017-02-09 Pawn Detail, LLC Systems and methods for personal property information management
US10055869B2 (en) 2015-08-11 2018-08-21 Delta Energy & Communications, Inc. Enhanced reality system for visualizing, evaluating, diagnosing, optimizing and servicing smart grids and incorporated components
US10028225B2 (en) 2015-08-26 2018-07-17 International Business Machines Corporation Efficient usage of internet services on mobile devices
US9864735B1 (en) 2015-08-27 2018-01-09 Google Llc In-domain webpage editing
US10311042B1 (en) 2015-08-31 2019-06-04 Commvault Systems, Inc. Organically managing primary and secondary storage of a data object based on expiry timeframe supplied by a user of the data object
US10122663B2 (en) 2015-08-31 2018-11-06 Microsoft Technology Licensing, Llc Proxy email server for routing messages
US20170061501A1 (en) 2015-09-01 2017-03-02 King.Com Limited Method and system for predicting data warehouse capacity using sample data
JP2018522317A (en) 2015-09-02 2018-08-09 グーグル エルエルシー Software development and distributed platform
US20170068785A1 (en) 2015-09-09 2017-03-09 Humetrix.Com, Inc. Secure real-time health record exchange
US20170070495A1 (en) 2015-09-09 2017-03-09 Michael A. Cherry Method to secure file origination, access and updates
US9961070B2 (en) 2015-09-11 2018-05-01 Drfirst.Com, Inc. Strong authentication with feeder robot in a federated identity web environment
US10148679B2 (en) 2015-12-09 2018-12-04 Accenture Global Solutions Limited Connected security system
US10728239B2 (en) 2015-09-15 2020-07-28 Mimecast Services Ltd. Mediated access to resources
EP3144816A1 (en) 2015-09-15 2017-03-22 Tata Consultancy Services Limited Static analysis based efficient elimination of false positives
US9335991B1 (en) 2015-09-18 2016-05-10 ReactiveCore LLC System and method for providing supplemental functionalities to a computer program via an ontology instance
US10001975B2 (en) 2015-09-21 2018-06-19 Shridhar V. Bharthulwar Integrated system for software application development
US10732865B2 (en) 2015-09-23 2020-08-04 Oracle International Corporation Distributed shared memory using interconnected atomic transaction engines at respective memory interfaces
US9923927B1 (en) 2015-09-29 2018-03-20 Amazon Technologies, Inc. Methods and systems for enabling access control based on credential properties
US20170093917A1 (en) 2015-09-30 2017-03-30 Fortinet, Inc. Centralized management and enforcement of online behavioral tracking policies
US10331689B2 (en) 2015-10-01 2019-06-25 Salesforce.Com, Inc. Methods and apparatus for presenting search results according to a priority order determined by user activity
US10268838B2 (en) 2015-10-06 2019-04-23 Sap Se Consent handling during data harvesting
US9894076B2 (en) 2015-10-09 2018-02-13 International Business Machines Corporation Data protection and sharing
US20170115864A1 (en) 2015-10-24 2017-04-27 Oracle International Corporation Visual form designer
US10726153B2 (en) 2015-11-02 2020-07-28 LeapYear Technologies, Inc. Differentially private machine learning using a random forest classifier
US9936127B2 (en) 2015-11-02 2018-04-03 Paypal, Inc. Systems and methods for providing attention directing functions in an image capturing device
US11244317B2 (en) 2015-11-03 2022-02-08 Mastercard International Incorporated Systems and methods for feeding a previous case action for a decision of confirming financial transactions
US9916703B2 (en) 2015-11-04 2018-03-13 Zoox, Inc. Calibration for autonomous vehicle operation
US20170142177A1 (en) 2015-11-13 2017-05-18 Le Holdings (Beijing) Co., Ltd. Method and system for network dispatching
US10110633B2 (en) 2015-11-16 2018-10-23 Telefonica, S.A. Method, a device and computer program products for protecting privacy of users from web-trackers
US10963571B2 (en) 2015-11-17 2021-03-30 Micro Focus Llc Privacy risk assessments
US10055426B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. System and method transforming source data into output data in big data environments
US9767309B1 (en) 2015-11-23 2017-09-19 Experian Information Solutions, Inc. Access control system for implementing access restrictions of regulated database records while identifying and providing indicators of regulated database records matching validation criteria
US9800606B1 (en) 2015-11-25 2017-10-24 Symantec Corporation Systems and methods for evaluating network security
US10212175B2 (en) 2015-11-30 2019-02-19 International Business Machines Corporation Attracting and analyzing spam postings
US9678794B1 (en) 2015-12-02 2017-06-13 Color Genomics, Inc. Techniques for processing queries relating to task-completion times or cross-data-structure interactions
AU2016362507A1 (en) 2015-12-04 2018-06-14 Dan CERNOCH Systems and methods for scalable-factor authentication
US10268840B2 (en) 2015-12-04 2019-04-23 Xor Data Exchange, Inc. Systems and methods of determining compromised identity information
US9948663B1 (en) 2015-12-07 2018-04-17 Symantec Corporation Systems and methods for predicting security threat attacks
US20170171325A1 (en) 2015-12-09 2017-06-15 Paul Andrew Perez Method and System for Using Timestamps and Algorithms Across Email and Social Networks to Identify Optimal Delivery Times for an Electronic Personal Message
US10296504B2 (en) 2015-12-15 2019-05-21 Successfactors, Inc. Graphical user interface for querying relational data models
US10205994B2 (en) 2015-12-17 2019-02-12 The Nielsen Company (Us), Llc Methods and apparatus to collect distributed user information for media impressions
US10152560B2 (en) 2015-12-17 2018-12-11 Business Objects Software Limited Graph database querying and visualization
US20170180505A1 (en) 2015-12-18 2017-06-22 At&T Intellectual Property I, L.P. Method, computer-readable storage device and apparatus for storing privacy information
US9760366B2 (en) 2015-12-21 2017-09-12 Amazon Technologies, Inc. Maintaining deployment pipelines for a production computing service using live pipeline templates
WO2017111967A1 (en) 2015-12-22 2017-06-29 Hewlett Packard Enterprise Development Lp Privacy risk information display
EP3185194A1 (en) 2015-12-24 2017-06-28 Gemalto Sa Method and system for enhancing the security of a transaction
US11003748B2 (en) 2015-12-28 2021-05-11 Unbotify Ltd. Utilizing behavioral features to identify bot
US20170193624A1 (en) 2015-12-30 2017-07-06 Paypal, Inc. Personal information certification and management system
US10289584B2 (en) 2016-01-06 2019-05-14 Toshiba Client Solutions CO., LTD. Using a standard USB Type-C connector to communicate both USB 3.x and displayport data
US10373119B2 (en) 2016-01-11 2019-08-06 Microsoft Technology Licensing, Llc Checklist generation
US20170206707A1 (en) 2016-01-15 2017-07-20 Anthony Guay Virtual reality analytics platform
US10019588B2 (en) 2016-01-15 2018-07-10 FinLocker LLC Systems and/or methods for enabling cooperatively-completed rules-based data analytics of potentially sensitive data
US10587640B2 (en) 2016-01-18 2020-03-10 Secureworks Corp. System and method for attribution of actors to indicators of threats to a computer system and prediction of future threat actions
US10713314B2 (en) 2016-01-29 2020-07-14 Splunk Inc. Facilitating data model acceleration in association with an external data system
US11068584B2 (en) 2016-02-01 2021-07-20 Google Llc Systems and methods for deploying countermeasures against unauthorized scripts interfering with the rendering of content elements on information resources
US9876825B2 (en) 2016-02-04 2018-01-23 Amadeus S.A.S. Monitoring user authenticity
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US9848061B1 (en) 2016-10-28 2017-12-19 Vignet Incorporated System and method for rules engine that dynamically adapts application behavior
US9980165B2 (en) 2016-02-10 2018-05-22 Airwatch Llc Visual privacy systems for enterprise mobility management
US9946897B2 (en) 2016-02-26 2018-04-17 Microsoft Technology Licensing, Llc Data privacy management system and method
US10536478B2 (en) 2016-02-26 2020-01-14 Oracle International Corporation Techniques for discovering and managing security of applications
US9571991B1 (en) 2016-03-09 2017-02-14 Sprint Communications Company L.P. Opt-in tracking across messaging application platforms
WO2017158542A1 (en) 2016-03-15 2017-09-21 Ritchie Stuart Privacy impact assessment system and associated methods
US9880157B2 (en) 2016-03-17 2018-01-30 Fitbit, Inc. Apparatus and methods for suppressing user-alerting actions
US10735388B2 (en) 2016-03-17 2020-08-04 Lenovo (Singapore) Pte Ltd Confining data based on location
US10545624B2 (en) 2016-03-21 2020-01-28 Microsoft Technology Licensing, Llc User interfaces for personalized content recommendation
US9977920B2 (en) 2016-03-22 2018-05-22 Ca, Inc. Providing data privacy in computer networks using personally identifiable information by inference control
US10796235B2 (en) 2016-03-25 2020-10-06 Uptake Technologies, Inc. Computer systems and methods for providing a visualization of asset event and signal data
US9838407B1 (en) 2016-03-30 2017-12-05 EMC IP Holding Company LLC Detection of malicious web activity in enterprise computer networks
US10366241B2 (en) 2016-03-30 2019-07-30 The Privacy Factor, LLC Systems and methods for analyzing, assessing and controlling trust and authentication in applications and devices
US10187394B2 (en) 2016-03-31 2019-01-22 Microsoft Technology Licensing, Llc Personalized inferred authentication for virtual assistance
US9892444B2 (en) 2016-04-01 2018-02-13 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US9892441B2 (en) 2016-04-01 2018-02-13 OneTrust, LLC Data processing systems and methods for operationalizing privacy compliance and assessing the risk of various respective privacy campaigns
US9898769B2 (en) 2016-04-01 2018-02-20 OneTrust, LLC Data processing systems and methods for operationalizing privacy compliance via integrated mobile applications
US20170289199A1 (en) 2016-04-01 2017-10-05 Onetrust Llc Data processing systems and methods for efficiently communicating data flows in privacy campaigns
US20170287031A1 (en) 2016-04-01 2017-10-05 OneTrust, LLC Data processing and communication systems and methods for operationalizing privacy compliance and regulation and related systems and methods
US10176503B2 (en) 2016-04-01 2019-01-08 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US9892443B2 (en) 2016-04-01 2018-02-13 OneTrust, LLC Data processing systems for modifying privacy campaign data via electronic messaging systems
US9892442B2 (en) 2016-04-01 2018-02-13 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US10454935B2 (en) 2016-04-08 2019-10-22 Cloudknox Security Inc. Method and system to detect discrepancy in infrastructure security configurations from translated security best practice configurations in heterogeneous environments
BE1023612B1 (en) 2016-04-26 2017-05-16 Grain Ip Bvba Method and system for radiology reporting
US11321700B2 (en) 2016-04-28 2022-05-03 Paypal, Inc. User authentication using a browser cookie shared between a browser and an application
JP6857018B2 (en) 2016-04-28 2021-04-14 エスケー プラネット カンパニー、リミテッド A recording medium on which an electronic stamp system for enhanced security, its control method, and computer programs are recorded.
US10038787B2 (en) 2016-05-06 2018-07-31 Genesys Telecommunications Laboratories, Inc. System and method for managing and transitioning automated chat conversations
US10169608B2 (en) 2016-05-13 2019-01-01 Microsoft Technology Licensing, Llc Dynamic management of data with context-based processing
US10783535B2 (en) 2016-05-16 2020-09-22 Cerebri AI Inc. Business artificial intelligence management engine
US9948652B2 (en) 2016-05-16 2018-04-17 Bank Of America Corporation System for resource-centric threat modeling and identifying controls for securing technology resources
US9888377B1 (en) 2016-05-25 2018-02-06 Symantec Corporation Using personal computing device analytics as a knowledge based authentication source
US10346635B2 (en) 2016-05-31 2019-07-09 Genesys Telecommunications Laboratories, Inc. System and method for data management and task routing based on data tagging
US10453076B2 (en) 2016-06-02 2019-10-22 Facebook, Inc. Cold storage for legal hold data
US11108708B2 (en) 2016-06-06 2021-08-31 Global Tel*Link Corporation Personalized chatbots for inmates
US11422971B2 (en) 2016-06-06 2022-08-23 Hitachi Systems, Ltd. Data migration system and data migration method
US10326841B2 (en) 2016-06-07 2019-06-18 Vmware Inc. Remote data securement on mobile devices
US10785299B2 (en) 2016-06-08 2020-09-22 Nutanix, Inc. Generating cloud-hosted storage objects from observed data access patterns
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US10762236B2 (en) 2016-06-10 2020-09-01 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10440062B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management systems and related methods
US10452864B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US10032172B2 (en) 2016-06-10 2018-07-24 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US20200410117A1 (en) 2016-06-10 2020-12-31 OneTrust, LLC Consent receipt management systems and related methods
US10706176B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data-processing consent refresh, re-prompt, and recapture systems and related methods
US20190268344A1 (en) 2016-06-10 2019-08-29 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10204154B2 (en) 2016-06-10 2019-02-12 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10102533B2 (en) 2016-06-10 2018-10-16 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US11057356B2 (en) 2016-06-10 2021-07-06 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
US10949170B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US10275614B2 (en) 2016-06-10 2019-04-30 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10798133B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US10496803B2 (en) * 2016-06-10 2019-12-03 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US10585968B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US10289866B2 (en) 2016-06-10 2019-05-14 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10713387B2 (en) 2016-06-10 2020-07-14 OneTrust, LLC Consent conversion optimization systems and related methods
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US10353673B2 (en) 2016-06-10 2019-07-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
US10510031B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10708305B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Automated data processing systems and methods for automatically processing requests for privacy-related information
US10289870B2 (en) 2016-06-10 2019-05-14 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10776518B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Consent receipt management systems and related methods
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems and related methods
US10416966B2 (en) 2016-06-10 2019-09-17 OneTrust, LLC Data processing systems for identity validation of data subject access requests and related methods
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US10282559B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US10437412B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management systems and related methods
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US10997318B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US10430740B2 (en) 2016-06-10 2019-10-01 One Trust, LLC Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US10346637B2 (en) 2016-06-10 2019-07-09 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10839102B2 (en) 2016-06-10 2020-11-17 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10346638B2 (en) 2016-06-10 2019-07-09 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US20190096020A1 (en) 2016-06-10 2019-03-28 OneTrust, LLC Consent receipt management systems and related methods
US10452866B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10726158B2 (en) 2016-06-10 2020-07-28 OneTrust, LLC Consent receipt management and automated process blocking systems and related methods
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10747774B2 (en) 2016-06-19 2020-08-18 Data.World, Inc. Interactive interfaces to present data arrangement overviews and summarized dataset attributes for collaborative datasets
US11068847B2 (en) 2016-06-19 2021-07-20 Data.World, Inc. Computerized tools to facilitate data project development via data access layering logic in a networked computing platform including collaborative datasets
US10645548B2 (en) 2016-06-19 2020-05-05 Data.World, Inc. Computerized tool implementation of layered data files to discover, form, or analyze dataset interrelations of networked collaborative datasets
GB201611948D0 (en) 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
US10956586B2 (en) 2016-07-22 2021-03-23 Carnegie Mellon University Personalized privacy assistant
US10375115B2 (en) 2016-07-27 2019-08-06 International Business Machines Corporation Compliance configuration management
US20180032757A1 (en) 2016-08-01 2018-02-01 Azeem Michael Health Status Matching System and Method
JP6779700B2 (en) 2016-08-04 2020-11-04 古野電気株式会社 Control device authentication system, control device authentication method, and control device program
US10212134B2 (en) 2016-08-04 2019-02-19 Fortinet, Inc. Centralized management and enforcement of online privacy policies
US10257127B2 (en) 2016-08-09 2019-04-09 Microsoft Technology Licensing, Llc Email personalization
US11443224B2 (en) 2016-08-10 2022-09-13 Paypal, Inc. Automated machine learning feature processing
US10498761B2 (en) 2016-08-23 2019-12-03 Duo Security, Inc. Method for identifying phishing websites and hindering associated activity
US10491614B2 (en) 2016-08-25 2019-11-26 Cisco Technology, Inc. Illegitimate typosquatting detection with internet protocol information
US9747570B1 (en) 2016-09-08 2017-08-29 Secure Systems Innovation Corporation Method and system for risk measurement and modeling
US10574540B2 (en) 2016-09-17 2020-02-25 Anand Sambandam Method and system for facilitating management of service agreements for consumer clarity over multiple channels
US10984458B1 (en) 2016-09-22 2021-04-20 Bankcard USA Merchant Services, Inc. Network based age verification method
US9847973B1 (en) 2016-09-26 2017-12-19 Agari Data, Inc. Mitigating communication risk by detecting similarity to a trusted message contact
US10158654B2 (en) 2016-10-31 2018-12-18 Acentium Inc. Systems and methods for computer environment situational awareness
US10986062B2 (en) 2016-11-04 2021-04-20 Verizon Media Inc. Subscription transfer
US20180131574A1 (en) 2016-11-09 2018-05-10 SingeHop, LLC Remote server monitoring and patching system
EP3545418A4 (en) 2016-11-22 2020-08-12 AON Global Operations PLC, Singapore Branch Systems and methods for cybersecurity risk assessment
US10387559B1 (en) 2016-11-22 2019-08-20 Google Llc Template-based identification of user interest
CN110214326A (en) 2016-11-29 2019-09-06 俐怒媒体公司 In conjunction with the divided stages of authentication procedure and the personal information infringement prevention method and system of biological identification
US10333975B2 (en) 2016-12-06 2019-06-25 Vmware, Inc. Enhanced computing system security using a secure browser
US20180165637A1 (en) 2016-12-14 2018-06-14 IdLockSmart.com, LLC Computer-implemented system and methods for secure package delivery
US10535081B2 (en) 2016-12-20 2020-01-14 Facebook, Inc. Optimizing audience engagement with digital content shared on a social networking system
US10957326B2 (en) 2016-12-30 2021-03-23 Google Llc Device identifier dependent operation processing of packet based data communication
EP3571644A1 (en) 2017-01-17 2019-11-27 Fair IP, LLC Data processing system and method for transaction facilitation for inventory items
US10581825B2 (en) 2017-01-27 2020-03-03 Equifax Inc. Integrating sensitive data from a data provider into instances of third-party applications executed on user devices
US9877138B1 (en) 2017-01-27 2018-01-23 Warren Lee Franklin Method and system for localized data retrieval
US9787671B1 (en) 2017-01-30 2017-10-10 Xactly Corporation Highly available web-based database interface system
US10788951B2 (en) 2017-02-23 2020-09-29 Bank Of America Corporation Data processing system with machine learning engine to provide dynamic interface functions
US10075451B1 (en) 2017-03-08 2018-09-11 Venpath, Inc. Methods and systems for user opt-in to data privacy agreements
EP3373183B1 (en) 2017-03-09 2020-10-28 STMicroelectronics Srl System with soc connections among ip and multiple gpios, and corresponding method
US11416870B2 (en) 2017-03-29 2022-08-16 Box, Inc. Computing systems for heterogeneous regulatory control compliance monitoring and auditing
US10558809B1 (en) 2017-04-12 2020-02-11 Architecture Technology Corporation Software assurance system for runtime environments
US10860721B1 (en) 2017-05-04 2020-12-08 Mike Gentile Information security management improvement system
US10706226B2 (en) 2017-05-05 2020-07-07 Servicenow, Inc. Graphical user interface for inter-party communication with automatic scoring
US20180351888A1 (en) 2017-06-02 2018-12-06 Maiclein, LLC Electronic Communication Platform
KR101804960B1 (en) 2017-06-08 2017-12-06 윤성민 Collective intelligence convergence system and method thereof
US10657615B2 (en) 2017-06-09 2020-05-19 Bank Of America Corporation System and method of allocating computing resources based on jurisdiction
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
US20180365720A1 (en) 2017-06-18 2018-12-20 Hiperos, LLC Controls module
US20180375814A1 (en) 2017-06-27 2018-12-27 Microsoft Technology Licensing, Llc Tracking and controlling mass communications
US10754932B2 (en) 2017-06-29 2020-08-25 Sap Se Centralized consent management
US10474508B2 (en) 2017-07-04 2019-11-12 Vmware, Inc. Replication management for hyper-converged infrastructures
US9954879B1 (en) 2017-07-17 2018-04-24 Sift Science, Inc. System and methods for dynamic digital threat mitigation
US10417401B2 (en) 2017-07-30 2019-09-17 Bank Of America Corporation Dynamic digital consent
US20180336362A1 (en) 2017-07-31 2018-11-22 Seematics Systems Ltd Permissions in a dataset management system
US10482228B2 (en) 2017-08-14 2019-11-19 Mastercard International Incorporated Systems and methods for authenticating users in virtual reality settings
BR112020003492A2 (en) 2017-08-22 2020-08-25 Breach Clarity, Inc. method and apparatus.
US10255602B2 (en) 2017-09-01 2019-04-09 Operr Technologies, Inc. Location-based verification for predicting user trustworthiness
US20190087570A1 (en) 2017-09-20 2019-03-21 Bank Of America Corporation System for generation and execution of event impact mitigation
AU2018336919A1 (en) 2017-09-21 2020-05-07 The Authoriti Network, Inc. System and method for authorization token generation and transaction validation
US10951604B1 (en) 2017-09-25 2021-03-16 Cloudera, Inc. Secure service deployment and access layer spanning multi-cluster environments
US10693974B2 (en) * 2017-09-28 2020-06-23 Citrix Systems, Inc. Managing browser session navigation between one or more browsers
GB2581657A (en) 2017-10-10 2020-08-26 Laurie Cal Llc Online identity verification platform and process
US10795647B2 (en) * 2017-10-16 2020-10-06 Adobe, Inc. Application digital content control using an embedded machine learning module
US20210279360A1 (en) 2017-10-24 2021-09-09 Hewlett-Packard Development Company, L.P. Trackers of consented data transactions with customer-consent data records
US10657287B2 (en) 2017-11-01 2020-05-19 International Business Machines Corporation Identification of pseudonymized data within data sources
US20190139087A1 (en) 2017-11-06 2019-05-09 David Dabbs Systems and Methods for Acquiring Consent from a Party Subject to Online Advertisement
US10839099B2 (en) 2017-11-20 2020-11-17 Sap Se General data protection regulation (GDPR) infrastructure for microservices and programming model
US10749870B2 (en) 2017-11-21 2020-08-18 Vmware, Inc. Adaptive device enrollment
AU2018264158A1 (en) 2017-12-07 2019-06-27 Visa International Service Association Helper software developer kit for native device hybrid applications
US11190544B2 (en) 2017-12-11 2021-11-30 Catbird Networks, Inc. Updating security controls or policies based on analysis of collected or created metadata
US11132453B2 (en) 2017-12-18 2021-09-28 Mitsubishi Electric Research Laboratories, Inc. Data-driven privacy-preserving communication
US10613971B1 (en) 2018-01-12 2020-04-07 Intuit Inc. Autonomous testing of web-based applications
US10726145B2 (en) 2018-02-08 2020-07-28 Ca, Inc. Method to dynamically elevate permissions on the mainframe
US20190266200A1 (en) 2018-02-26 2019-08-29 AirDXP, Inc. Systems and methods for redirecting to track user identifiers across different websites
US20190272492A1 (en) 2018-03-05 2019-09-05 Edgile, Inc. Trusted Eco-system Management System
US10831831B2 (en) 2018-03-29 2020-11-10 Oracle International Corporation Hierarchical metadata model querying system
US10803196B2 (en) 2018-03-30 2020-10-13 Microsoft Technology Licensing, Llc On-demand de-identification of data in computer storage systems
US20190333118A1 (en) 2018-04-27 2019-10-31 International Business Machines Corporation Cognitive product and service rating generation via passive collection of user feedback
GB201807183D0 (en) 2018-05-01 2018-06-13 Crimtan Holdings Ltd System for controlling user interaction via an application with remote servers
US10257181B1 (en) 2018-05-07 2019-04-09 Capital One Services, Llc Methods and processes for utilizing information collected for enhanced verification
KR102312916B1 (en) 2018-05-07 2021-10-15 구글 엘엘씨 Data Collection Consent Tool
US10841323B2 (en) 2018-05-17 2020-11-17 Adobe Inc. Detecting robotic internet activity across domains utilizing one-class and domain adaptation machine-learning models
US20190362169A1 (en) 2018-05-25 2019-11-28 Good Courage Limited Method for verifying user identity and age
US10839104B2 (en) 2018-06-08 2020-11-17 Microsoft Technology Licensing, Llc Obfuscating information related to personally identifiable information (PII)
WO2019237118A1 (en) 2018-06-08 2019-12-12 Jpmorgan Chase Bank, N.A. Business-aware intelligent incident and change management
US11068605B2 (en) 2018-06-11 2021-07-20 Grey Market Labs, PBC Systems and methods for controlling data exposure using artificial-intelligence-based periodic modeling
US20190392162A1 (en) 2018-06-25 2019-12-26 Merck Sharp & Dohme Corp. Dynamic consent enforcement for internet of things
AT521173B1 (en) 2018-06-27 2019-11-15 Trumpf Maschinen Austria Gmbh & Co Kg Bending tool with spacer element
WO2020005263A1 (en) 2018-06-28 2020-01-02 Visa International Service Association Systems and methods to secure api platforms
AT520713B1 (en) 2018-06-28 2019-07-15 Bernhard Scheuerer oven
US10929557B2 (en) 2018-07-06 2021-02-23 Avaya Inc. Exported digital relationships
US11605470B2 (en) 2018-07-12 2023-03-14 Telemedicine Provider Services, LLC Tele-health networking, interaction, and care matching tool and methods of use
US11645414B2 (en) 2018-08-03 2023-05-09 Cox Communications, Inc. Data privacy opt in/out solution
KR102454026B1 (en) 2018-08-13 2022-10-12 빅아이디 인크. A machine learning system and method for determining the confidence level of a personal information survey result.
US11615142B2 (en) 2018-08-20 2023-03-28 Salesforce, Inc. Mapping and query service between object oriented programming objects and deep key-value data stores
US10970418B2 (en) 2018-08-23 2021-04-06 Servicenow, Inc. System and method for anonymized data repositories
US10924514B1 (en) 2018-08-31 2021-02-16 Intuit Inc. Machine learning detection of fraudulent validation of financial institution credentials
US11265324B2 (en) 2018-09-05 2022-03-01 Consumerinfo.Com, Inc. User permissions for access to secure data at third-party
US10304442B1 (en) 2018-09-06 2019-05-28 International Business Machines Corporation Identifying digital private information and preventing privacy violations
US11816575B2 (en) 2018-09-07 2023-11-14 International Business Machines Corporation Verifiable deep learning training service
US11392852B2 (en) 2018-09-10 2022-07-19 Google Llc Rejecting biased data using a machine learning model
US11610213B2 (en) 2018-09-18 2023-03-21 Whistic Inc. Systems and methods for proactively responding to vendor security assessments
WO2020068082A1 (en) 2018-09-27 2020-04-02 Shadowbox, Inc. Systems and methods for regulation compliant computing
US11526629B2 (en) 2018-10-08 2022-12-13 Tata Consultancy Services Limited Method and system for providing data privacy based on customized cookie consent
US20200117737A1 (en) 2018-10-16 2020-04-16 LeapAnalysis Inc. Fast heterogeneous multi-data source search and analytics
US10762213B2 (en) 2018-10-24 2020-09-01 International Business Machines Corporation Database system threat detection
US11012475B2 (en) 2018-10-26 2021-05-18 Valtix, Inc. Managing computer security services for cloud computing platforms
US11068797B2 (en) 2018-10-31 2021-07-20 International Business Machines Corporation Automatic correction of indirect bias in machine learning models
US20200143301A1 (en) 2018-11-02 2020-05-07 Venminder, Inc. Systems and methods for providing vendor management, advanced risk assessment, and custom profiles
US10861442B2 (en) 2018-11-06 2020-12-08 Visa International Service Association Automated chat bot processing
US11409900B2 (en) 2018-11-15 2022-08-09 International Business Machines Corporation Processing event messages for data objects in a message queue to determine data to redact
US11410041B2 (en) 2018-11-27 2022-08-09 Wipro Limited Method and device for de-prejudicing artificial intelligence based anomaly detection
US11461702B2 (en) 2018-12-04 2022-10-04 Bank Of America Corporation Method and system for fairness in artificial intelligence based decision making engines
US11244045B2 (en) 2018-12-14 2022-02-08 BreachRX, Inc. Breach response data management system and method
US10965547B1 (en) 2018-12-26 2021-03-30 BetterCloud, Inc. Methods and systems to manage data objects in a cloud computing environment
US10902490B2 (en) 2018-12-28 2021-01-26 Cdw Llc Account manager virtual assistant using machine learning techniques
US11151284B2 (en) 2019-01-02 2021-10-19 Bank Of America Corporation System for active and passive management of location-based copy data
WO2020146028A1 (en) 2019-01-07 2020-07-16 Google Llc Identifying and correcting label bias in machine learning
US10649630B1 (en) 2019-01-08 2020-05-12 Servicenow, Inc. Graphical user interfaces for software asset management
US11829391B2 (en) 2019-01-14 2023-11-28 Salesforce, Inc. Systems, methods, and apparatuses for executing a graph query against a graph representing a plurality of data stores
US10976950B1 (en) 2019-01-15 2021-04-13 Twitter, Inc. Distributed dataset modification, retention, and replication
CN111496802A (en) 2019-01-31 2020-08-07 中国移动通信集团终端有限公司 Control method, device, equipment and medium for artificial intelligence equipment
US10452868B1 (en) 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
US11461498B2 (en) * 2019-02-06 2022-10-04 mSignia, Inc. Systems and methods for secured, managed, multi-party interchanges with a software application operating on a client device
US10546135B1 (en) 2019-03-06 2020-01-28 SecurityScorecard, Inc. Inquiry response mapping for determining a cybersecurity risk level of an entity
US11120156B2 (en) 2019-03-13 2021-09-14 International Business Machines Corporation Privacy preserving data deletion
US11500729B2 (en) 2019-03-26 2022-11-15 Acronis International Gmbh System and method for preserving data using replication and blockchain notarization
US10778792B1 (en) 2019-04-01 2020-09-15 International Business Machines Corporation Providing user control of tracking user behavior
US10795527B1 (en) 2019-04-26 2020-10-06 Capital One Services, Llc Systems and methods configured to provide the improved real time user experience involving mobile computing devices, a back-end server and NFC-coupled interactive posters including encryption, network operation and/or other features
US20200394327A1 (en) 2019-06-13 2020-12-17 International Business Machines Corporation Data security compliance for mobile device applications
US10536475B1 (en) 2019-06-20 2020-01-14 PhishCloud, Inc. Threat assessment based on coordinated monitoring of local communication clients
US10489454B1 (en) 2019-06-28 2019-11-26 Capital One Services, Llc Indexing a dataset based on dataset tags and an ontology
US11620651B2 (en) 2019-07-11 2023-04-04 Mastercard International Incorporated Method and system for blocking and unblocking merchants for future transactions
US11588796B2 (en) 2019-09-11 2023-02-21 Baidu Usa Llc Data transmission with obfuscation for a data processing (DP) accelerator
US20210081567A1 (en) 2019-09-16 2021-03-18 International Business Machines Corporation Monitoring data sharing and privacy policy compliance
US11252159B2 (en) 2019-09-18 2022-02-15 International Business Machines Corporation Cognitive access control policy management in a multi-cluster container orchestration environment
US11368461B2 (en) 2019-09-30 2022-06-21 Ebay Inc. Application programming interface authorization transformation system
US11526614B2 (en) 2019-10-15 2022-12-13 Anchain.ai Inc. Continuous vulnerability management system for blockchain smart contract based digital asset using sandbox and artificial intelligence
AU2020370589A1 (en) 2019-10-24 2022-04-21 Canopy Software Inc. Systems and methods for identifying compliance-related information associated with data breach events
US11711323B2 (en) 2019-11-20 2023-07-25 Medallia, Inc. Systems and methods for managing bot-generated interactions
US11023528B1 (en) 2019-12-20 2021-06-01 Capital One Services, Llc Transaction exchange platform having configurable microservices
US11037168B1 (en) 2019-12-20 2021-06-15 Capital One Services, Llc Transaction exchange platform with watchdog microservice
US11523282B2 (en) 2020-02-05 2022-12-06 Lookout Inc. Use of geolocation to improve security while protecting privacy
US11625494B2 (en) 2020-02-06 2023-04-11 AVAST Software s.r.o. Data privacy policy based network resource access controls
EP3869371A1 (en) 2020-02-18 2021-08-25 Mastercard International Incorporated Data consent manager
US11038840B1 (en) 2020-03-18 2021-06-15 Namecheap, Inc. Systems and methods for resolving conflicts in internet services
US11418531B2 (en) 2020-03-18 2022-08-16 Cyberlab Inc. System and method for determining cybersecurity rating and risk scoring
US11475709B2 (en) 2020-03-30 2022-10-18 Tina Elizabeth LAFRENIERE Systems, methods, and platform for facial identification within photographs
US20210382949A1 (en) 2020-06-07 2021-12-09 InfoTrust, LLC Systems and methods for web content inspection
US11475331B2 (en) 2020-06-25 2022-10-18 International Business Machines Corporation Bias source identification and de-biasing of a dataset
US11895264B2 (en) 2020-07-02 2024-02-06 Pindrop Security, Inc. Fraud importance system
US11144862B1 (en) 2020-09-02 2021-10-12 Bank Of America Corporation Application mapping and alerting based on data dependencies
CN112115859A (en) 2020-09-18 2020-12-22 深圳市迈航信息技术有限公司 Management method, device and system of smart library and readable storage medium
CN112214545A (en) 2020-09-21 2021-01-12 支付宝(杭州)信息技术有限公司 Service processing method and device based on block chain

Also Published As

Publication number Publication date
US20220129581A1 (en) 2022-04-28
US20210279363A1 (en) 2021-09-09
US11222139B2 (en) 2022-01-11
US11449633B2 (en) 2022-09-20

Similar Documents

Publication Publication Date Title
US11449633B2 (en) Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US11558429B2 (en) Data processing and scanning systems for generating and populating a data inventory
US11138336B2 (en) Data processing systems for generating and populating a data inventory
US10949170B2 (en) Data processing systems for integration of consumer feedback with data subject access requests and related methods
US11921894B2 (en) Data processing systems for generating and populating a data inventory for processing data access requests
US11144670B2 (en) Data processing systems for identifying and modifying processes that are subject to data subject access requests
US10564935B2 (en) Data processing systems for integration of consumer feedback with data subject access requests and related methods
US10346637B2 (en) Data processing systems for the identification and deletion of personal data in computer systems
US10282370B1 (en) Data processing systems for generating and populating a data inventory
US10346638B2 (en) Data processing systems for identifying and modifying processes that are subject to data subject access requests
US10181051B2 (en) Data processing systems for generating and populating a data inventory for processing data access requests
US20190096020A1 (en) Consent receipt management systems and related methods
US20180349640A1 (en) Data processing systems for generating and populating a data inventory
US10776514B2 (en) Data processing systems for the identification and deletion of personal data in computer systems
US20220269819A1 (en) Application privacy scanning systems and related methods
US10970675B2 (en) Data processing systems for generating and populating a data inventory
US20200026879A1 (en) Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US11222309B2 (en) Data processing systems for generating and populating a data inventory
US11544667B2 (en) Data processing systems for generating and populating a data inventory
WO2021237075A1 (en) Data processing systems and methods for automatic discovery and assessment of mobile software development kits

Legal Events

Date Code Title Description
AS Assignment

Owner name: ONETRUST, LLC, GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JONES, KEVIN;DOSHI, PRATIK;BRANNON, JONATHAN BLAKE;AND OTHERS;SIGNING DATES FROM 20201029 TO 20201109;REEL/FRAME:061141/0809

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION