IP Library Granted Patent US 12688280
Granted Patent B2
US 12688280 · App. 18/794,488 · Granted Jul 21, 2026

Governance and data protection in use of generative artificial intelligence

Inventors: Markus Melin (Espoo, FI); Antti Reijonen (Larchmont, NY)
Assignee: NROC Security Oy
G06F21/54G06N3/0475
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12688280
App. No.
18/794,488
Granted
Jul 21, 2026
Kind
B2
Abstract

A method for governing a generative artificial intelligence (Gen AI) application interaction. Input destined to a Gen AI application via a user interface is received and temporarily stored in a proxy. A policy screening is applied on the input for categorizing the input into one of ‘allow’, ‘ask’ and ‘block’ categories. At least one policy enforcement action is performed depending on the categorization of the input, the policy enforcement action resulting either releasing the input from the proxy to the Gen AI application or blocking the input from being forwarded to the Gen AI application. All interaction with Gen AI is logged.

Claims (82)

1 . A method for governing a generative artificial intelligence (Gen AI) interaction to prevent unauthorized disclosure of data, the method comprising:

receiving input destined to a Gen AI application via a user interface,

temporarily storing the input in a proxy,

determining a use case based on a user group of a user from which the input is received and the Gen AI application the input is destined to,

selecting a Gen AI use policy to be applied based on the use case,

wherein the applied Gen AI use policy defines a plurality of screening policies determined for a content category comprised in the input and one or more of a data type, a data rate, personally identifiable information, and a custom keyword list, wherein the content category of the input or a part of the input is determined by a content categorizer trained to recognize at least one of: text with legal content, text with financial content, text with medical content, text with political content, computer program code and organization-specific content,

applying a policy screening on the input according to the Gen AI use policy applied on the use case, wherein the policy screening comprises categorizing the input into one of ‘allow’, ‘ask’ and ‘block’ categories, and performing at least one policy enforcement action depending on the categorization of the input, wherein the at least one policy enforcement action is selected among:

a) an ‘allow’ policy enforcement action causing passing the input from the proxy to the Gen AI application, selected in response to categorizing the input into ‘allow’ category by all of the plurality of applied screening policies,

b) a ‘block’ policy enforcement action, selected in response to determining that the input and/or at least one piece of data comprised in the input is determined to be in the ‘block’ category in the use case, the ‘block’ policy enforcement action causing the policy screening to stop processing of the input, not submitting the input to the Gen AI application, and the user interface displaying in the user interface a reason for blocking the input, wherein the displayed reason refers to a respective screening policy that caused the input to be categorized into the ‘block’ category,

c) an ‘ask’ policy enforcement action, selected in response to determining that neither the input nor any piece of data comprised in the input is determined to belong in the ‘block’ category, and the input or at least one piece of data comprised in the input is determined to be the ‘ask’ category for the use case, the ‘ask’ policy enforcement action causing the user interface to request the user to enter a decision on whether to continue with passing the input from the proxy to the destined Gen AI application or not by:

indicating the input or the at least one piece of data comprised in the input that caused the input to fall in the ‘ask’ category and providing in the user interface information or a link to information that describes a respective screening policy causing the input or at least one piece of data comprised in the input to cause the input to be categorized into the ‘ask’ category,

providing in the user interface a prompt to submit a screening policy prompted input comprising a rationale,

upon receiving, via the user interface, the screening policy prompted input, logging the screening policy prompted input,

receiving, from the user via the user interface, any one of an indication to continue with the Gen AI application interaction and an indication to cancel the Gen AI application interaction, and

in dependence of the indication received from the user via the user interface, performing the respective policy enforcement action a) or b).

2 . The method according to claim 1 , wherein the method further comprises:

categorizing the input into one of ‘allow’, ‘ask’ and ‘block’ categories based on a plurality of screening policies, wherein said plurality of screening policies determine said ‘allow’, ‘ask’ and ‘block’ categories based on at least two of:

