IP Library Granted Patent US 12711272
Granted Patent B2
US 12711272 · App. 18/773,234 · Granted Aug 18, 2026

Masking data using data annotations

Inventors: Chaney Lin (Palo Alto, CA); Fermin Ordaz (San Francisco, CA)
Assignee: Salesforce, Inc.
G06F21/6254
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 12711272
App. No.
18/773,234
Granted
Aug 18, 2026
Kind
B2
Abstract

Techniques for masking data based on annotations are discussed herein. A system may receive a request to perform an action and leverage an LLM to assist in performing the requested action. When generating the input data to input to the LLM, the system can use a template to organize the input data. The template may include static data and/or slot(s) which can include a reference to data to input into such slots. The system may retrieve data to input to the slot based on the reference, retrieve annotations that define a classification of the data, and receive a policy that defines which types of data classifications are to be masked. Based on the data classification and the policy, the system can determine whether to mask the data. The system can generate the input data using the template, the data, and/or the mask(s) and input such data into the LLM.

Claims (87)

1 . A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:

receiving a request for a generative machine learned model to perform an action;

generating, based at least in part on the request, input data to be input to the generative machine learned model, wherein generating the input data is based at least in part on:

identifying, based at least in part on the request, a predefined template to organize the input data;

identifying a slot associated with the predefined template;

receiving, based at least in part on the slot and from a database, data to be input into the slot;

receiving a classification of the data;

receiving a policy;

determining, based at least in part on the classification and the policy, a mask that anonymizes the data;

causing the mask to be input into the slot; and

generating, based at least in part on the mask and the predefined template, the input data;

inputting the input data into the generative machine learned model;

receiving, from the generative machine learned model, output data; and

causing the output data to be output to a virtual space.

2 . The system of claim 1 , wherein the policy is a first policy that is associated with the slot, the operations further comprising:

determining that the first policy includes a first instruction to mask content associated with the classification;

receiving a second policy that is associated with the request, the second policy including a second instruction to refrain from masking content associated with the classification; and

generating, based at least in part on the first policy overriding the second policy, the mask to anonymize the data.

3 . The system of claim 1 , wherein receiving the data is further based at least in part on:

identifying a reference associated with the slot;

determining, based at least in part on the reference, a location in the database; and

retrieving the data from the location in the database.

4 . The system of claim 1 , wherein the predefined template is a first predefined template and the slot is a first slot, wherein receiving the data is further based at least in part on:

determining that the first slot includes a first reference to a second predefined template;

determining that the second predefined template includes a second slot;

determining that the second slot includes a second reference to a location in the database; and

retrieving the data from the location in the database.

5 . The system of claim 4 , wherein the mask corresponds to the second slot and the first slot.

6 . The system of claim 1 , wherein the predefined template includes static content and one or more slots.

7 . One or more non transitory computer readable media storing instructions executable by one or more processors, wherein the instructions, when executed, cause the one or more processors to perform operations comprising:

generating input data to be input to a generative machine learned model, wherein generating the input data is based at least in part on:

identifying, from a plurality of templates, a template to organize the input data;

identifying a slot associated with the template;

receiving, based at least in part on the slot and from a database, data to be input into the slot;

receiving a classification of the data;

receiving a policy;

determining, based at least in part on the classification and the policy, a mask that anonymizes the data;

causing the mask to be input into the slot; and

generating, based at least in part on the mask and the template, the input data; and

causing, based at least in part on the input data and the generative machine learned model, output data to be output to a virtual space.

8 . The one or more non transitory computer readable media of claim 7 , wherein the policy is a first policy that is associated with the slot, the operations further comprising:

determining that the first policy includes a first instruction to mask content associated with the classification;

receiving a second policy that is associated with a user profile that requested for the generative machine learned model to perform an action, the second policy including a second instruction to refrain from masking content associated with the classification; and

generating, based at least in part on the first policy overriding the second policy, the mask to anonymize the data.

9 . The one or more non transitory computer readable media of claim 7 , wherein receiving the data is further based at least in part on:

identifying a reference associated with the slot;

determining, based at least in part on the reference, a location in the database; and

retrieving the data from the location in the database.

10 . The one or more non transitory computer readable media of claim 7 , wherein the template is a first template and the slot is a first slot, wherein receiving the data is further based at least in part on:

determining that the first slot includes a first reference to a second template;

determining that the second template includes a second slot;

determining that the second slot includes a second reference to a location in the database; and

retrieving the data from the location in the database.

11 . The one or more non transitory computer readable media of claim 10 , wherein the mask corresponds to the second slot and the first slot.

12 . The one or more non transitory computer readable media of claim 7 , wherein the template includes static content and one or more slots.

13 . The one or more non transitory computer readable media of claim 7 , wherein generating the input data is further based at least in part on:

receiving a request for the generative machine learned model to perform an action.

14 . A method comprising:

generating input data to be input to a generative machine learned model, wherein generating the input data is based at least in part on:

identifying, from a first database, a template to organize the input data;

identifying a slot associated with the template;

receiving, based at least in part on the slot and from a second database, data to be input into the slot;

receiving a classification of the data;

receiving a policy;

determining, based at least in part on the classification and the policy, a mask that anonymizes the data;

causing the mask to be input into the slot; and

generating, based at least in part on the mask and the template, the input data; and

causing, based at least in part on the input data and the generative machine learned model, output data to be output to a virtual space.

15 . The method of claim 14 , wherein the policy is a first policy that is associated with the slot, the method further comprising:

determining that the first policy includes a first instruction to mask content associated with the classification;

receiving a second policy that is associated with a user profile that requested for the generative machine learned model to perform an action, the second policy including a second instruction to refrain from masking content associated with the classification; and

generating, based at least in part on the first policy overriding the second policy, the mask to anonymize the data.

16 . The method of claim 14 , wherein receiving the data is further based at least in part on:

identifying a reference associated with the slot;

determining, based at least in part on the reference, a location in the second database; and

retrieving the data from the location in the second database.

17 . The method of claim 14 , wherein the template is a first template and the slot is a first slot, wherein receiving the data is further based at least in part on:

determining that the first slot includes a first reference to a second template;

determining that the second template includes a second slot;

determining that the second slot includes a second reference to a location in the second database; and

retrieving the data from the location in the second database.

18 . The method of claim 17 , wherein the mask corresponds to the second slot and the first slot.

19 . The method of claim 14 , wherein the template includes static content and one or more slots.

20 . The method of claim 14 , wherein generating the input data is further based at least in part on:

receiving a request for the generative machine learned model to perform an action.