# US 2024/0205682 A1 · Secure communication in mobile digital pages

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2024/0205682 A1
- Document ID: US20240205682A1
- Status: Published application
- Kind: A1
- Application number: 18/595,262
- Filed: 2024-03-04
- Published: 2024-06-20
- Earliest claimed: 2019-06-03
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Jay Akkad; Nikhil Rao; Anshul Gupta; David Wang; Ian Baker; Neil Dhillon
- Web page: https://patentgrep.com/patent/US20240205682A1

## CPC

- G06F 40/154: Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
- G06F 9/54: Interprogram communication
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 16/1865: {Transactional file systems}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/957: Browsing optimisation, e.g. caching or content distillation
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 40/226: Validation
- G06Q 10/10: Office automation; Time management
- G06Q 30/06: Buying, selling or leasing transactions
- G06Q 40/02: Banking, e.g. interest calculation or account maintenance (credit or loans G06Q40/03)
- H04L 63/0281: {Proxies}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04W 12/03: Protecting confidentiality, e.g. by encryption
- H04W 12/08: Access security
- H04W 12/35: {Protecting application or service provisioning, e.g. securing SIM application provisioning}
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Secure communication in mobile digital pages is provided. The system receives an electronic document and validates the electronic document for storage in a cache server. The system receives a request for the electronic document and provides it to a viewer component on a client computing device. The viewer component loads the electronic document in an iframe. The viewer component executes a runtime component to receive, via a secure communication channel, a tag from the electronic document. The system receives the tag and selects a data value for transmission to the viewer component. The viewer components provides the data value to cause the runtime component to execute an action with the data value.

## Claims

### Claim 1

A method implemented by one or more processors, the method comprising:
transmitting, by a client computing device, to a data processing system, a request to access an electronic document;
receiving, by the client computing device, from the data processing system, the electronic document;
loading, by the client computing device, content of the electronic document;
identifying, by the client computing device, contextual information in the electronic document;
transmitting, by the client computing device, the contextual information to the data processing system;
receiving, by the client computing device, from the data processing system, candidate data values identified based on the contextual information;
providing, by the client computing device, to a user, an indication of the candidate data values;
receiving, by the client computing device, input indicating that the candidate data values are rejected for input into the electronic document;
in response to receiving the input indicating that the candidate data values are rejected for input into the electronic document, transmitting, by the client computing device, to the data processing system, an indication that the candidate data values are rejected for input into the electronic document;
receiving, by the client computing device, from the data processing system, additional candidate data values identified based on the contextual information; and
providing, by the client computing device, to the user, an indication of the additional candidate data values.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
receiving, by the client computing device, input indicating that the additional candidate data values are approved for input into the electronic document; and
in response to receiving the input indicating that the additional candidate data values are approved for input into the electronic document, transmitting, by the client computing device, the additional candidate data values to a third party developer device to execute an action.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the client computing device blocks access to the additional candidate data values by the electronic document prior to receiving the input indicating that the additional candidate data values are approved for input into the electronic document.

### Claim 4 (depends on 1)

The method according to claim 1, wherein identifying the contextual information in the electronic document comprises parsing the electronic document to identify tags in the electronic document coded using a markup language.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the candidate data values and the additional candidate values are identified based on accessing one or more data sources linked to the client computing device.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the providing the indication of the additional candidate data values comprises generating a prompt with the additional candidate data values, the prompt being provided as an overlay over the electronic document.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the input indicating that the additional candidate data values are approved for input into the electronic document comprises a selection of the additional candidate data values in the prompt.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the providing the indication of the additional candidate data values comprises generating an audio prompt with the candidate data values.

### Claim 9 (depends on 8)

The method according to claim 8, wherein the input indicating that the additional candidate data values are approved for input into the electronic document comprises voice input.

### Claim 10 (depends on 1)

