IP Library Granted Patent US 12699800
Granted Patent B2
US 12699800 · App. 18/733,615 · Granted Aug 4, 2026

Encrypted file search

Inventors: Prashant Nijasure (Durango, CO); Shai Guday (Durango, CO); Elliot Daniel Lewis (Durango, CO)
G06F21/6227G06F21/602G06F40/279G06F2221/2107G06F2221/2113G06F2221/2141
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 12699800
App. No.
18/733,615
Granted
Aug 4, 2026
Kind
B2
Abstract

A method, computer program product, and system are provided for managing encrypted files. A file is received, wherein the file comprises file metadata. A large language model identifies keywords from the file, and generates keyword vector(s) from the identified keywords. The file is encrypted and indexed with the keyword vector(s) and the file metadata in a protected index.

Claims (93)

1 . A method comprising:

receiving a file, wherein the file comprises file metadata;

identifying, by a large language model, keywords from the file;

generating, by the large language model, keyword vector(s) from the keywords that were identified, wherein the keyword vector(s) comprise word-embedding vectors in a high-dimensional vector space that represent semantic meaning of the keywords;

encrypting the file to generate an encrypted file; and

indexing an identification of the encrypted file with the keyword vector(s), the file metadata, and one or more access policies associated with the encrypted file in a protected index.

2 . The method of claim 1 , wherein generating the encrypted file further comprises:

transmitting an access request to an access server, wherein the access request includes access information and file information for the file;

receiving, from the access server, an access package that includes executable code and one or more access keys;

executing the executable code to encrypt the file using the one or more access keys; and

removing the access package from memory.

3 . The method of claim 2 , wherein receiving the access package comprises:

receiving the access package that includes a data pack comprising an indication of one or more file access policies associated with the file, wherein the data pack is encrypted with the file using the one or more access keys.

4 . The method of claim 1 , further comprising:

receiving a query;

searching the protected index based on the query to identify the encrypted file; and

presenting the identification of the encrypted file in a response to the query.

5 . The method of claim 4 , wherein searching the protected index further comprising:

generating, by the large language model, a query vector from the query; and

searching the protected index based on the query vector to identify the encrypted file.

6 . The method of claim 4 , wherein searching the protected index further comprises:

applying a search filter that is hooked into a platform search.

7 . The method of claim 4 , further comprising:

in response to receiving a selection of the encrypted file:

transmitting an access request to an access server, wherein the access request includes access information and file information for the file;

receiving, from the access server, an access package that includes executable code and one or more access keys;

executing the executable code to decrypt the file using the one or more access keys; and

removing the access package from memory.

8 . The method of claim 4 , wherein presenting the identification of the encrypted file further comprises:

identifying access policies associated with the encrypted file in the protected index; and

attempting to authorize an access request according to the access policies; and

transmitting the access request to an access server based on successfully authorizing the access request.

9 . A method comprising:

receiving a query;

generating, by a large language model, a query vector from the query, wherein the query vector comprises a word-embedding vector in a high-dimensional vector space;

searching a protected index based on the query to identify an encrypted file, wherein searching the protected index comprises applying a search filter that is hooked into a platform search; and

presenting the identification of the encrypted file in a response to the query, wherein presenting comprises enforcing one or more access policies associated with the encrypted file prior to presenting the identification.

10 . The method of claim 9 , wherein searching the protected index further comprising:

comparing the query vector to keyword vector(s) indexed in the protected index based on semantic similarity to identify the encrypted file.

11 . The method of claim 9 , wherein applying the search filter that is hooked into the platform search further comprises:

registering one or more search handlers or filters with a platform search service to intercept search operations and apply logic for encrypted file types.

12 . The method of claim 9 , further comprising:

in response to receiving a selection of the encrypted file:

transmitting an access request to an access server, wherein the access request includes access information and file information for the file;

receiving, from the access server, an access package that includes executable code and one or more access keys;

executing the executable code to decrypt the file using the one or more access keys; and

removing the access package from memory.

13 . The method of claim 9 , wherein presenting the identification of the encrypted file further comprises:

identifying access policies associated with the encrypted file in the protected index;

attempting to authorize an access request according to the access policies; and

transmitting the access request to an access server based on successfully authorizing the access request.

14 . A computer program product comprising:

computer readable program code stored on a non-transitory computer readable storage medium that, when executed by a processor, perform the method of:

receiving a file, wherein the file comprises file metadata;

identifying, by a large language model, keywords from the file;

generating, by the large language model, keyword vector(s) from the keywords that were identified, wherein the keyword vector(s) comprise word-embedding vectors in a high-dimensional vector space that represent semantic meaning of the keywords;

encrypting the file to generate an encrypted file; and

indexing an identification of the encrypted file with the keyword vector(s), the file metadata and one or more access policies associated with the encrypted file in a protected index.

15 . The computer program product of claim 14 , wherein generating the encrypted file further comprises:

transmitting an access request to an access server, wherein the access request includes access information and file information for the file;

receiving, from the access server, an access package that includes executable code and one or more access keys;

executing the executable code to encrypt the file using the one or more access keys; and

removing the access package from memory.

16 . The computer program product of claim 15 , wherein receiving the access package comprises:

receiving the access package that includes a data pack comprising an indication of one or more access policies associated with the file, wherein the data pack is encrypted with the file using the one or more access keys.

17 . The computer program product of claim 14 , further comprising:

receiving a query;

searching the protected index based on the query to identify the encrypted file; and

presenting the identification of the encrypted file in a response to the query.

18 . The computer program product of claim 17 , wherein searching the protected index further comprising:

generating, by the large language model, a query vector from the query; and

searching the protected index based on the query vector to identify the encrypted file.

19 . The computer program product of claim 17 , further comprising:

in response to receiving a selection of the encrypted file:

identifying access policies associated with the encrypted file in the protected index; and

attempting to authorize an access request according to the access policies;

transmitting an access request to an access server based on successfully authorizing the access request, wherein the access request includes access information and file information for the file;

receiving, from the access server, an access package that includes executable code and one or more access keys;

executing the executable code to decrypt the file using the one or more access keys; and

removing the access package from memory.

20 . A computer system comprising:

a processor;

memory; and

instructions stored in the memory and executable by the processor for:

receiving a file, wherein the file comprises file metadata;

identifying, by a large language model, keywords from the file;

generating, by the large language model, keyword vector(s) from the keywords that were identified, wherein the keyword vector(s) comprise word-embedding vectors in a high-dimensional vector space that represent semantic meaning of the keywords;

generating an encrypted file from the file;

indexing an identification of the encrypted file with the keyword vector(s), the file metadata, and one or more access policies associated with the encrypted file in a protected index;

receiving a query;

generating, by the large language model, a query vector from the query, wherein the query vector comprises a word-embedding vector in a high-dimensional vector space;

searching the protected index based on the query to identify the encrypted file, wherein searching comprises applying a search filter hooked into a platform search; and

presenting the identification of the encrypted file in a response to the query, wherein presenting comprises enforcing the one or more access policies prior to presenting the identification.