Systems and methods for sensitive data modeling

Systems, methods, and non-transitory computer-readable media can generate individual feature data for each user of a plurality of users. A first cohort comprising a first plurality of users is generated, wherein the first plurality of users are selected from the plurality of users based on the individual feature data. A first set of cohort feature data associated with the first cohort is generated based on individual feature data for the first plurality of users. The first set of cohort feature data and a first set of cohort membership information are transmitted to a modeler. The first set of cohort membership information identifies each user of the plurality of users.

FIELD OF THE INVENTION

The present technology relates to the field of digital data modeling. More particularly, the present technology relates to techniques for computerized modeling of sensitive digital data.

BACKGROUND

Today, people often utilize computing devices (or systems) for a wide variety of purposes. Users can use their computing devices to, for example, interact with one another, access content, share content, and create content. In some cases, content items can include postings from members of a social networking system. The postings may include text and media content items, such as images, videos, and audio. In certain instances, postings can also include advertisements for products or services. The postings may be published to the social networking system for consumption by others.

SUMMARY

Various embodiments of the present technology can include systems, methods, and non-transitory computer readable media configured to generate individual feature data for each user of a plurality of users. A first cohort comprising a first plurality of users is generated, wherein the first plurality of users are selected from the plurality of users based on the individual feature data. A first set of cohort feature data associated with the first cohort is generated based on individual feature data for the first plurality of users. The first set of cohort feature data and a first set of cohort membership information are transmitted to a modeler. The first set of cohort membership information identifies each user of the plurality of users.

In an embodiment, the first set of cohort feature data is one of a plurality of sets of cohort feature data transmitted to the modeler.

In an embodiment, the plurality of sets of cohort feature data are transmitted to the modeler by a plurality of sensitive data controllers.

In an embodiment, each set of cohort feature data of the plurality of sets of cohort feature data is associated with a respective cohort of a plurality of cohorts, and each sensitive data controller generates one or more cohorts of the plurality of cohorts independently of the other sensitive data controllers.

In an embodiment, each sensitive data controller of the plurality of sensitive data controllers has access to a unique set of sensitive data pertaining to one or more users.

In an embodiment, the first plurality of users are selected from the plurality of users such that the first cohort is diverse with respect to at least one feature represented in the individual feature data.

In an embodiment, the first set of cohort feature data allows the modeler to make probabilistic determinations about each user of the first plurality of users.

In an embodiment, the individual feature data pertains to one or more advertisements.

In an embodiment, the individual feature data for each user indicates whether the user was presented with a particular advertisement.

In an embodiment, the individual feature data pertains to one or more products or services associated with the one or more advertisements.

DETAILED DESCRIPTION

Approaches for Modeling Using Sensitive Data

People often utilize computing devices (or systems) for a wide variety of purposes. Users can use their computing devices to, for example, interact with one another, access content, share content, and create content. In some cases, content items can include postings from members of a social networking system. The postings may include text and media content items, such as images, videos, and audio. In certain instances, postings can also include advertisements for products or services. The postings may be published to the social networking system for consumption by others.

Content generators may post content on content publishing platforms, such as a social networking system. In certain instances, content generators may expend considerable time and resources to publish content on a content publishing platform. For example, an advertiser may expend time and resources to create an advertisement, and then may pay a fee for a social networking system to share the advertisement to users of the social networking system. Given the time and resources expended to create and disseminate these advertisements, an advertiser may have some interest in being able to determine whether the advertisements yielded any beneficial results. For example, a manufacturer of a product that publishes advertisements of the product on a social networking system may have an interest in being able to determine whether the advertisements resulted in increased sales of the product. Similarly, a content publishing platform, such as a social networking system, may have an interest in demonstrating to content generators (e.g., advertisers) that publishing content on the content publishing platform has a positive effect for the content generators (e.g., increased sales).

