IP Library Granted Patent US 12,445,443
Granted Patent B2
US 12,445,443 · App. 18/936,749 · Granted Oct 14, 2025

Securely communicating data between an application associated with an entity and a third-party system

Inventors: Scott Nielsen Weinert, Jr. (Spokane, WA); Sean Michael Hill (Mesa, AZ); Michael Contreras (Reno, NV)
Assignee: Atomic FI, Inc.
H04L63/0884H04L63/083G06Q20/08G06Q20/0855G06Q20/40H04L63/00
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 12,445,443
App. No.
18/936,749
Granted
Oct 14, 2025
Kind
B2
Abstract

A webview associated with a third-party system is provided in an application context associated with an entity. It is determined that a user has been authenticated by the third-party system based on data comprising a page displayed via the provided webview. In response to a determination that the user has been authenticated by the third-party system, one or more tasks to perform a function with the third-party system on behalf of the entity are automated.

Claims (31)

1. A system, comprising:

a communication interface; and

a processor, coupled to the communication interface, configured to:

provide, by code associated with a second entity in an application context of an application corresponding to a first entity associated with a user, a webview associated with a third-party system selected from a plurality of third-party systems, wherein the webview associated with the selected third-party system displays a native login page corresponding to the selected third-party system, wherein the user's login credentials are directly provided from the application associated with the application context, via the webview associated with the selected third-party system, to the selected third-party system;

determine by executing the code associated with the second entity that the user has been authenticated by the selected third-party system, using data comprising response page displayed via the provided webview associated with the selected third-party system by determining that the data comprising the response page includes data indicative of the user being authenticated, wherein the code associated with the second entity is embedded in code of the application corresponding to the first entity associated with the user; and

in response to the determination that the data comprising the response page includes data indicative of the user being authenticated, automate one or more tasks needed to perform a function, requested by the user, with the selected third-party system on behalf of the entity, including by executing further code associated with the second entity to communicate with a backend server that determines a parameter and a request structure associated with the function requested by the user as implemented by the selected third-party system and use the parameter and the request structure to generate and send to the selected third-party system an application programming interface request that includes the parameter and conforms to the request structure.

2. The system of claim 1 , wherein the processor is configured to provide, via a user interface, the plurality of third-party systems.

3. The system of claim 2 , wherein the processor is configured to receive, via the user interface, the selection of the third-party system selected from the plurality of third-party systems.

4. The system of claim 3 , wherein the processor is configured to obtain from the selected third-party system the native login page associated with the selected third-party system.

5. The system of claim 3 , wherein the user's login credentials are not accessed by code associated with the second entity.

6. The system of claim 3 , wherein the user's login credentials are entered into the native login page associated with the selected third-party system via a password manager.

7. The system of claim 1 , wherein the data comprising or otherwise associated with the response page includes a uniform resource locator.

8. The system of claim 1 , wherein the data comprising or otherwise associated with the response page is analyzed using machine learning.

9. The system of claim 1 , wherein the request comprises the application programming interface request.

10. The system of claim 1 , wherein the processor is configured to perform the function with the third-party system by initiating bidirectional communication via remote procedure calls with the backend server.

11. The system of claim 10 , wherein the backend server is associated with the second entity.

12. The system of claim 10 , wherein in response to the remote procedure call, the backend server is configured to provide one or more parameters associated with the function.

13. The system of claim 12 , wherein in response to receiving the one or more parameters associated with the function via the remote procedure call, the processor is configured to perform the function with the third-party system using the one or more parameters as values.

14. The system of claim 10 , wherein data transferred in the remote procedure call with the backend server is encrypted using elliptic curve cryptography.

15. The system of claim 1 , wherein the request structure includes an application programming interface request body and a header that the backend server determined as the request structure associated with the function requested by the user.

16. A method, comprising:

providing, by code associated with a second entity in an application context of an application corresponding to a first entity associated with a user, a webview associated with a third-party system selected from a plurality of third-party systems, wherein the webview associated with the selected third-party system displays a native login page corresponding to the selected third-party system, wherein the user's login credentials are directly provided from the application associated with the application context, via the webview associated with the selected third-party system, to the selected third-party system;