one or more data types, wherein the one or more data types is selected from a list comprising: text, image, video, computer program code,

personally identifiable information and/or secrets,

one or more content categories, wherein the content category of input is selected from a list comprising at least two of: computer program code, text with legal content, text with financial content, text with political content, text with medical content.

3 . The method according to claim 2 , wherein the method further comprises:

providing a custom keyword list, wherein the optional custom keyword list determines one or more keywords and/or one or more phrases and/or a vector and/or one or more partial words with a wildcard.

4 . The method according to claim 2 , wherein the method further comprises:

providing one or more data rate limits, wherein data rate limit refers to a limit of size of binary data to be submitted as input.

5 . The method according to claim 2 , wherein the content category of the input is determined by means of artificial intelligence trained with general use training data representing one or more predetermined content categories and/or organization-specific training data representing one or more organization-specific content categories and/or one or more organization-specific content sub-categories.

6 . The method according to claim 5 , wherein training data for training artificial intelligence used for determining one or more organization-specific content categories and/or organization-specific content sub-categories comprises previously categorized input and/or Gen AI generated content, wherein each previously categorized input and/or Gen AI generated content included in the training data is organization-specific labelled training data, wherein the organization-specific labelling indicates the organization-specific content category or the organization-specific content sub-category of each piece of training data.

7 . The method according to claim 1 , wherein, if step a) was performed and input was passed to the destined Gen AI application, the method further comprises governing use of Gen AI application generated content by:

receiving Gen AI generated content from the Gen AI application in response to the input passed to the Gen AI application,

temporarily storing the Gen AI generated content in a proxy,

applying a policy screening on the Gen AI generated content according to the Gen AI use policy applied on the use case, wherein the policy screening comprises;

categorizing the Gen AI generated content into one of ‘allow’, ‘ask’ and ‘block’ categories based on a plurality of screening policies determined for different types of Gen AI generated content, wherein the content category of the Gen AI generated content determined by the content categorizer trained to recognize at least one of text with legal content, text with financial content, text with medical content, text with political content, computer program code and organization-specific content, and

performing at least one policy enforcement action depending on the categorization of the Gen AI generated content, wherein the at least one policy enforcement action is selected among:

d) ‘allow’ policy enforcement action causing passing the Gen AI generated content from the proxy as result to the user interface, selected in response to categorizing the Gen AI generated content into ‘allow’ category by all applied screening policies of the use case,

e) ‘block’ policy enforcement action, selected in response to determining that the Gen AI generated content is determined to be in the ‘block’ category in the use case, the ‘block’ policy enforcement action causing the policy screening to disable the Gen AI generated content from being passed from the proxy to the user interface, and causing the user interface to display the user with a reason for blocking the Gen AI generated content, wherein the displayed reason refers to a respective screening policy that caused the Gen AI generated content to be categorized into the ‘block’ category,

f) ‘ask’ policy enforcement action, selected in response to determining that the Gen AI generated content does not belong in the ‘block’ category, but the Gen AI generated content is determined to be the ‘ask’ category for the use case, the ‘ask’ policy enforcement action causing the user interface to request the user to enter a decision whether to continue with passing the Gen AI generated content from the proxy by:

providing in the user with interface information or a link to information that determines a respective screening policy causing the Gen AI generated content to be categorized into the ‘ask’ category,

providing in the user interface a prompt to the user for submitting a screening policy prompted input comprising a rationale why the Gen AI generated content should be categorized into the ‘allow’ category,

upon receiving, via the user interface, the screening policy prompted input comprising the rationale, storing the screening policy prompted input in a log,

receiving, from the user via the user interface, any one of an indication to continue with the Gen AI application interaction and an indication to cancel the Gen AI application interaction, and

in dependence of the indication received from the user via the user interface, performing the respective policy enforcement action d) or e).