However, under conventional approaches, demonstrating the effects of advertisements or published content may be difficult due to various user data privacy considerations. Consider an example scenario in which Brand A publishes an advertisement for Product A on a social networking system. The social networking system may present the advertisement for Product A to a user, User A. In an ideal scenario for Brand A, User A is presented with the advertisement for Product A and, in response to viewing the advertisement, visits a third-party online retailer to purchase Product A. It would be beneficial for Brand A to know whether its advertisement on the social networking system resulted in a sale, and the social networking system would also benefit from Brand A knowing that advertising on the social networking system yielded positive results. However, in order to protect User A's privacy interests, the social networking system may not be inclined to share with Brand A or the third-party online retailer that User A specifically was presented with the advertisement for Product A. Similarly, the third-party online retailer may be aware that User A purchased Product A but, in order to protect User A's privacy interests, may not be inclined to share with Brand A or the social networking system that User A purchased Product A. Sensitive data controllers that maintain sensitive data about individuals, such as the social networking system and the third-party online retailer in the example above, have an interest in protecting the individual privacy of users utilizing their services.

Certain conventional approaches have attempted to address this problem by utilizing a third-party modeler to act as neutral, uninterested party that can receive sensitive data about individuals from various sensitive data controllers so that the third-party modeler can model and determine the effects of advertisements on purchasing decisions. For instance, in the example above, Brand A may report to the modeler the amount of money it spent presenting the advertisement for Product A at various publishing platforms (including the social networking system), the social networking system may report to the modeler the specific individuals that were presented with the advertisement for Product A (including User A), and the third-party retailer may report to the modeler all individuals that purchased Product A (including User A). In this way, none of the interested parties (e.g., Brand A, the social networking system, and the third-party retailer) has a full picture of User A's advertising or purchasing history, but the modeler has sufficient information to be able to draw conclusions that are useful for Brand A. However, such approaches still require that sensitive data controllers, such as the social networking system and the online retailer, share sensitive individual user information with the modeler. As such, under conventional approaches, it is a challenge to measure the effects of advertisements or other published content while also protecting user data privacy interests. Conventional approaches may not be effective in addressing these and other problems arising in computer technology.

An improved approach rooted in computer technology overcomes the foregoing and other disadvantages associated with conventional approaches specifically arising in the realm of computer technology. In general, rather than having sensitive data controllers provide a modeler with sensitive data about specific individuals, the presently disclosed technology contemplates having sensitive data controllers provide modelers with aggregated feature data about groups (or cohorts) of individuals. The aggregated feature data (referred to herein as cohort feature data) describes features about a group of individuals, but does not describe any specific individual. In this way, the data provided to a modeler maintains individual privacy, while still providing data that is useful to a modeler for, for example, modeling advertisement attribution. For example, assume a sensitive data controller knows that Users A, B, and C saw Advertisement A. Using the presently disclosed technology, the sensitive data controller can group Users A, B, and C into a cohort with other users, Users D and E, who were not presented with Advertisement A. The sensitive data controller can generate cohort feature data about the cohort (e.g., group) of individuals. For example, the cohort feature data may indicate that 60% of users in the cohort saw Advertisement A. The cohort feature data can be provided to a modeler along with cohort membership information indicating the individual users that are in the cohort (e.g., indicating that Users A, B, C, D, and E are in the cohort). In this way, the specific advertisement viewing histories of Users A, B, C, D, and E are not disclosed to the modeler, but the modeler is provided with useful information about a plurality of individuals that the modeler can use to make probabilistic determinations about those individuals.

The modeler can aggregate cohort feature data received from various sensitive data controllers to create a final modeling feature set. The final modeling feature set can be used to model a desired behavior, draw conclusions, and/or create reports. Utilizing the presently disclosed technology, the modeler is never provided with access to any single user's sensitive data. Rather, data is provided for groups (or cohorts) of users so that the modeler can still draw probabilistic conclusions about individual users without specifically knowing sensitive data about any individual user. In certain embodiments, sensitive data controllers can generate individual feature data independently of one another (e.g., without collaboration with any other sensitive data controllers). Furthermore, sensitive data controllers can also generate groupings of individuals (or cohorts) independently of one another and also in isolation from any other party (e.g., a modeler). Many variations are possible. More details relating to the disclosed technology are provided below.

