# US 12,223,008 B2 · Tamper-proof interaction data

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

- Number: US 12,223,008 B2
- Document ID: US12223008B2
- Status: Granted
- Kind: B2
- Application number: 18/495,345
- Filed: 2023-10-26
- Published: 2024-02-15
- Granted: 2025-02-11
- Earliest claimed: 2023-10-26
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Gang Wang; Alex Daniel Jacobson
- Web page: https://patentgrep.com/patent/US12223008B2

## CPC

- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 21/12: Protecting executable software
- G06F 3/048: Interaction techniques based on graphical user interfaces [GUI]
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 16/9566: {URL specific, e.g. using aliases, detecting broken or misspelled links}
- G06F 16/9574: {of access to content, e.g. by caching}
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 21/52: during program execution, e.g. stack integrity {; Preventing unwanted data erasure; Buffer overflow}
- H04L 63/1433: {Vulnerability analysis}
- H04L 63/1466: {Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks}
- H04L 63/168: {above the transport layer}
- H04W 12/128: Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
- H04W 12/30: Security of mobile devices; Security of mobile applications
- G06F 2221/2119: Authenticating web pages, e.g. with suspicious links
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for validating interactions with false rendered elements. In one aspect, a method includes receiving a rendering notification and a declaration of a rendered element defined in an active window on a client device, detecting interaction with the rendered element at the client device, determining whether the interaction occurred at a declared location of the rendered element within the active window, and processing the interaction including: in response to determining that the interaction occurred: capturing a screenshot of the active window on the client device; verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element, and generating an interaction attestation, thereby validating the interaction. In response to determining that the interaction did not occur, refraining from generating the interaction attestation.

## Claims

### Claim 1

A method performed by a data processing apparatus, the method comprising:
detecting a first interaction with a rendered element that was rendered at a first client device;
determining that the first interaction occurred at a declared location of the rendered element at the first client device; and
in response to determining that the first interaction occurred at the declared location of the rendered element:
capturing a screenshot of a first active interface of the first client device;
verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element; and
generating an interaction attestation for the first interaction with the rendered element, thereby validating the first interaction;
detecting a second interaction with the rendered element that was rendered at a second client device;
determining that the second interaction with the rendered element did not occur at the declared location of the rendered element;
in response to determining that the second interaction did not occur at the declared location of the rendered element, refraining from generating the interaction attestation for the second interaction with the rendered element.

### Claim 2 (depends on 1)

The method of claim 1, further comprising receiving a verified appearance of the rendered element.

### Claim 3 (depends on 2)

The method of claim 2, wherein the verified appearance includes a unique stable identifier (ID) and/or stable uniform resource identifier (URI) and a verified shape.

### Claim 4 (depends on 1)

The method of claim 1, wherein verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element comprises utilizing an image matching algorithm.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting the first interaction comprises receiving a selection signal specifying an XY coordinate of a user click within an active window.

### Claim 6 (depends on 1)

The method of claim 1, further comprising aggregating interaction attestations for a plurality of interactions with a plurality of instantiations of the rendered element.

### Claim 7 (depends on 1)

The method of claim 1, wherein generating the interaction attestation comprises generating one or more of i) a stable identifier (ID) and/or uniform resource identifier (URI) of the declared appearance, ii) a timestamp of the first interaction, iii) a device integrity token, iv) a digital signature by the first client device, v) XY coordinates of the first interaction, and/or vi) a client device public key.

### Claim 8 (depends on 7)

The method of claim 7, wherein the stable ID and/or URI of the declared appearance includes a user intent of the first interaction.

### Claim 9 (depends on 8)

The method of claim 8, wherein the user intent corresponds to an action conveyed by the visual appearance of the rendered element.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
in response to the interaction attestation including a user intent, modifying a report of the interaction based on the user intent.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
in response to determining that the first interaction is different than the user intent, determining that the rendered element is a false rendered element and triggering a false interaction response.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
in response to triggering the false interaction response, intercepting a pathway of the first client device to a landing page of the false rendered element.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
in response to determining that the second interaction did not occur at the declared location of the rendered element, triggering a false interaction response.

### Claim 14

A non-transitory computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations comprising:
detecting a first interaction with a rendered element that was rendered at a first client device;
determining that the first interaction occurred at a declared location of the rendered element at the first client device; and
in response to determining that the first interaction occurred at the declared location of the rendered element:
capturing a screenshot of a first active interface of the first client device;
verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element; and
generating an interaction attestation for the first interaction with the rendered element, thereby validating the first interaction;
detecting a second interaction with the rendered element that was rendered at a second client device;
determining that the second interaction with the rendered element did not occur at the declared location of the rendered element;
in response to determining that the second interaction did not occur at the declared location of the rendered element, refraining from generating the interaction attestation for the second interaction with the rendered element.

### Claim 15 (depends on 14)

The non-transitory computer storage medium of claim 14, wherein the instructions cause the data processing apparatus to perform operations further comprising receiving a verified appearance of the rendered element.

### Claim 16 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the verified appearance includes a unique stable identifier (ID) and/or stable uniform resource identifier (URI) and a verified shape.

### Claim 17 (depends on 14)

The non-transitory computer storage medium of claim 14, wherein verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element comprises utilizing an image matching algorithm.

### Claim 18 (depends on 14)

The non-transitory computer storage medium of claim 14, wherein detecting the first interaction comprises receiving a selection signal specifying an XY coordinate of a user click within an active window.

### Claim 19 (depends on 14)

The non-transitory computer storage medium of claim 14, wherein the instructions cause the data processing apparatus to perform operations further comprising aggregating interaction attestations for a plurality of interactions with a plurality of instantiations of the rendered element.

### Claim 20 (depends on 14)

The non-transitory computer storage medium of claim 14, wherein generating the interaction attestation comprises generating one or more of i) a stable identifier (ID) and/or uniform resource identifier (URI) of the declared appearance, ii) a timestamp of the first interaction, iii) a device integrity token, iv) a digital signature by the first client device, v) XY coordinates of the first interaction, and/or vi) a client device public key.
