IP Library › Granted Patent US 11,934,546
Granted Patent B1
US 11,934,546 · App. 18/503,930 · Granted Mar 19, 2024

Secure copy-paste method and system

Inventors: Chuck Doerr (New York, NY); Gavin Lauchlan (Ayr, GB)
Assignee: OpenFin Inc.
G06F21/6209G06F21/6281G06F21/629G06F21/62G06F21/6245
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 11,934,546
App. No.
18/503,930
Granted
Mar 19, 2024
Kind
B1
Abstract

Disclosed is a method and apparatus for securely copying and pasting data between computer applications. The method includes generating alternative data from copied data from a first computer application. The method further includes adding the alternative data to a copy-paste clipboard and detecting an attempt by a user device to paste the copied data into a user interface. In response to the user interface being associated with a computer application from a predefined list of computer applications, the method further includes pasting, by a processing device, the copied data into the user interface. In response to the user interface being not associated with the computer application from the predefined list of computer applications, the method further includes pasting, by the processing device, the alternative data from the copy-paste clipboard into the user interface.

Claims (63)

1. A method comprising:

generating alternative data from copied data from a first computer application;

adding the alternative data to a copy-paste clipboard; and

detecting an attempt by a user device to paste the copied data into a user interface, the method further comprising, by a processing device:

in response to the user interface being associated with a computer application from a predefined list of computer applications, pasting the copied data into the user interface; and

in response to the user interface being not associated with the computer application from the predefined list of computer applications, pasting the alternative data from the copy-paste clipboard into the user interface;

wherein generating the alternative data from the copied data includes generating a token associated with the copied data and adding the token to the copy-paste clipboard instead of the copied data;

storing the copied data in its original form, in a memory; and

associating the token with the copied data in the memory.

2. The method of claim 1 , wherein associating the token with the copied data in memory comprises mapping the token with a memory location where the copied data is stored in the memory.

3. The method of claim 1 , wherein the method further includes:

triggering an interrupt to determine whether the user interface is associated with the computer application on the predefined list of computer applications;

determining that the user interface is associated with the computer application on the predefined list of computer applications;

inspecting the token and determining a memory location where the copied data is stored in memory based on the token; and

pasting the copied data from the memory location to the user interface.

4. The method of claim 1 , wherein the method further includes:

triggering an interrupt to determine whether the user interface is associated with the computer application on the predefined list of computer applications;

determining that the user interface is not associated with the computer application on the predefined list of computer applications; and

pasting the alternative data in the user interface, the alternative data including at least the token and other data that does not include the copied data.

5. The method of claim 1 , wherein the first computer application is a web application.

6. An apparatus comprising:

a memory to store a copy-paste clipboard; and

a processing device operatively coupled with the memory to:

generate alternative data from copied data from a first computer application;

add the alternative data to the copy-paste clipboard; and

detect an attempt by a user device to paste the copied data into a user interface, wherein the processing device is further to:

in response to the user interface being associated with a computer application from a predefined list of computer applications, paste the copied data into the user interface; and

in response to the user interface being not associated with the computer application from the predefined list of computer applications, paste the alternative data from the copy-paste clipboard into the user interface;

wherein the alternative data includes a token associated with the copied data and the processing device is further to:

add the token to the copy-paste clipboard instead of the copied data;

store the copied data in its original form, in the memory; and

associate the token with the copied data in the memory.

7. The apparatus of claim 6 , wherein the processing device is further to map the token with a memory location where the copied data is stored in the memory.

8. The apparatus of claim 6 , wherein the processing device is further to:

execute an interrupt to determine whether the user interface is associated with the computer application on the predefined list of computer applications;

determine that the user interface is associated with the computer application on the predefined list of computer applications;

inspect the token and determine a memory location where the copied data is stored in memory based on the token; and

paste the copied data from the memory location to the user interface.

9. The apparatus of claim 6 , wherein the processing device is further to:

execute an interrupt to determine whether the user interface is associated with the computer application on the predefined list of computer applications;

determine that the user interface is not associated with the computer application on the predefined list of computer applications; and

paste the alternative data in the user interface, the alternative data including at least the token and other data that does not include the copied data.

10. The apparatus of claim 6 , wherein the first computer application is a web application.

11. A non-transitory computer readable storage medium to store instructions executable by a processing device of a system to cause the system to:

generate alternative data from copied data from a first computer application;

add the alternative data to a copy-paste clipboard; and

detect an attempt by a user device to paste the copied data into a user interface, wherein the system is further caused to:

in response to the user interface being associated with a computer application from a predefined list of computer applications, paste the copied data into the user interface; and

in response to the user interface being not associated with the computer application from the predefined list of computer applications, paste the alternative data from the copy-paste clipboard into the user interface;

wherein the alternative data includes a token associated with the copied data and the system is further caused to:

add the token to the copy-paste clipboard instead of the copied data;

store the copied data in its original form, in a memory; and

associate the token with the copied data in the memory.

12. The non-transitory computer readable storage medium of claim 11 , wherein the system is further to map the token with a memory location where the copied data is stored in the memory.

13. The non-transitory computer readable storage medium of claim 11 , wherein the system is further to:

execute an interrupt to determine whether the user interface is associated with the computer application on the predefined list of computer applications;

determine that the user interface is associated with the computer application on the predefined list of computer applications;

inspect the token and determine a memory location where the copied data is stored in memory based on the token; and

paste the copied data from the memory location to the user interface.

14. The non-transitory computer readable storage medium of claim 11 , wherein the system is further to:

execute an interrupt to determine whether the user interface is associated with the computer application on the predefined list of computer applications;

determine that the user interface is not associated with the computer application on the predefined list of computer applications; and

paste the alternative data in the user interface, the alternative data including at least the token and other data that does not include the copied data.

Assignments (2)
CHANGE OF NAME Recorded Jul 3, 2024
From: OPENFIN INC.
To: HERE ENTERPRISE INC.
Reel/Frame 068122/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2023
From: DOERR, CHUCK; LAUCHLAN, GAVIN
To: OPENFIN INC.
Reel/Frame 065495/0181 →