8 . The method according to claim 7 , wherein the method further comprises:

categorizing the Gen AI generated content into one of ‘allow’, ‘ask’ and ‘block’ categories based on an anti-drift policy, which causes the Gen AI generated content to be categorized into the respective category based on:

one or more data types, wherein the one or more data types comprises at least one of: image or video or computer program code, and

one or more content categories, wherein the content category of Gen AI generated content comprises two or more of: computer program code, text with legal content, or text with financial content, or text with political content, or text with medical content.

9 . The method according to claim 8 , wherein the content category of the Gen AI generated content is determined by means of artificial intelligence trained with general use training data representing predetermined content categories and/or organization-specific labelled training data representing one or more organization-specific content categories and/or one or more organization-specific content sub-categories.

10 . The method according to claim 9 , wherein training data for training artificial intelligence used for determining one or more organization-specific content categories and/or organization-specific content sub-categories comprises previously categorized input and/or Gen AI generated content, wherein each previously categorized input and/or Gen AI generated content included in the training data is organization-specific labelled training data, wherein the organization-specific labelling indicates the organization-specific content category or the organization-specific content sub-category of each piece of training data.

11 . The method according to claim 10 , further comprising updating a word vector database based on said organization-specific labelled training data, wherein the word vector database is used by artificial intelligence for determining one or more organization-specific content categories and/or organization-specific content sub-categories.

12 . The method according to claim 11 , wherein the training data is discarded after completing updating of the word vector database.

13 . The method according to claim 1 , wherein the method further comprises:

modifying result by embedding a unique identifier therein, and

storing the result in a log with the unique identifier.

14 . The method according to claim 13 , wherein the unique identifier is embedded into the result as one of: a text addition, a file metadata addition, an embedded watermark or non-removable technical encoding.

15 . The method according claim 1 , wherein the method comprises logging of each governed Gen AI interaction, wherein the logging comprises:

storing log data of the Gen AI interaction event, wherein the log data comprises:

interaction payload information comprising a unique reference assigned to the Gen AI interaction, input prompt submitted by the user, input payload submitted by the user, if submitted by the user, and Gen AI generated content, if received in response to the input, and

policy event information comprising at least one time stamp for the Gen AI interaction, screening policy or policies applied to the Gen AI interaction, performed policy enforcement action, screening policy prompted input, if any, and optional success and/or failure codes concerning the policy event.

16 . A device for governing a generative artificial intelligence (Gen AI) interaction to prevent unauthorized disclosure of data, the device comprising a non-transitory computer readable storage medium having computer executable instructions stored thereon, and a processor, the computer executable instructions, which when executed by the processor, cause the device to perform a method comprising:

receiving input destined to a Gen AI application via a user interface,

temporarily storing the input in a proxy,

determining a use case based on a user group of a user from which the input is received and the Gen AI application the input is destined to, and selecting a Gen AI use policy to be applied based on the use case, wherein the applied Gen AI use policy defines a plurality of screening policies determined for a content category comprised in the input and one or more of a data type, a data rate, personally identifiable information, and a custom keyword list, wherein the content category is determined by a content categorizer trained to recognize at least one of text with legal content, text with financial content, text with medical content, text with political content, computer program code and organization-specific content,

applying a policy screening on the input, wherein the policy screening comprises categorizing the input into one of ‘allow’, ‘ask’ and ‘block’ categories according to the Gen AI use policy applied on the use case, and performing at least one policy enforcement action depending on the categorization of the input, wherein the at least one policy enforcement action is selected among:

d) an ‘allow’ policy enforcement action causing passing the input from the proxy to the Gen AI application, selected in response to categorizing the input into ‘allow’ category by all of the plurality of applied screening policies,

