Patent Description:
Many software applications provide users with the ability to create and recall documents and digital notes. These software applications include related utilities that offer user-interface techniques to insert and store various user information. The user information may in some scenarios include user sensitive information, such as passwords and credit card numbers. When accessing the user information stored in the previously created documents and digital notes, the user may not want this sensitive information to be visibly or audibly presented to the user along with the rest of the information, especially when the user is not in a secure environment. Additionally, a user sharing their documents or digital note pad with other users or among other devices may not want to share the user sensitive information with other users or on unsecured devices and networks.

To display the user information in an unsecure environment, a user may generally be required to manually parse the documents or digital note pad to identify the user sensitive data and delete or obfuscate the characters of the user sensitive information. Even if the user sensitive data is identified, the user may not be able to dynamically allocate which environments are secure enough to present the user sensitive information to the user. Furthermore, there may be certain users and devices that may be authorized to view or overhear user sensitive information, while other users and devices may not. Unfortunately, the software applications used for presenting user content in a document or digital note do not allow a user to dynamically allocate which environments the sensitive information may be included in text when presenting the contents of the document or digital note to a user.

<CIT> provides techniques for concealing sensitive data displayed within a viewport of a display of a client computing device, such as sensitive data relating to auto, home, life, or renters insurance, banking, and/or vehicle loans.

<CIT> provides techniques for private data access controls in mobile applications.

<CIT> describes a method for dynamic content redaction using a redaction schema. When a document is opened for display on a device, the redaction schema can be parsed to identify whether objects should be hidden.

An enhanced system, method, and software application is disclosed herein that improves the concealment of sensitive information included in text. In an implementation, an object is identified comprising text that includes sensitive information. A contextual privacy setting for the sensitive information and a context surrounding a presentation of the object is then identified. Based on the contextual privacy setting and the context surrounding the presentation of the object, a level of concealment for the sensitive information in the text is determined. The object comprising the text is then presented. The sensitive information included in the text is revealed in accordance with the level of concealment.

Additional aspects, features, and/or advantages of examples will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the disclosure.

The invention relates to a computing apparatus and a method as set forth in the claims.

While several implementations are described in connection with these drawings, the disclosure is not limited to the implementations disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.

Examples of the present disclosure describe an application for concealing sensitive information included in text. In an implementation, an object is identified comprising text that includes sensitive information. A contextual privacy setting for the sensitive information and a context surrounding a presentation of the object are then identified. Based on the contextual privacy setting and the context surrounding the presentation of the object, a level of concealment for the sensitive information in the text is determined. The object comprising the text is then presented. The sensitive information included in the text is revealed in accordance with the level of concealment.

A technical effect that may be appreciated from the present discussion is the increased efficiency in determining which information in an object is sensitive based on the type of environment the information is accessed in. For example, a user may not want some portions of text to be presented in an unsecure environment (e.g., audibly reciting the sensitive information, accessing the sensitive information over a public network or unsecure device, sharing text that includes the sensitive information with other users, etc.). Another technical effect that may be appreciated from the present discussion is the increased inefficiency in allowing a user to dynamically designate which types of information should be allocated as sensitive based on several factors making up the environment (e.g., user type, user identity, access network, presentation mode, synchronizing devices, etc.) The application described herein also improves the efficiency in allowing a third-party administrator to generate privacy settings for sensitive information which may be of interest to the third party (e.g., corporate security settings on what type of content may be accessed in an unsecure environment or shared with unauthorized users).

Further, examples herein described that prior to identifying the object comprising the text, user input is received comprising the text. The text is then identified for the sensitive information. Further in this example, the contextual privacy setting is configured for the sensitive information. The contextual privacy setting is then stored in association with the object comprising the text that includes sensitive information. In some scenarios, the text is examined for the sensitive information by identifying at least one of a keyword, a symbol, a user indication, or a formatting style associated with the sensitive information. In other scenarios, the text is examined for the sensitive information by tracking indicators associated with the sensitive information in a cloud-based data repository to be ingested by a machine learning system to identify the sensitive information.

In some scenarios, the context surrounding the presentation of the object may be identified based a request to share the object with at least one additional user or device. For example, the object may be accessed by displaying text from the object in a presentation mode or using a desktop screen sharing application. In other scenarios, the context surrounding the presentation of the object may be identified based on a request to audibly present the object to the user. For example, a digital sticky note comprising text may be requested to be read aloud by a user. In this example, the sensitive information may be determined to be omitted based on the determination that the digital sticky note is being presented in an unsecure environment.

In some implementations, the context surrounding the presentation of the object may be identified based on a request to access the object over an unsecure network. For example, an email being accessed using a public network at a coffee shop may be determined to be an unsecure environment to display confidential information in the message. In other implementations, the context surrounding the presentation of the object may be identified based on a request to access the object using at least one of a user configured fingerprint or facial recognition. For example, it may be determined that a digital note pad is being accessed in a secure environment when a user unlocks the device presenting the sensitive information using facial recognition technology.