The method according to claim 1, wherein:
receiving, by the client computing device, from the data processing system, the electronic document comprises receiving the electronic document from a cache of the data processing system; and
the cache of the data processing system is a proxy server for a server of the third party developer device.

### Claim 11 (depends on 1)

The method according to claim 1, wherein the action comprises an electronic transaction using the candidate data values.

### Claim 12

A computer program product comprising one or more computer-readable storage media having program instructions collectively stored on the one or more computer-readable storage media, the program instructions executable to:
transmit, by a client computing device, to a data processing system, a request to access an electronic document;
receive, by the client computing device, from the data processing system, the electronic document;
load, by the client computing device, content of the electronic document;
identify, by the client computing device, contextual information in the electronic document;
transmit, by the client computing device, the contextual information to the data processing system;
receive, by the client computing device, from the data processing system, candidate data values identified based on the contextual information;
provide, by the client computing device, to a user, an indication of the candidate data values;
receive, by the client computing device, input indicating that the candidate data values are rejected for input into the electronic document;
in response to receiving the input indicating that the candidate data values are rejected for input into the electronic document, transmit, by the client computing device, to the data processing system, an indication that the candidate data values are rejected for input into the electronic document;
receive, by the client computing device, from the data processing system, additional candidate data values identified based on the contextual information; and
provide, by the client computing device, to the user, an indication of the additional candidate data values.

### Claim 13 (depends on 12)

The computer program product according to claim 12, wherein the program instructions are further executable to:
receive, by the client computing device, input indicating that the additional candidate data values are approved for input into the electronic document; and
in response to receiving the input indicating that the additional candidate data values are approved for input into the electronic document, transmit, by the client computing device, the additional candidate data values to a third party developer device to execute an action.

### Claim 14 (depends on 12)

The computer program product according to claim 12, wherein the client computing device blocks access to the additional candidate data values by the electronic document prior to receiving the input indicating that the additional candidate data values are approved for input into the electronic document.

### Claim 15 (depends on 12)

The computer program product according to claim 12, wherein identifying the contextual information in the electronic document comprises parsing the electronic document to identify tags in the electronic document coded using a markup language.

### Claim 16 (depends on 12)

The computer program product according to claim 12, wherein the candidate data values and the additional candidate values are identified based on accessing one or more data sources linked to the client computing device.

### Claim 17 (depends on 12)

The computer program product according to claim 12, wherein the providing the indication of the additional candidate data values comprises generating a prompt with the additional candidate data values, the prompt being provided as an overlay over the electronic document.

### Claim 18 (depends on 17)

The computer program product according to claim 17, wherein the input indicating that the additional candidate data values are approved for input into the electronic document comprises a selection of the additional candidate data values in the prompt.

### Claim 19 (depends on 12)

The computer program product according to claim 12, wherein the providing the indication of the additional candidate data values comprises generating an audio prompt with the candidate data values.

### Claim 20

A system comprising:
a processor, a computer-readable memory, one or more computer-readable storage media, and program instructions collectively stored on the one or more computer-readable storage media, the program instructions executable to:
transmit, by a client computing device, to a data processing system, a request to access an electronic document;
receive, by the client computing device, from the data processing system, the electronic document;
load, by the client computing device, content of the electronic document;
identify, by the client computing device, contextual information in the electronic document;
transmit, by the client computing device, the contextual information to the data processing system;
receive, by the client computing device, from the data processing system, candidate data values identified based on the contextual information;
provide, by the client computing device, to a user, an indication of the candidate data values;
receive, by the client computing device, input indicating that the candidate data values are rejected for input into the electronic document;
in response to receiving the input indicating that the candidate data values are rejected for input into the electronic document, transmit, by the client computing device, to the data processing system, an indication that the candidate data values are rejected for input into the electronic document;
receive, by the client computing device, from the data processing system, additional candidate data values identified based on the contextual information; and
provide, by the client computing device, to the user, an indication of the additional candidate data values.