e) a ‘block’ policy enforcement action, selected in response to determining that the input and/or at least one piece of data comprised in the input is determined to be in the ‘block’ category in the use case, the ‘block’ policy enforcement action causing the policy screening to stop processing of the input, not submitting the input to the Gen AI application, and the user interface displaying the user a reason for blocking the input, wherein the displayed reason refers to a respective screening policy that caused the input to be categorized into the ‘block’ category,

f) an ‘ask’ policy enforcement action, selected in response to determining that neither the input nor any piece of data comprised in the input is determined to belong in the ‘block’ category, and the input or at least one piece of data comprised in the input is determined to be the ‘ask’ category for the use case, the ‘ask’ policy enforcement action causing the user interface to request the user to enter a decision on whether to continue with passing the input from the proxy to the destined Gen AI application or not by:

providing in the user interface information or a link to information that describes a respective screening policy causing the input or at least one piece of data comprised in the input to cause the input to be categorized into the ‘ask’ category,

providing in the user interface a prompt to submit a screening policy prompted input comprising a rationale,

upon receiving, via the user interface, the screening policy prompted input, logging the screening policy prompted input,

receiving, from the user via the user interface, any one of an indication to continue with the Gen AI application interaction and an indication to cancel the Gen AI application interaction, and

in dependence of the indication received from the user via the user interface, performing the respective policy enforcement action a) or b).

17 . A device for governing a generative artificial intelligence (Gen AI) interaction to prevent unauthorized disclosure of data, the device comprising a memory that includes computer executable code that performs, which when executed with one or more processors of the device, causes the device to:

receive input destined to a Gen AI application via a user interface,

temporarily store the input in a proxy,

determine a use case based on a user group of a user from which the input is received and the Gen AI application the input is destined to, and selecting a Gen AI use policy to be applied based on the use case, wherein the applied Gen AI use policy defines a plurality of screening policies determined for a content category comprised in the input and one or more of a data type, a data rate, personally identifiable information, and a custom keyword list, wherein the content category is determined by a content categorizer trained to recognize at least one of text with legal content, text with financial content, text with medical content, text with political content, computer program code and organization-specific content,

apply a policy screening on the input, wherein the policy screening comprises categorizing the input into one of ‘allow’, ‘ask’ and ‘block’ categories according to the Gen AI use policy applied on the use case, and performing at least one policy enforcement action depending on the categorization of the input, wherein the at least one policy enforcement action is selected among:

g) an ‘allow’ policy enforcement action causing passing the input from the proxy to the Gen AI application, selected in response categorizing the input into ‘allow’ category by all of the plurality of applied screening policies,

h) a ‘block’ policy enforcement action, selected in response to determining that neither the input nor any piece of data comprised in the input is determined to belong in the ‘block’ category, but the input or at least one piece of data comprised in the input is determined to be the ‘ask’ category for the use case, the ‘ask’ policy enforcement action causing the policy screening to stop processing of the input, not submitting the input to the Gen AI application, and the user interface displaying the user a reason for blocking the input, wherein the displayed reason refers to a respective screening policy that caused the input to be categorized into the ‘block’ category,

i) an ‘ask’ policy enforcement action, selected in response to determining that neither the input nor any piece of data comprised in the input is determined to belong in the ‘block’ category, and the input or at least one piece of data comprised in the input is determined to be the ‘ask’ category for the use case, the ‘ask’ policy enforcement action causing the user interface to request the user to enter a decision on whether to continue with passing the input from the proxy to the destined Gen AI application or not by:

providing in the user interface information or a link to information that describes a respective screening policy causing the input or at least one piece of data comprised in the input to cause the input to be categorized into the ‘ask’ category,

providing in the user interface a prompt to submit a screening policy prompted input comprising a rationale,

upon receiving, via the user interface, the screening policy prompted input, logging the screening policy prompted input,

receiving, from the user via the user interface, any one of an indication to continue with the Gen AI application interaction and an indication to cancel the Gen AI application interaction, and

in dependence of the indication received from the user via the user interface, performing the respective policy enforcement action a) or b).