FIG. 1illustrates an example sensitive data modeling system102, according to an embodiment of the present technology. As shown in the example ofFIG. 1, the sensitive data modeling system102can include a sensitive data controller module104and a modeler module106. In some instances, the example sensitive data controller module104can communicate with at least one data store110. The components (e.g., modules, elements, etc.) shown in this figure and all figures herein are exemplary only, and other implementations may include additional, fewer, integrated, or different components. Some components may not be shown so as not to obscure relevant details. In various embodiments, one or more of the functionalities described in connection with the sensitive data modeling system102can be implemented in any suitable combinations.

In some embodiments, the sensitive data modeling system102, the sensitive data controller module104, and/or the modeler module106can be implemented, in part or in whole, as software, hardware, or any combination thereof. In general, a module as discussed herein can be associated with software, hardware, or any combination thereof. In some implementations, one or more functions, tasks, and/or operations of modules can be carried out or performed by software routines, software processes, hardware, and/or any combination thereof. In some cases, the sensitive data modeling system102, the sensitive data controller module104, and/or the modeler module106can be, in part or in whole, implemented as software running on one or more computing devices or systems, such as on a server system or a client computing device. In some instances, the sensitive data modeling system102, the sensitive data controller module104, and/or the modeler module106can be, in part or in whole, implemented within or configured to operate in conjunction with or be integrated with a social networking system (or service), such as a social networking system630ofFIG. 6. Likewise, in some instances, the sensitive data modeling system102, the sensitive data controller module104, and/or the modeler module106can be, in part or in whole, implemented within or configured to operate in conjunction with or be integrated with a client computing device, such as the user device610ofFIG. 6. For example, the sensitive data modeling system102, the sensitive data controller module104, and/or the modeler module106can be implemented as or within a dedicated application (e.g., app), a program, or an applet running on a user computing device or client computing system. The application incorporating or implementing instructions for performing functionality of the sensitive data modeling system102, the sensitive data controller module104, and/or the modeler module106can be created by a developer. The application can be provided to or maintained in a repository. In some cases, the application can be uploaded or otherwise transmitted over a network (e.g., Internet) to the repository. For example, a computing system (e.g., server) associated with or under control of the developer of the application can provide or transmit the application to the repository. The repository can include, for example, an “app” store in which the application can be maintained for access or download by a user. In response to a command by the user to download the application, the application can be provided or otherwise transmitted over a network from the repository to a computing device associated with the user. For example, a computing system (e.g., server) associated with or under control of an administrator of the repository can cause or permit the application to be transmitted to the computing device of the user so that the user can install and run the application. The developer of the application and the administrator of the repository can be different entities in some cases, but can be the same entity in other cases. It should be understood that many variations are possible.

In various embodiments, the sensitive data controller module104can be configured to communicate and/or operate with the at least one data store110. The data store110can be configured to store and maintain various types of data. In some implementations, the data store110can store information associated with the social networking system (e.g., the social networking system630ofFIG. 6). The information associated with the social networking system can include data about users, user identifiers, social connections, social interactions, profile information, demographic information, locations, geo-fenced areas, maps, places, events, pages, groups, posts, communications, content, feeds, account settings, privacy settings, a social graph, and various other types of data. In some implementations, the data store110can store information to be utilized by the sensitive data controller module104, such as sensitive user data, individual feature data, cohort feature data, and the like. Although not shown inFIG. 1, in certain embodiments, the modeler module106also can be associated with and communicate with a separate, dedicated datastore administered by a modeler.

The sensitive data controller module104can be configured to generate individual feature data for each individual of a plurality of individuals. The individual feature data may relate to any set of features that a modeler would like to model and draw conclusions on, as will be described in greater detail below. The sensitive data controller module104can also be configured to group individuals into one or more cohorts based on individual feature data, and generate cohort feature data for each cohort of the one or more cohorts. The sensitive data controller module104can provide cohort feature data for a cohort as well as cohort membership information to a modeler so that the modeler can run models and generate conclusions and/or reports based on the cohort feature data. More details regarding the sensitive data controller module104will be provided below with reference toFIG. 2.