In yet a further example, the sensitive information included in the text is revealed in accordance with the level of concealment by blurring the sensitive information, obfuscating the sensitive information, flipping over of a digital content card including the sensitive information, omitting the sensitive information. For example, if the level of concealment is high, the sensitive information may be hidden from view to the user by flipping over a digital content card on the user's home screen on a user device. If the level of concealment is low, such as when the user opens the object comprising the text with an authorized fingerprint, the sensitive information included in the text may be completely revealed to the user. In the other hand, the level of concealment may be determined to be medium. In this example, the sensitive information included in the text may be revealed to a specified degree, such as by distorting the sensitive information using blurring techniques, an alias, rearranged characters, obfuscation of the sensitive information, etc..

Referring to the drawings, <FIG> illustrates an exemplary operational architecture <NUM> related to processing operations for management of an exemplary enhanced system with which aspects of the present disclosure may be practiced. Operational environment <NUM> includes computing system <NUM> comprising application <NUM>. Application <NUM> employs a secure presentation process <NUM> in the context of producing views in a user interface <NUM>. User interface <NUM> displays objects comprising text that includes sensitive information produced by computing system <NUM>.

Computing system <NUM> is representative of any device capable of running an application natively or in the context of a web browser, streaming an application, or executing an application in any other manner. Examples of computing system <NUM> include, but are not limited to, personal computers, mobile phones, tablet computers, desktop computers, laptop computers, wearable computing devices, or any other form factor, including any combination of computers or variations thereof. Computing system <NUM> may include various hardware and software elements in a supporting architecture suitable for performing secure presentation process <NUM>. One such representative architecture is illustrated in <FIG> with respect to computing system <NUM>.

Application <NUM> includes a software application or application component capable of revealing sensitive information included in text based on a level of concealment in accordance with the processes described herein. Examples of the software application include, but are not limited to, note taking applications, document drafting applications, spreadsheet applications, presentation applications, messaging applications (e.g., email and text messaging), and any other type of combination or variation thereof. The software application may be implemented as a natively installed and executed application, a web application hosted in the context of a browser, a streamed or streaming application, a mobile application, or any variation or combination thereof.

User interface <NUM> includes representative view <NUM> that may be produced by application <NUM>. Representative view <NUM> may present the object comprising the text. The sensitive information included in the text is revealed in accordance with the level of concealment. An end user may interface with application <NUM> using user interface <NUM> to view object comprising text including the sensitive information visual representation <NUM>. The user may interface with application <NUM> over user interface <NUM> using an input instrument such as a stylus, mouse device, keyboard, touch gesture, as well as any other suitable input device. The user may initiate a command to add user input comprising the text which may be stored with a contextual privacy setting in association with the object that includes the sensitive information. The user may then initiate a command to access or view the stored object comprising the text which includes the sensitive information. In an enhancement, application <NUM> provides the ability for the user to initiate a command to allocate a portion of the text in the object as sensitive information. The user or a third-party (e.g., corporate administrator) may also initiate a command to allocate which types of environments are secure for each portion of text that includes the sensitive information.

More particularly, <FIG> illustrate secure presentation process <NUM> which, as mentioned, may be employed by application <NUM> to reveal sensitive information included in text in accordance with a concealment level as described herein. Some or all of the steps of secure presentation process <NUM> may be implemented in program instructions in the context of a component or components to the application used to carry out the secure presentation feature. The program instructions direct computing system <NUM> to operate as follows, referring parenthetically to the steps in <FIG> in the context of <FIG>.

<FIG> may be associated with representative view <NUM> at Time <NUM> in <FIG>. In operation, application <NUM> receives user input comprising text <NUM> included in object <NUM> (step <NUM>). Application <NUM> may receive user input comprising text <NUM> using an input instrument such as a stylus, mouse device, keyboard, touch gesture, as well as any other suitable input device. Object <NUM> may be a digital note page, a digital sticky note, a document, a spreadsheet, a presentation slide deck, an electronic message (i.e. text message or email message), or any other file item or formatted data which allows a user to input text <NUM>. For example, a user may input text onto a virtual note. In this scenario, the virtual note may comprise object <NUM> and the text comprises text <NUM>. Text <NUM> may comprise a variety of information which range in levels of sensitivity. For example, text <NUM> includes a title of virtual note <NUM> (i.e., Money Management), a webpage to visit which is related to the topic of virtual note <NUM>, and a username and password to access a user portal on the webpage. In this example, the title and the webpage may not be allocated as sensitive information while the username and password are allocated as sensitive information.