determining, by executing the code associated with the second entity, that the user has been authenticated by the selected third-party system, using data comprising a response page displayed via the provided webview associated with the selected third-party system by determining that the data comprising the response page includes data indicative of the user being authenticated, wherein the code associated with the second entity is embedded in code of the application corresponding to the first entity associated with the user; and

in response to determining that the data comprising the response page includes data indicative of the user being authenticated, automating one or more tasks needed to perform a function, requested by the user, with the selected third-party system on behalf of the entity, including by executing further code associated with the second entity to communicate with a backend server that determines a parameter and a request structure associated with the function requested by the user as implemented by the selected third-party system and use the parameter and the request structure to generate and send to the selected third-party system an application programming interface request that includes the parameter and conforms to the request structure.

17. The method of claim 16 , wherein one of the one or more visual elements is a uniform resource locator.

18. The method of claim 16 , wherein one of the one or more visual elements is a visual text.

19. The method of claim 16 , wherein performing the function associated with the selected third-party system includes initiating a remote procedure call with the backend server.

20. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

providing, by code associated with a second entity in an application context of an application corresponding to a first entity associated with a user, a webview associated with a third-party system selected from a plurality of third-party systems, wherein the webview associated with the selected third-party system displays a native login page corresponding to the selected third-party system, wherein the user's login credentials are directly provided from the application associated with the application context, via the webview associated with the selected third-party system, to the selected third-party system;

determining, by executing the code associated with the second entity, that the user has been authenticated by the selected third-party system, using data comprising a response page displayed via the provided webview associated with the selected third-party system by determining that the data comprising the response page includes data indicative of the user being authenticated, wherein the code associated with the second entity is embedded in code of the application corresponding to the first entity associated with the user; and

in response to determining that the data comprising the response page includes data indicative of the user being authenticated, automating one or more tasks needed to perform a function, requested by the user, with the selected third-party system on behalf of the entity, including by executing further code associated with the second entity to communicate with a backend server that determines a parameter and a request structure associated with the function requested by the user as implemented by the selected third-party system and use the parameter and the request structure to generate and send to the selected third-party system an application programming interface request that includes the parameter and conforms to the request structure.

Continuity (4)
Continuation 18812848 · Aug 22, 2024
Continuation 18531578 · Dec 6, 2023
Provisional Application 63434824 · Dec 22, 2022
Related Publication 20250063044A1 · Feb 20, 2025
References Cited (9)
US 9842322B2 · Johnston · 2017 [cited by examiner]
US 11615234B2 · Grosse · 2023 [cited by examiner]
US 20150134520A1 · Martin · 2015 [cited by examiner]
US 20190163896A1 · Balaraman · 2019 [cited by examiner]
US 20230043318A1 · Selman · 2023 [cited by examiner]
“The Difference Between a Third-Party Sender and a Third-Party Service Provider”—Rachel Pike, Modern Treasury, May 27, 2020 https://www.moderntreasury.com/journal/the-difference-between-a-third-party-sender-and-a-third-… [cited by examiner]
“Set Up Direct Deposit to Work with a Third-Party Program”—Sage Group, Oct. 2018 https://help-sage100.na.sage.com/2022/Subsystems/PR/PRSetupProced/Set_Up_Direct_Deposit_to_Work_with_Third-Party_Program.htm (Year: 2018). [cited by examiner]
Rachel Pike. The Difference Between a Third-Party Sender and a Third-Party Service Provider. Modern Treasury: https://www.moderntreasury.com/journal/the-difference-between-a-third-party-sender-and-a-third-party-service-… [cited by applicant]
Set Up Direct Deposit to Work with a Third-Party Program. Sage Group/Sage 100/2018 https://helpsage100.na.sage.com/2018/Subsystems/PR/PRSetupProced/Set_Up_Direct_Deposit_to_Work_with_Third-Party_Program.htm. 2018. [cited by applicant]