The modeler module106can be configured to receive cohort feature data about a plurality of cohorts from a plurality of sensitive data controllers. The modeler module106can aggregate the information in the various sets of cohort feature data to generate a final modeling feature set. The modeler module106can utilize the final modeling feature set to model a desired behavior, draw conclusions, and/or create reports. More details regarding the modeler module106will be provided below with reference toFIG. 3.

FIG. 2illustrates an example sensitive data controller module202according to an embodiment of the present technology. In some embodiments, the sensitive data controller module104ofFIG. 1can be implemented as the sensitive data controller module202. As shown in the example ofFIG. 2, the sensitive data controller module202can include a feature creation module204and a cohort determination module206.

The feature creation module204can be configured to generate individual feature data pertaining to individuals based on data (e.g., sensitive user data) available to a sensitive data controller. The individual feature data may relate to any set of features that a modeler would like to model and draw conclusions on. For example, consider an example scenario in which Brand A would like to determine the efficacy of a particular advertisement advertising Product A. A sensitive data controller, such as a social networking system, may have access to certain information about the advertisement as it pertains to individual users. For example, the social networking system may have information indicating, for each individual user, whether or not the user was presented with the advertisement, how many times the user was presented with the advertisement, and the dates and times when the user was presented with the advertisement, to name some examples. The social networking system can generate individual feature data for each individual that is indicative of this information. Another sensitive data controller, such as an online retailer, may have access to other information about the advertisement as it pertains to individual users. This may be information that is not available to other parties, such as the social networking system. For example, the online retailer may have information indicating which users purchased Product A and when the users purchased Product A, to name some examples. As such, the online retailer can generate individual feature data for each individual that is indicative of this information. Each sensitive data controller may have access to a unique set of sensitive data that is not available to any other sensitive data controller. Although the example of a social networking system will be used in various examples discussed herein, it should be understood that the present technology can be applied to any addressable advertising.

It can be appreciated that the relevant individual feature data to be generated for each individual may differ in different instances depending on what the modeler has been tasked with analyzing. For example, if Brand A, rather than studying the efficacy of a particular advertisement, wanted to study the efficacy of video advertisements versus still-image advertisements, the relevant individual feature data may include which users were presented with video advertisements, which users were presented with image advertisements, which users were presented with neither, and which users were presented with both. Other examples of analyses that may be performed by a modeler can include which advertisements are most effective for different groups of people or different demographics, which advertisements are most effective in different geographic markets, what types of ads are more effective than other types of ads, and the like. Many variations are possible.

In certain embodiments, sensitive data controllers may generate individual feature data independently of one another. For example, a modeler may indicate to each sensitive data controller of a set of sensitive data controllers what the modeler would like to analyze and draw conclusions on. Each sensitive data controller may generate feature data that relates to the study being conducted by the modeler. For example, in an example scenario in which Brand A is looking to study whether color advertisements are more or less effective than black and white advertisements for a set of products, a first sensitive data controller (e.g., a social networking system) may generate individual feature data indicating which users were presented with color advertisements for the set of products, which users were presented with black and white advertisements for the set of products, which users were presented with neither, and which users were presented with both. A second sensitive data controller (e.g., a search engine), may independently generate similar individual feature data based on the information available to the second sensitive data controller (e.g., individual feature data indicative of which users were presented with color advertisements for the set of products, which users were presented with black and white advertisements for the set of products, which users were presented with neither, and which users were presented with both), while a third sensitive data controller (e.g., an online retailer), may independently generate a completely different, but still related, set of individual feature data, such as individual feature data indicating which individuals purchased products from the set of products, which products they purchased, and when.

