# US 2021/0240859 A1 · Immutable downloads

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

- Number: US 2021/0240859 A1
- Document ID: US20210240859A1
- Status: Published application
- Kind: A1
- Application number: 17/166,408
- Filed: 2021-02-03
- Published: 2021-08-05
- Earliest claimed: 2020-02-04
- Assignees: Aio Me Ltd.
- Applicants: Aio Me Ltd.
- Inventors: Yuval RYABOY; Yoram BECHLER
- Web page: https://patentgrep.com/patent/US20210240859A1

## CPC

- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 8/61: Installation
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 21/44: Program or device authentication
- G06F 21/50: Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- H04L 63/126: {the source of the received data}
- 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)

## Abstract

A method, product and system for providing immutable downloads. The method comprises downloading a document from a source to a device. In response to a determination that the document was downloaded, calculating a signature of the document. The signature is deposited to a repository and may be utilized to compare with a second signature of the document to ensure that the document was not modified.

## Claims

### Claim 1

A method comprising:
downloading a document from a source to a device;
in response to a determination that said downloading of the document is completed, calculating a signature of the document; and
depositing the signature to a server,
whereby any modification to the document is identifiable using the signature that is retained by the server.

### Claim 2 (depends on 1)

The method of claim 1, wherein the device is a mobile device retaining a mobile application, wherein said downloading is performed using an in-app browser of the mobile application.

### Claim 3 (depends on 2)

The method of claim 2 further comprises authenticating the document using a parameter of the source, wherein the parameter is selected from the group consisting of:
a parameter of a Secure Socket Layer (SSL) of the source utilizing in said downloading;
a parameter of a Hypertext Markup Language (HTML) document from which said downloading is initiated; and
a parameter of screenshots of a webpage from which said downloading is initiated.

### Claim 4 (depends on 1)

The method of claim 1, wherein the device is a mobile device retaining a mobile application, wherein the method further comprises:
in response to a determination that a valid external-application is not available on the mobile device for performing said downloading, utilizing an in-app browser of the mobile application for performing said downloading.

### Claim 5 (depends on 1)

The method of claim 1 further comprises authenticating the download process, wherein said authenticating comprises:
obtaining one or more expected parameters of the download process;
obtaining one or more parameters of the download process; and
verifying that the one or more parameters match the one or more expected parameters.

### Claim 6 (depends on 1)

The method of claim 1, wherein the device is a mobile device retaining a mobile application, wherein the method further comprises:
determining, by the mobile application, that an external-application is installed on the mobile device, wherein the external-application is different than the mobile application, wherein said determining is based on a list of allowed external-applications;
in response to said determining, validating the external-application; and
in response to successful validation of the external-application utilizing the external-application for performing said downloading.

### Claim 7 (depends on 6)

The method of claim 6, wherein said validating the external-application is based on at least one of:
an application repository from which the external-application was retrieved to the mobile device;
parameters of an Application Package (APK) of the external-application; and
a signature of the external-application.

### Claim 8 (depends on 6)

The method of claim 6 further comprising:
initiating monitoring of activity in the mobile device using one or more services of an operating system of the mobile device, wherein the monitoring activity comprises:
recording application at foreground of the mobile device and times thereof;
identifying time of start of downloads in the mobile device; and
determining which application was at the foreground when said downloading was started to verify that said downloading was initiated by the external-application.

### Claim 9 (depends on 6)

The method of claim 6, wherein the determination that said downloading of the document is completed is determined based on monitoring FileObserver status.

### Claim 10 (depends on 1)

The method of claim 1, wherein the device is a mobile device retaining a mobile application, the method further comprises:
selecting downloading method between an in-app based-downloading method and an external-application-based downloading method, wherein the in-app based-downloading method comprises downloading the document using an in-app browser of the mobile application, wherein the external-application-based method comprises downloading the document using an external-application that is external to the mobile application, wherein said selecting is based on a prediction of expected successful completion time using each alternative downloading method.

### Claim 11 (depends on 10)

The method of claim 10, wherein said selecting is performed using a predictor, wherein the predictor is based on historic outcomes of past downloading attempts, wherein the method further comprises transmitting information to a remote server for gathering training dataset for training the predictor using supervised machine learning.

### Claim 12 (depends on 1)

The method of claim 1, wherein the server is a distributed ledger, whereby the signature is accessible without requiring authorization of a central administrator.

### Claim 13

A system comprising:
a server comprising a memory unit;
at least one mobile device, each of which comprising a processor and a memory unit; and
a client device comprising a processor;
wherein said at least one mobile device utilizing a mobile application for obtaining a signature of a document at a time in which the downloading of the document is completed, wherein the mobile application is configured to send the signature to the server to be retained therein;
wherein said client device is configured to obtain a second signature of a document received from said at least one device; and
wherein the system is configured to compare the signature with the second signature to verify that the document was not modified.

### Claim 14 (depends on 13)

The system of claim 13, wherein the mobile application is configured to download the document using an in-app browser of the mobile application, wherein the mobile application is configured to verify authenticity of the document based on one or more parameters relating to a source of the document from which the document is downloaded.

### Claim 15 (depends on 13)

The system of claim 13, wherein said at least one mobile device retaining an external-application external to the mobile application, wherein the external-application is provided by a publisher independent of a publisher of the mobile application, wherein the mobile application is configured to utilize one or more services of an operating system to monitor activity at said at least one mobile device to verify that the external-application is used to download the document.

### Claim 16 (depends on 15)

The system of claim 15, wherein the mobile application is configured to utilize the one or more services of the operating system to:
identify and record application at foreground of said at least one mobile device and times thereof;
identifying time of start of downloads in said at least one mobile device;
wherein the mobile application is configured to determine which application was at the foreground when said downloading was started to verify that said downloading was initiated by the external-application.

### Claim 17

A mobile application comprising a non-transitory computer readable medium retaining program instructions, which instructions when read by a processor of a mobile device, cause the processor to perform:
in response to a determination a downloading of a document is completed, calculating a signature of the document; and
depositing the signature to a server,
whereby any modification to the document is identifiable using the signature that is retained by the server.

### Claim 18 (depends on 17)

The mobile application of claim 17, wherein the mobile application comprising an in-app browser, wherein the in-app browser is utilized to download the document from a source.

### Claim 19 (depends on 17)

The mobile application of claim 17, wherein the program instructions, when read by the processor, cause the processor to perform:
selecting downloading method between an in-app based-downloading method and an external-application-based downloading method, wherein the in-app based-downloading method comprises downloading the document using an in-app browser of the mobile application, wherein the external-application-based method comprises downloading the document using an external-application that is external to the mobile application, wherein said selecting is based on a prediction of expected successful completion time using each alternative downloading method.

### Claim 20 (depends on 17)

The mobile application of claim 17, wherein the program instructions, when read by the processor, cause the processor to perform:
determining that an external-application is installed on the mobile device, wherein the external-application is different than the mobile application, wherein said determining is based on a list of allowed external-applications;
in response to said determining, validating the external-application, wherein said validating the external-application is based on at least one of:
an application repository from which the external-application was retrieved to the mobile device;
parameters of an Application Package (APK) of the external-application; and
a signature of the external-application; and
in response to successful validation of the external-application utilizing the external-application for performing said downloading.