Application <NUM> then examines text <NUM> for sensitive information <NUM> (step <NUM>). Application <NUM> may examine text <NUM> for sensitive information <NUM> by identifying that a portion of text <NUM> contains a keyword or a symbol which indicate that the portion of text <NUM> comprises sensitive information <NUM>. For example, application <NUM> may identify the words "username" and "password" to determine that the portion of text <NUM> following each of the keywords comprises sensitive information <NUM>. In other scenarios, application <NUM> may examine text <NUM> for sensitive information <NUM> by identifying that a portion of text <NUM> contains a pattern or a formatting style indicating that the portion of text comprises sensitive information. For example, application <NUM> may determine that when numbers are in a pattern resembling the format of a social security number (e.g., <NUM>-<NUM>-<NUM>), the number is likely a social security number. In another example, application <NUM> may determine that a portion of text <NUM> containing a combination of letters, numbers, and symbols (e.g., Lky9x#), indicates that the portion of text <NUM> is likely a password. In some implementations, a user may input additional data which indicates which portions of text <NUM> comprise sensitive information <NUM>. For example, a user may select/highlight a portion of text <NUM> and mark the portion as sensitive information to application <NUM>.

In other scenarios, text <NUM> is examined for sensitive information <NUM> by tracking indicators associated with sensitive information <NUM> in a cloud-based data repository. The tracked indicators are then ingested by a machine learning system to identify sensitive information <NUM>. The machine learning system may analyze text <NUM> in real-time or analyze text <NUM> at a later time to determine sensitive information <NUM>. Computing system <NUM> may transfer object <NUM> including text <NUM> to be examined by the machine learning system. Computing system <NUM> may then receive data indicating which portions of text <NUM> comprise the sensitive information.

Alternatively, algorithms used in a machine learning environment may be transferred to computing system <NUM> and used locally by application <NUM> to examine text <NUM> for sensitive information <NUM>. Advantageously, this may ensure that sensitive information <NUM> is not transferred to an external system before it is examined. In some scenarios, application <NUM> may be implemented, in part or in whole, as a natively installed and executed application, a web application hosted in the context of a browser, a streamed or streaming application, a mobile application, or any variation or combination thereof. Therefore, it should be noted that the examination may be performed by application <NUM> natively, by an application service external to computing system <NUM>, or by a combination of a natively installed and executed application, a web application, a streamed application, a mobile application, etc..

In a next operation, application <NUM> configures a contextual privacy setting for the sensitive information <NUM> (step <NUM>). The contextual privacy setting for sensitive information <NUM> may include categorizing sensitive information <NUM> into a type of sensitive information (e.g., confidential work information, private personal information, access restricted group information, etc.). The contextual privacy setting may also include a sensitivity measurement. For example, secret work-related information may be marked as highly sensitive information. However, the phone numbers of employees may be marked as mildly sensitive information. The contextual privacy setting may be determined by application <NUM> using a machine learning algorithm established using tracked contextual privacy settings for similar types of sensitive information. Application <NUM> may also determine the contextual privacy setting based on preferences associated with the types of sensitive information. For example, a highly confidential product name may be set as highly sensitive information by an administrator at a company.

Once the contextual privacy setting has been configured, application <NUM> stores the contextual privacy setting in association with object <NUM> comprising text <NUM> that includes sensitive information <NUM> (step <NUM>). Application <NUM> may store the contextual privacy setting in association with object <NUM> by including a flag indicating that a portion of text <NUM> is sensitive, the type of sensitivity information that sensitivity information <NUM> comprises, and the level of sensitivity associated with sensitivity information <NUM>. In some examples, the contextual privacy setting may be stored using metadata, key-value pairs, stings, or any other data associated with object <NUM>, text <NUM>, and/or sensitive information <NUM>.

<FIG> may be associated with representative view <NUM> at Time <NUM> in <FIG>. Referring parenthetically to the steps in <FIG> in the context of <FIG>, application <NUM> identifies object <NUM> comprising text <NUM> that includes sensitive information <NUM> (step <NUM>). Application <NUM> may identify object <NUM> in response to receiving a request to view text <NUM> included in object <NUM>. For example, a user may request to open a virtual note while using a presentation mode on a user device. In another example a user may request that text <NUM> be read aloud to the user using a virtual assistant enabled smart speaker. In other scenarios, object <NUM> may be identified by application <NUM> in response to being attached in an email or text message. For example, a user may not request to view object <NUM> directly. However, object <NUM> may still be identified in response to the user selecting object <NUM> to share with other users. In some implementations, application <NUM> may identify object <NUM> in a passive mode, such as when a digital sticky note is displayed on a home screen of a computing device.

In a next operation, application <NUM> identifies the contextual privacy setting for sensitive information <NUM> (step <NUM>). As previously discussed, the contextual privacy setting for sensitive information <NUM> may be indicated by metadata, key-value pairs, stings, or other data associated with object <NUM>, text <NUM>, and/or sensitive information <NUM>. Application <NUM> may determine that sensitive information <NUM> is present in object <NUM>, which portion of text <NUM> comprises sensitive information <NUM>, and the type and level of sensitivity associated with sensitive information <NUM> based on flags or any other type of allocation method which allows application <NUM> to identify the contextual privacy setting for sensitive information <NUM>.

Application <NUM> then identifies a context surrounding a presentation of object <NUM> (step <NUM>). In some scenarios, the context surrounding the presentation of object <NUM> may be identified based a request to share object <NUM> with at least one additional user or device. For example, application <NUM> may be directed to share a screen displaying object <NUM> with additional user devices to be viewed by other users. Furthermore, the context surrounding a presentation of object <NUM> may be determined based on the identity of the additional users or device sharing the screen with computing system <NUM>.

For example, if the screen displaying object <NUM> is shared with authorized users, the context surrounding the presentation of object <NUM> may be determined to be secure. Alternatively, a general instruction to display object <NUM> comprising text <NUM> in a universal presentation mode may indicate that the context surrounding the presentation of object <NUM> is not secure. Referring to <FIG>, application <NUM> has been directed to display object <NUM> in a presentation mode which will likely be viewed by additional users. In other scenarios, application <NUM> may be directed to synchronize the latest version of object <NUM> with other devices which may be accessible to the user of computing device <NUM> or additional users.

In some implementations, the context surrounding the presentation of object <NUM> may be identified based on a request to audibly present object <NUM> to the user. For example, a digital sticky note comprising text <NUM> may be requested to be read aloud by a virtual assistant enabled smart speaker. In a further example, application <NUM> may also be directed to determine a number of additional users that are located within a proximate distance from computing system <NUM>. For example, in addition to being directed to audibly recite text <NUM> of object <NUM>, application <NUM> may be instructed to determine how many additional users will likely overhear the audible presentation of object <NUM>. If too many additional users are located within a close enough proximity to computing device <NUM>, the context surrounding the presentation of object <NUM> may be determined to be unsecure.

Application <NUM> may determine that additional users are located within the same proximity to computing system <NUM> based on the detection of additional voices generating audio input for computing system <NUM>, the detection of additional computing systems (e.g., based on a signal strength), the detection of signals from Internet of Things (IoT) devices indicating a presence of additional users, or any other indicator that additional users are located near enough to computing device <NUM> to hear the audible recitation of text <NUM> in object <NUM>. For example, application <NUM> may determine a number of additional users located within a close enough proximity to computing device <NUM> by detecting three additional voices using audio input data received in the area of computing device <NUM>. In another example, application <NUM> may determine that ten additional users located within a close enough proximity to computing device <NUM> by receiving signaling and data from additional ten computing devices (e.g., detected personal hotspots, Bluetooth signaling, cellular network signaling, WIFI signaling, Global Positioning System (GPS) coordinates received from additional computing devices, etc.).

In some examples, the context surrounding the presentation of object <NUM> may be identified based on a request to access object <NUM> over a network type. For example, the context surrounding the presentation of object <NUM> may be identified to be not secure based on a request to remotely access object <NUM> and view text <NUM> over a public network. In another example, the context surrounding the presentation of object <NUM> may be identified to be secure based on a request to access object <NUM> over a work private network, but not a personal private network, and vice versa.

In other implementations, the context surrounding the presentation of object <NUM> may be identified based on a request to access object <NUM> using at least one of a user configured fingerprint, facial recognition, retinal scan, password, voice recognition, or some any other technique for verifying the identity of the user when accessing object <NUM>. For example, it may be determined that a digital note pad is being accessed in a secure environment when a user unlocks computing device <NUM> presenting object <NUM> using facial recognition technology. In another example, the context surrounding the presentation of object <NUM> may be identified based on whether access to computing system <NUM>, application <NUM>, and/or object <NUM> requires an authentication method to be performed. For example, if application <NUM> requires a user to authenticate their voice to open object <NUM>, application <NUM> may determine that the context surrounding the presentation of object <NUM> is secure.

In response to identifying the contextual privacy setting for sensitive information <NUM> and the context surrounding the presentation of object <NUM>, application <NUM> determines a level of concealment for sensitive information <NUM> in text <NUM> (step <NUM>). It should be noted that different contextual privacy settings may lead to different levels of concealment levels depending on the context surrounding the presentation of object <NUM>. For example, object <NUM> may be associated with a low level of concealment when object <NUM> having a high sensitive contextual privacy setting is displayed in a secure context surrounding the presentation of object <NUM>. On the other hand, when object <NUM> has a high sensitivity contextual privacy setting but is presented in an unsecure context surrounding, sensitive information <NUM> in text <NUM> may be completely hidden from view or omitted from audio presentations.

In some scenarios, the level of concealment may be indicative of a degree of concealment which should be applied to sensitive information <NUM> when included in text <NUM>. For example, sensitive information <NUM> may be concealed only to a degree by blurring the sensitive information, rearranging characters, obfuscating the information, using an alias or codeword which represents the sensitive information, flipping over a virtual content card which includes sensitive information <NUM>, etc. The level of concealment may be indicative of how sensitive information <NUM> should be displayed, which types of sensitive information <NUM> should be displayed, and which additional users may view/hear sensitive information <NUM>. For example, a password stored in a digital sticky not which is opened using facial recognition of the user may be completely displayed to the user. Therefore, the level of concealment would be low. Alternatively, text comprising a confidential corporation name may have a high concealment level when accessed using an unauthorized user or when accessed on a public network.

In a final operation, application <NUM> presents object <NUM> comprising text <NUM>, wherein sensitive information <NUM> included in the text <NUM> is revealed in accordance with the level of concealment (step <NUM>). Sensitive information <NUM> may be revealed to the user in accordance with the level of concealment by blurring the sensitive information, obfuscating the sensitive information, flipping over of a digital content card including the sensitive information, or omitting the sensitive information. For example, a digital sticky note listing a username and password for the user may be displayed on a desktop screen for the user. If the level of concealment is high, the digital sticky note may be placed upside down to prevent additional users from viewing the sensitive information. In another example, when application <NUM> is directed to audibly present text <NUM> from object <NUM>, application <NUM> may determine to omit sensitive information <NUM> when audibly presenting text <NUM> based on a determined high level of concealment.

<FIG> illustrates data structure <NUM>, which is representative of a data structure to determine a concealment level associated with confidential product information for a company. As illustrated in <FIG>, data structure <NUM> includes columns <NUM>-<NUM>. In particular, column <NUM> includes an access network. A private access network may be associated with a high, medium, or low concealment level. However, access to the confidential product information using a public network will always yield a high concealment level. Column <NUM> includes a list of authorized users. For example, User A is authorized to view the confidential product information, so User A may have either a low or medium concealment level. Alternatively, User B is unauthorized. Therefore, even though User B is accessing the confidential product information using a private network, the concealment level for the confidential product information when accessed by User B is high.

In a next column, column <NUM> indicates the display mode for presenting the confidential product information to the user. For example, when User A accesses the confidential product information using an isolated screen, the concealment level associated with the confidential product information is low. When User A access the confidential product information using a shared screen environment, the concealment level associated with the confidential product information is mild. However, when User A accesses the confidential product information using an audible presentation method, the concealment level associated with confidential product information is high. Column <NUM> indicates the associated concealment level based on the contextual privacy setting for the confidential product information and the context surrounding the presentation of the confidential product information.

<FIG> illustrates an exemplary operational architecture for revealing sensitive information included in text in accordance with a concealment level that may be used in one or more scenarios of the present technology. <FIG> illustrates an operational scenario <NUM> that relates to what occurs when a user requests that text from a digital note be audibly recited to the user. Operational scenario <NUM> includes application service <NUM>, user interface <NUM>, digital sticky note <NUM>, text <NUM>, and sensitive information <NUM>. Operational scenario <NUM> also includes user device <NUM>, user device <NUM>, additional user <NUM>, and additional user <NUM>.

In operation, at Time <NUM>, application service <NUM> receives user input comprising a text <NUM> included in digital sticky note <NUM>. In this scenario, text <NUM> comprises a list of items (i.e., buy milk and pick up Drug Y). Once text <NUM> has been entered into digital sticky note <NUM>, application service <NUM> examines text <NUM> for sensitive information <NUM>. In this example scenario, the user has marked that the name of the prescription drug, Drug Y, should be examined as sensitive information. Based on this indication from the user, application service <NUM> configures a contextual privacy setting for sensitive information <NUM>. The contextual privacy setting may be determined by the user at the time of marking sensitive information <NUM>. However, in other scenarios, the contextual privacy setting may be determined by application service <NUM> based on prior user preferences, an administrative security setting, a machine learning algorithm, or some other method of determining the contextual privacy setting. Once the contextual privacy setting has been configured, application service <NUM> stores the contextual privacy setting in association with digital sticky note <NUM> comprising text <NUM> that includes sensitive information <NUM>.

In a next operation, at Time <NUM>, application service <NUM> identifies digital sticky note <NUM> comprising text <NUM> that includes sensitive information <NUM>. In this example, the user of user device <NUM> requests that the digital sticky note be read aloud to the user using a virtual assistant enabled smart speaker. Application service <NUM> then identifies the contextual privacy setting for sensitive information <NUM>. For example, application service <NUM> may determine that sensitive information <NUM> has a medium concealment level, and therefore, should only be audibly recited in a secure environment, omitted in an unsecure environment, and audibly recited using a codename or alias in a semi-secure environment.

Next, application service <NUM> identifies a context surrounding the audible presentation of digital sticky note <NUM>. In this scenario, application service <NUM> requests additional user information from user device <NUM> to determine the context surrounding the audible presentation of digital sticky note <NUM>. For example, user device <NUM> may detect a wireless signal from user <NUM> indicating that another user is likely present. Additionally, user device <NUM> may receive audio inputted voice data from additional users <NUM>-<NUM> indicating that additional users are likely in a close proximity to user device <NUM>. Although not shown in <FIG>, in some scenarios user device <NUM> may be further configured to determine an identity of the additional users based on an identifier of additional user devices, an identity associated with the voice of the additional users, an identifier associated with a facial recognition profile of the additional users, etc. User device <NUM> may then transfer the additional user information to application service <NUM> to determine the context surrounding the audible presentation of digital sticky note <NUM>.

In response to identifying the contextual privacy setting for sensitive information <NUM> and the context surrounding the presentation of digital sticky note <NUM>, application service <NUM> determines a level of concealment for sensitive information <NUM> in text <NUM>. For example, application service <NUM> may determine that when audibly reciting text <NUM> in the semi-secure environment, sensitive information <NUM> should be audibly recited using a codeword. The codeword may be preconfigured by application service <NUM>, identified using machine learning techniques, allocated by the user, preconfigured by a manufacturer of a user device, and the like. In this example, application service <NUM> further analyzes the number (and possibly the identity) of the additional users to determine whether sensitive information <NUM> should be audibly recited to the user of user device <NUM>. In a final operation, user device <NUM> audibly presents digital sticky note <NUM> comprising text <NUM>. In this example, sensitive information <NUM> included in text <NUM> is revealed to a degree to the user in accordance with the level of concealment. For example, the list of items from digital sticky note <NUM> is audibly recited to the user with the name "Drug Y" replaced with the alias "prescription".

<FIG> illustrates an exemplary operational architecture for revealing sensitive information included in text in accordance with a concealment level that may be used in one or more scenarios of the present technology. <FIG> illustrates an operational scenario <NUM> that relates to what occurs when a stack of digital content cards is shared amongst other users. Operational scenario <NUM> includes application service <NUM>, user environment <NUM>, user interface <NUM>, user environment <NUM>, and user interface <NUM>. Operational scenario <NUM> also includes digital content cards <NUM>-<NUM>.

In operation, at Time <NUM>, application service <NUM> receives user input comprising text included in digital content cards <NUM>-<NUM>. In this example, digital content card <NUM> comprises text indicating an order number and digital content card <NUM> comprises text indicating a credit card number. Application service <NUM> then examines the text in each of digital content cards <NUM>-<NUM> for the sensitive information. In this example, application service <NUM> determines that digital content card <NUM> comprises sensitive information (i.e., a credit card number). In response, application service <NUM> configures a contextual privacy setting for the sensitive information in digital content card <NUM>. Once the contextual privacy setting has been configured, application service <NUM> stores the contextual privacy setting in association with digital content card <NUM> comprising the sensitive information.

In a next operation, at Time <NUM>, application service <NUM> identifies digital content card <NUM> comprising text that includes the sensitive information. In this example, application service <NUM> may identify digital content card <NUM> in response to receiving a request from the user in user environment <NUM> to share the stack of digital content cards <NUM>-<NUM> with the user in user environment <NUM>. Next, application service <NUM> identifies the contextual privacy setting for the sensitive information and a context surrounding a presentation of digital content cards <NUM>. For example, application service <NUM> may determine that the stack of digital content cards <NUM>-<NUM> is being shared with an unauthorized user. Therefore, in response to identifying the contextual privacy setting for the sensitive information and the context surrounding the presentation of digital content card <NUM>, application service <NUM> determines a level of concealment for the sensitive information. In a final operation, at Time <NUM>, application service <NUM> presents digital content cards <NUM>-<NUM> to a user in user environment <NUM>. The sensitive information is revealed to the user in accordance with the level of concealment. In this example, digital content card <NUM> is completely revealed and digital content card <NUM> is flipped upside down when presented on user interface <NUM> in user environment <NUM>.

<FIG> illustrates an additional operational architecture for revealing sensitive information included in text in accordance with a concealment level that may be used in one or more scenarios of the present technology. <FIG> illustrates an operational scenario <NUM> that relates to what occurs when sensitive information is identified using machine learning techniques. Operational scenario <NUM> includes application service <NUM>, user environment <NUM>, user interface <NUM>, data repository <NUM>, and machine learning engine <NUM>. Operational scenario <NUM> also includes spreadsheet <NUM>, text <NUM>, and sensitive information <NUM>.

In a first operation, application service <NUM> receives user input comprising text <NUM> included in spreadsheet <NUM>. In this example, spreadsheet <NUM> comprises text <NUM> indicating patient data. In a second operation, application service <NUM> examines text <NUM> in spreadsheet <NUM> for sensitive information <NUM>. To examine text <NUM>, spreadsheet <NUM> is transferred to application service <NUM>. Application service <NUM> then queries machine learning engine <NUM> to identify sensitive information <NUM>. In response to receiving the query, machine learning engine <NUM> retrieves previously stored spreadsheets stored in data repository <NUM> which have been marked to indicate previously identified sensitive information.

In a fifth operation, machine learning engine <NUM> processes the previously stored spreadsheets from data repository <NUM> and determines that a social security number is included in the patient data based on the formatting of the numbers included in the social security number. Therefore, in a sixth operation, application service <NUM> receives a flag indicating that sensitive information <NUM> comprises a social security number. In response, application service <NUM> configures a contextual privacy setting for sensitive information <NUM> in spreadsheet <NUM>. In a final operation, application service <NUM> stores the contextual privacy setting in association with spreadsheet <NUM> comprising sensitive information <NUM>.

<FIG> illustrates an alternative operational architecture continued from <FIG> for revealing sensitive information included in text in accordance with a concealment level that may be used in one or more scenarios of the present technology. <FIG> illustrates an operational scenario <NUM> that relates to what occurs when a user synchronizes a version of a spreadsheet comprising user sensitive with other devices. Operational scenario <NUM> includes application service <NUM>, user environment <NUM>, user interface <NUM>, data repository <NUM>, and additional devices <NUM>-<NUM>. Operational scenario <NUM> also includes spreadsheet <NUM>, text <NUM>, and sensitive information <NUM>.

In a first operation, application service <NUM> identifies spreadsheet <NUM> comprising text <NUM> that includes sensitive information <NUM>. In this example, application service <NUM> may identify spreadsheet <NUM> in response to receiving a request from the user in user environment <NUM> to synchronize the latest version of spreadsheet <NUM> with user devices <NUM>-<NUM>. In a second operation, application service <NUM> identifies the contextual privacy setting for sensitive information <NUM> by querying data repository <NUM> and a context surrounding a presentation of spreadsheet <NUM>. For example, application service <NUM> may determine that spreadsheet <NUM> is being synchronized with unsecured devices.

In response to identifying the contextual privacy setting for the sensitive information and the context surrounding the presentation of spreadsheet <NUM>, application service <NUM> determines a level of concealment for sensitive information <NUM>. In a fourth operation, application service <NUM> initiates the synchronization of user devices <NUM>-<NUM> with latest version of spreadsheet <NUM>. In a final operation, spreadsheet <NUM> is presented by obfuscating sensitive information <NUM> (the social security number) when presenting text <NUM> included in spreadsheet <NUM> to a user of user device <NUM>.

<FIG> illustrates an exemplary operational architecture for revealing sensitive information included in text in accordance with a concealment level that may be used in one or more scenarios of the present technology. <FIG> illustrates an operational scenario <NUM> that relates to what occurs when a corporate document comprising confidential information is opened using a secure method. Operational scenario <NUM> includes computing system <NUM>, application <NUM>, user interface <NUM>, and visual representation <NUM>. Operational scenario <NUM> also includes corporate document <NUM> which comprises text <NUM> which includes sensitive information <NUM>.

In operation, at Time <NUM>, application <NUM> receives user input comprising text <NUM> included in corporate document <NUM>. In this example, corporate document <NUM> comprises text <NUM> indicating confidential company information <NUM>. Application <NUM> then examines text <NUM> to identify confidential company information <NUM>. In this example scenario, confidential company information <NUM> has been allocated as sensitive by the administrative department of the company. Confidential company information <NUM> may be identified as any sensitive by searching all employee communications and document sharing for a product name. All information associated with that product name would then by configured with a contextual privacy setting which will be used to later used in determining the level of concealment. In response, application <NUM> configures a contextual privacy setting for confidential company information <NUM> in corporate document <NUM>. Once the contextual privacy setting has been configured, application <NUM> stores the contextual privacy setting in association with corporate document <NUM> comprising confidential company information <NUM>.

In a next operation, at Time <NUM>, application <NUM> identifies corporate document <NUM> comprising text <NUM> that includes confidential company information <NUM>. In this example, application <NUM> may identify corporate document <NUM> in response to receiving a request from the user to view text <NUM> of corporate document <NUM> on user interface <NUM> of a mobile device. Next, application <NUM> identifies the contextual privacy setting for confidential company information <NUM> and a context surrounding a presentation of corporate document <NUM>. For example, application <NUM> may determine that corporate document <NUM> is being opened using an authorized user fingerprint. Therefore, in response to identifying the contextual privacy setting for confidential company information <NUM> and the context surrounding the presentation of corporate document <NUM>, application <NUM> determines a level of concealment for confidential company information <NUM>. In a final operation, application <NUM> presents corporate document <NUM> on the screen of the mobile phone which was opened using the user's authorized fingerprint. In this scenario, confidential company information <NUM> is completely revealed along with text <NUM> since the level of concealment has been determined to be low in response to the determination of the authorized user accessing corporate document <NUM>.

<FIG> illustrates computing system <NUM>, which is representative of any system or visual representation of systems in which the various applications, services, scenarios, and processes disclosed herein may be implemented. Examples of computing system <NUM> include, but are not limited to, server computers, rack servers, web servers, cloud computing platforms, and data center equipment, as well as any other type of physical or virtual server machine, container, and any variation or combination thereof. Other examples may include smart phones, laptop computers, tablet computers, desktop computers, hybrid computers, gaming machines, virtual reality devices, smart televisions, smart watches and other wearable devices, as well as any variation or combination thereof.

Computing system <NUM> may be implemented as a single apparatus, system, or device or may be implemented in a distributed manner as multiple apparatuses, systems, or devices. Computing system <NUM> includes, but is not limited to, processing system <NUM>, storage system <NUM>, software <NUM>, communication interface system <NUM>, and user interface system <NUM>. Processing system <NUM> is operatively coupled with storage system <NUM>, communication interface system <NUM>, and user interface system <NUM>.

Processing system <NUM> loads and executes software <NUM> from storage system <NUM>. Software <NUM> includes process <NUM>, which is representative of the processes discussed with respect to the preceding <FIG>, including secure presentation process <NUM>. When executed by processing system <NUM> to enhance an application, software <NUM> directs processing system <NUM> to operate as described herein for at least the various processes, operational scenarios, and sequences discussed in the foregoing implementations. Computing system <NUM> may optionally include additional devices, features, or functionality not discussed for purposes of brevity.

Referring still to <FIG>, processing system <NUM> may comprise a microprocessor and other circuitry that retrieves and executes software <NUM> from storage system <NUM>. Processing system <NUM> may be implemented within a single processing device, but may also be distributed across multiple processing devices or sub-systems that cooperate in executing program instructions. Examples of processing system <NUM> include general purpose central processing units, graphical processing unites, application specific processors, and logic devices, as well as any other type of processing device, combination, or variation.

Storage system <NUM> may comprise any computer readable storage media readable by processing system <NUM> and capable of storing software <NUM>. Storage system <NUM> may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of storage media include random access memory, read only memory, magnetic disks, optical disks, flash memory, virtual memory and non-virtual memory, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other suitable storage media, except for propagated signals. Storage system <NUM> may be implemented as a single storage device, but may also be implemented across multiple storage devices or sub-systems co-located or distributed relative to each other.

Software <NUM> may be implemented in program instructions and among other functions may, when executed by processing system <NUM>, direct processing system <NUM> to operate as described with respect to the various operational scenarios, sequences, and processes illustrated herein. Software <NUM> may include program instructions for implementing presentation process <NUM>.

In particular, the program instructions may include various components or modules that cooperate or otherwise interact to carry out the various processes and operational scenarios described herein. The various components or modules may be embodied in compiled or interpreted instructions, or in some other variation or combination of instructions. The various components or modules may be executed in a synchronous or asynchronous manner, serially or in parallel, in a single threaded environment or multi-threaded, or in accordance with any other suitable execution paradigm, variation, or combination thereof. Software <NUM> may include additional processes, programs, or components, such as operating system software, virtual machine software, or other application software, in addition to or that include process <NUM>. Software <NUM> may also comprise firmware or some other form of machine-readable processing instructions executable by processing system <NUM>.

In general, software <NUM> may, when loaded into processing system <NUM> and executed, transform a suitable apparatus, system, or device (of which computing system <NUM> is representative) overall from a general-purpose computing system into a special-purpose computing system to enhance application service for revealing sensitive information included in text in accordance with a concealment level. Indeed, encoding software <NUM> on storage system <NUM> may transform the physical structure of storage system <NUM>. The specific transformation of the physical structure may depend on various factors in different implementations of this description. Such factors may include, but are not limited to, the technology used to implement the storage media of storage system <NUM> and whether the computer-storage media are characterized as primary or secondary storage, as well as other factors.

If the computer readable storage media are implemented as semiconductor-based memory, software <NUM> may transform the physical state of the semiconductor memory when the program instructions are encoded therein, such as by transforming the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory. A similar transformation may occur with respect to magnetic or optical media. Other transformations of physical media are possible without departing from the scope of the present description, with the foregoing examples provided only to facilitate the present discussion.

Communication interface system <NUM> may include communication connections and devices that allow for communication with other computing systems (not shown) over communication networks (not shown). Examples of connections and devices that together allow for inter-system communication may include network interface cards, antennas, power amplifiers, RF circuitry, transceivers, and other communication circuitry. The connections and devices may communicate over communication media to exchange communications with other computing systems or networks of systems, such as metal, glass, air, or any other suitable communication media. The aforementioned media, connections, and devices are well known and need not be discussed at length here.

User interface system <NUM> may include a keyboard, a mouse, a voice input device, a touch input device for receiving a touch gesture from a user, a motion input device for detecting non-touch gestures and other motions by a user, and other comparable input devices and associated processing elements capable of receiving user input from a user. Output devices such as a display, speakers, haptic devices, and other types of output devices may also be included in user interface system <NUM>. In some cases, the input and output devices may be combined in a single device, such as a display capable of displaying images and receiving touch gestures. The aforementioned user input and output devices are well known in the art and need not be discussed at length here. User interface system <NUM> may also include associated user interface software executable by processing system <NUM> in support of the various user input and output devices discussed above.

Communication between computing system <NUM> and other computing systems (not shown), may occur over a communication network or networks and in accordance with various communication protocols, combinations of protocols, or variations thereof. Examples include intranets, internets, the Internet, local area networks, wide area networks, wireless networks, wired networks, virtual networks, software defined networks, data center buses, computing backplanes, or any other type of network, combination of network, or variation thereof. The aforementioned communication networks and protocols are well known and need not be discussed at length here.

In any of the aforementioned examples in which data, content, or any other type of information is exchanged, the exchange of information may occur in accordance with any of a variety of protocols, including FTP (file transfer protocol), HTTP (hypertext transfer protocol), HTTPS, REST (representational state transfer), WebSocket, DOM (Document Object Model), HTML (hypertext markup language), CSS (cascading style sheets), HTML5, XML (extensible markup language), JavaScript, JSON (JavaScript Object Notation), and AJAX (Asynchronous JavaScript and XML), as well as any other suitable protocol, variation, or combination thereof.

Certain inventive aspects may be appreciated from the foregoing disclosure, of which the following are various examples.

Claim 1:
A computing apparatus comprising:
one or more computer readable storage media;
one or more processors operatively coupled with the one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media that, when read and executed by the one or more processors, direct the one or more processors to at least:
identify (<NUM>) an object comprising text that includes sensitive information;
identify (<NUM>) a contextual privacy setting for the sensitive information, wherein the contextual privacy setting indicates a type of the sensitive information or a level of sensitivity of the sensitive information;
identify (<NUM>), based on environmental factors comprising a network type and a number of users located within a proximate distance of a presentation of the object, a context surrounding the presentation of the object;
determine whether the context surrounding the presentation of the object comprises a secure environment or an unsecure environment;
determine (<NUM>) a level of concealment for the sensitive information in the text based on the contextual privacy setting and the context surrounding the presentation of the object; and
present (<NUM>) the object comprising the text, wherein the sensitive information included in the text is revealed in accordance with the level of concealment.