The cohort determination module206can be configured to generate groupings of individuals, i.e., cohorts, based on individual feature data. The cohort determination module206can also be configured to generate, for each cohort, cohort feature data based on individual feature data for each individual included in the cohort. Cohort feature data for a cohort may be determined based on an aggregation or combination of individual feature data for individuals included in the cohort. As described above, rather than providing a modeler with individual feature data pertaining to individuals, the presently disclosed technology contemplates that a sensitive data controller can provide a modeler with cohort feature data pertaining to a group of individuals. By providing a modeler with cohort feature data for a group of individuals, sensitive information for individuals can be protected while still providing the modeler with useful information. The cohort determination module206can be configured to generate cohorts in such a way that sensitive user information is protected. This may comprise generating cohorts that are diverse with respect to one or more features represented in individual feature data. For example, consider an example scenario in which a sensitive data controller has generated individual feature data indicating which users have seen a particular advertisement. A feature that is represented by the individual feature data is whether or not a user has seen the particular advertisement. In this scenario, it is not effective from a user privacy standpoint to generate a cohort in which 100% of users in the cohort have seen the advertisement, or in which none of the users have seen the advertisement, because cohort feature data associated with such a cohort would divulge sensitive information of an individual in the cohort. To protect sensitive information of an individual, the cohort determination module206can be configured to generate cohorts that have a selected (configurable) level of user privacy protection (or diversity) with respect to this feature by generating cohorts in which greater than 0% but less than 100% of individuals have seen the advertisement. The selected level of user privacy protection can be determined and varied by a sensitive data controller. In this regard, each sensitive data controller can generate cohorts in accordance with its own practices and policies for user privacy protection. For example, a first sensitive data controller may determine that its cohorts will be generated such that they do not allow for greater than 70% certainty about any individual feature for any individual, while another sensitive data controller may determine that its cohorts will be generated such that they do not allow for greater than 90% certainty about any individual feature for any individual.

The cohort determination module206can provide cohort feature data to a modeler. The cohort determination module206can also provide the modeler with cohort membership information identifying the individual users included in a cohort. As will be described in greater detail below, a modeler can receive, from a plurality of sensitive data controllers, cohort feature data and cohort membership information for a plurality of cohorts. The modeler can utilize the cohort feature data and cohort membership information to generate a model and draw various conclusions. In certain embodiments, different sensitive data controllers may generate cohorts independently of one another. As such, the membership of different cohorts can differ. As will be described in greater detail herein, a modeler can receive cohort feature data pertaining to different groupings of individuals, and can draw conclusions, for example, based on overlapping membership in various cohorts.

FIG. 3illustrates an example modeler module302according to an embodiment of the present technology. In some embodiments, the modeler module106ofFIG. 1can be implemented as the modeler module302. As shown in the example ofFIG. 3, the modeler module302can include a feature reconciliation module304and a modeling module306.

The feature reconciliation module304can be configured to receive cohort feature data for a plurality of cohorts from a plurality of sensitive data controllers, and generate a final modeling feature set based on the cohort feature data for the plurality of cohorts. In an embodiment, the feature reconciliation module304can generate probabilistic determinations about individual users based on a plurality of sets of cohort feature data associated with a plurality of cohorts and received from a plurality of sensitive data controllers. These probabilistic determinations about individuals can be included in the final modeling feature set. For example, consider an example scenario in which a first sensitive data controller, a social networking system, has provided a cohort of 10 users, Users A-J, and has also provided cohort feature data indicating that 70% of the users in the cohort viewed an advertisement for Product A. Furthermore, a second sensitive data controller, an online retailer, has provided a cohort of 5 users, Users H, I, J, K, and L, and cohort feature data indicating that 40% of the users in this cohort viewed an advertisement for Product B on the online retailer's website The feature reconciliation module304can utilize the cohort feature data from the two sensitive data controllers to update individual profiles for each of the individuals in the two cohorts with probabilistic determinations about those individuals. For example, the feature reconciliation module304may update the individual profiles of Users A-G to indicate that there is a 70% likelihood that these individuals viewed an advertisement for Product A on the social networking system, update the individual profiles of Users K and L to indicate that there is a 40% likelihood that these individuals viewed an advertisement for Product A on the online retailer's website, and update the individual profiles Users H, I, and J to indicate that there is a 70% likelihood that these individuals viewed an advertisement for Product A on the social networking system and a 40% likelihood that each of these users viewed an advertisement for Product A on the online retailer's website.

In certain embodiments, different sensitive data controllers may use different identifiers for users. For example, a particular user may be “user123” on a social networking system, “accountXYZ” on an online retailer, and “user89uasdfu8” on a search engine. The feature reconciliation module304can be configured to utilize sync mappings to match user information from different sensitive data controllers. These sync mappings may be generated based on, for example, personally identifiable information (PII) (e.g., email address, phone number), cookie syncing, and/or device identifiers (e.g., phone IDs).

The modeling module306can be configured to generate a model and draw conclusions based on the final modeling feature set generated by the feature reconciliation module304. In an embodiment, the modeling module306can utilize statistical analysis or other modeling techniques to draw conclusions, generate metrics, and/or generate reports pertaining to advertising purchases by an advertiser. The advertiser can be provided with the results of the analysis to inform future advertisement decisions. For example, if an advertiser spent $30M purchasing advertisements from three different platforms, the three different advertising platforms as sensitive data controllers can generate individual feature data pertaining to those advertisements, generate cohorts, and provide cohort feature data pertaining to those advertisements to the modeler (e.g., an entity that implements the modeler module302). The feature reconciliation module304can aggregate the information contained in the cohort feature data received from the different sensitive data controllers, and the modeling module306can generate one or more models to determine the efficacy of those advertisements across the three advertising platforms. For example, the modeling module306may conclude that the advertiser spent $30M buying advertisements across the three advertising platforms, and increased sales by $40M as a result of the advertisements. Or, the modeling module306may conclude that the advertisements were more successful on a first advertising platform than a second advertising platform, such that the advertisement should be shown more on the first platform and less on the second platform. It should be understood that many of the examples provided herein are simplified examples to demonstrate how cohort feature data about a group of individuals can be used to make probabilistic determinations about individuals in a cohort and to draw conclusions about, for example, advertising attribution. Modelers may employ models of varying levels of sophistication and complexity utilizing the presently disclosed technology.

FIG. 4illustrates an example functional block diagram400that illustrates functionality of the sensitive data modeling system102, and communications between various parties, according to an embodiment of the present technology. In the example functional block diagram400, two sensitive data controllers460and470are providing information to a modeler450. Each sensitive data controller460,470has access to its own set of sensitive data462,472, respectively. The modeler450has access to a set of non-sensitive data452. This can include data that does not reveal private information about any individual, such as stock prices, weather in different geographic areas, and the like. The modeler450also has access to a set of sensitive data454that may be available to the modeler450, but may not be available to the sensitive data controllers460,470. This may be information, for example, that the modeler450has obtained from other sensitive data controllers. The modeler450also has access to a set of sync mappings456that allow the modeler450to match user identifiers from different sensitive data controllers so that the modeler450can determine when different sensitive data controllers are referencing the same individual. At block402, the modeler450combines information from these information sources using an “ETL” (extract, transform, load) process to generate a set of individual profiles458for a plurality of users.

At blocks404and408, each sensitive data controller460,470, respectively, independently generates individual feature data for individual users (e.g., using feature creation module204). It can be seen that there are arrows from the individual data profiles458to the feature creation blocks404,408. In certain embodiments, individual feature data creation may be informed, at least in part, based on parameters defined by the modeler450. For example, the modeler450may have access to information indicating that a particular user purchased Product A on a particular date, and this information may be reflected in an individual profile for the user. In this example, the modeler450, seeking to determine whether an advertisement was at least partially responsible for the purchase, may specify to the sensitive data controllers460,470that all advertisement information for the particular user taking place after the particular date should not be included in the individual feature data for that user since those advertisements would not have affected the user's purchase decision. Although various examples disclosed herein make reference to tracking purchase information, and attributions for purchases, it should be understood that the present technology is not so limited. The present technology can be applied to all outcomes that an advertiser may wish to track, including, for example, lead generation and/or website visits. Many variations are possible.

At blocks406and410, each sensitive data controller460,470independently generates cohorts and cohort feature data based on individual feature data (e.g., using cohort determination module206). Each sensitive data controller460,470provides cohort feature data and cohort membership information to the modeler450. As discussed, the cohort feature data can be associated with or reflect a selected level of user privacy protection as determined in accordance with the practices and policies regarding user privacy protection of each sensitive data controller460,470. At block412, the modeler450reconciles (e.g., aggregates or combines) the information contained in the cohort feature data, the cohort membership information, and the individual profile data458to generate a final modeling feature set based on probabilistic determinations. At block414, the modeler450creates one or more models based on the final modeling feature set, and at block416, the modeler450generates, for example, one or more reports which report on conclusions from the one or more models. The one or more reports may be provided, for example, to an advertiser, to inform future advertising decisions.

FIG. 5illustrates an example method500, according to an embodiment of the present technology. It should be appreciated that there can be additional, fewer, or alternative steps performed in similar or alternative orders, or in parallel, within the scope of the various embodiments discussed herein unless otherwise stated.

At block502, the example method500can generate individual feature data for each user of a plurality of users. At block504, the example method500can generate a first cohort comprising a first plurality of users, wherein the first plurality of users are selected from the plurality of users based on the individual feature data. At block506, the example method500can generate a first set of a cohort feature data associated with the first cohort based on individual feature data for the plurality of users. At block508, the example method500can transmit the first set of cohort feature data and a first set of cohort membership information to a modeler, wherein the first set of cohort membership information identifies each user of the first plurality of users.

It is contemplated that there can be many other uses, applications, and/or variations associated with the various embodiments of the present technology. For example, in some cases, users can choose whether or not to opt-in to utilize the disclosed technology. The disclosed technology can also ensure that various privacy settings and preferences are maintained and can prevent private information from being divulged. In another example, various embodiments of the present technology can learn, improve, and/or be refined over time.

Social Networking System—Example Implementation

The user device610comprises one or more computing devices that can receive input from a user and transmit and receive data via the network650. In one embodiment, the user device610is a conventional computer system executing, for example, a Microsoft Windows compatible operating system (OS), Apple OS X, and/or a Linux distribution. In another embodiment, the user device610can be a device having computer functionality, such as a smart-phone, a tablet, a personal digital assistant (PDA), a mobile telephone, etc. The user device610is configured to communicate via the network650. The user device610can execute an application, for example, a browser application that allows a user of the user device610to interact with the social networking system630. In another embodiment, the user device610interacts with the social networking system630through an application programming interface (API) provided by the native operating system of the user device610, such as iOS and ANDROID. The user device610is configured to communicate with the external system620and the social networking system630via the network650, which may comprise any combination of local area and/or wide area networks, using wired and/or wireless communication systems.

The external system620includes one or more web servers that include one or more web pages622a,622b, which are communicated to the user device610using the network650. The external system620is separate from the social networking system630. For example, the external system620is associated with a first domain, while the social networking system630is associated with a separate social networking domain. Web pages622a,622b, included in the external system620, comprise markup language documents614identifying content and including instructions specifying formatting or presentation of the identified content.

In some embodiments, the social networking system630can include a sensitive data controller module646. The sensitive data controller module646can, for example, be implemented as the sensitive data controller module104, as discussed in more detail herein. In some embodiments, one or more functionalities of the sensitive data controller module646can be implemented in the user device610. In some embodiments, the external system620can include a modeler module624. The modeler module624can, for example, by implemented as the modeler module106, as discussed in more detail herein. Although the modeler module624is shown as part of the same external system620as one or more web pages622a,622b, it should be understood that the modeler module624may be associated with a first external system, and the web pages622a,622bmay be associated with a second external system. As discussed previously, it should be appreciated that there can be many variations or other possibilities.

Hardware Implementation