# US 2018/0026990 A1 · System, method, and computer program product for security verification of communications to tenants of an on-demand database service

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

- Number: US 2018/0026990 A1
- Document ID: US20180026990A1
- Status: Published application
- Kind: A1
- Application number: 15/676,408
- Filed: 2017-08-14
- Published: 2018-01-25
- Earliest claimed: 2008-01-22
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Michael P. Cadden; Richard Alan Stevens; Ron H. Kimble; Rasmus Mencke; Travis D. Corson; Susan Carol Shanabrook
- Web page: https://patentgrep.com/patent/US20180026990A1

## CPC

- H04L 63/105: {Multiple levels of security}
- G06F 16/951: Indexing; Web crawling techniques
- H04L 9/32: including means for verifying the identity or authority of a user of the system {or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials}
- H04L 51/23: Reliability checks, e.g. acknowledgments or fault reporting
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/101: {Access control lists [ACL]}
- H04L 63/12: {Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In accordance with embodiments, there are provided mechanisms and methods for security verification of communications to tenants of an on-demand database service. These mechanisms and methods for security verification of communications to tenants of an on-demand database service can enable embodiments to allow tenants to selectively implement security measures with respect to inbound communications, etc. The ability of embodiments to provide such feature may allow tenants to efficiently and effectively implement security measures for in-bound emails.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A method, comprising:
storing, for a first tenant of a multi-tenant system, a security preference that indicates a selection of a particular set of a plurality of security processes to apply to communications sent to users associated with the first tenant;
receiving, at a receiving message system, a communication sent via a sending message system to a first user associated with the first tenant;
based on the security preference of the first tenant, determining whether any security processes included in the particular set of security processes are supported by the sending message system;
in response to a determination that one or more security processes included in the particular set of security processes are supported by the sending message system, applying the one or more security processes to the communication; and
based on corresponding result indications for the one or more security processes, processing the communication.

### Claim 22 (depends on 21)

The method of claim 21, wherein the security preference of the first tenant further indicates that one or more of the plurality of security processes are to be disabled for communications sent to the users associated with the first tenant.

### Claim 23 (depends on 22)

The method of claim 22, wherein the one or more security processes that are to be disabled includes the Sender Policy Framework (SPF) protocol.

### Claim 24 (depends on 22)

The method of claim 22, wherein the security preference of the first tenant indicates that all of the plurality of security processes are to be disabled for communications sent to the users associated with the first tenant.

### Claim 25 (depends on 21)

The method of claim 21, wherein processing the communication comprises:
in response to the communication passing the one or more security processes, retrieving program code associated with the first tenant; and
executing the program code to extract information included in the communication.

### Claim 26 (depends on 21)

The method of claim 21, further comprising:
storing, for a second tenant of the multi-tenant system, a different security preference that indicates a selection of a different set of the plurality of security processes to apply to communications sent to users associated with the second tenant.

### Claim 27 (depends on 21)

The method of claim 21, further comprising:
storing, for the first tenant, information specifying a set of tenant-specific senders that are authorized to send communications to users associated with the first tenant; and
validating a sender of the communication based on the set of tenant-specific senders.

### Claim 28 (depends on 21)

The method of claim 21, further comprising:
storing, for the first user associated with the first tenant, information specifying a set of user-specific senders that are authorized to send communications to the first user; and
validating a sender of the communication based on the set of user-specific senders.

### Claim 29

A non-transitory computer-readable storage medium having stored thereon a plurality of instructions that are capable of being executed by a computer system to cause operations comprising:
storing, for a first tenant of a multi-tenant system, a security preference that indicates a selection of a particular set of a plurality of security processes to apply to communications sent to users associated with the first tenant;
receiving, at a receiving message system, a communication sent via a sending message system to a first user associated with the first tenant;
based on the security preference of the first tenant, determining whether any security processes included in the particular set of security processes are supported by the sending message system;
in response to a determination that one or more security processes included in the particular set of security processes are supported by the sending message system, applying the one or more security processes to the communication; and
based on corresponding result indications for the one or more security processes, processing the communication.

### Claim 30 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein the security preference of the first tenant further indicates that one or more of the plurality of security processes are to be disabled for communications sent to the users associated with the first tenant.

### Claim 31 (depends on 30)

The non-transitory computer-readable medium of claim 30, wherein the security preference of the first tenant indicates that all of the plurality of security processes are to be disabled for communications sent to the users associated with the first tenant.

### Claim 32 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein the operations further comprise:
determining that the communication has passed the one or more security processes in response to the corresponding result indications specifying that at least one of the one or more security processes passed and none of the one or more security processes failed.

### Claim 33 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein the operations further comprise:
determining that the communication has failed the one or more security processes in response to the corresponding result indications specifying that at least one of the one or more security processes failed.

### Claim 34 (depends on 33)

The non-transitory computer-readable medium of claim 33, wherein the processing the communication comprises:
in response to a determination that the communication has failed the one or more security processes, quarantining the communication.

### Claim 35 (depends on 32)

The non-transitory computer-readable medium of claim 32, wherein the processing the communication comprises:
in response to a determination that the communication has passed the one or more security processes, routing the communication to the first user.

### Claim 36 (depends on 32)

The non-transitory computer-readable medium of claim 32, wherein the processing the communication comprises:
in response to a determination that the communication has passed the one or more security processes, retrieving program code associated with the first tenant; and
executing the program code to process the communication.

### Claim 37 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein the operations further comprise:
storing, for a second tenant of the multi-tenant system, a different security preference that indicates a selection of a different set of the plurality of security processes to apply to communications sent to users associated with the second tenant.

### Claim 38

A method, comprising:
storing, for a first tenant of a multi-tenant computer system, a security preference that indicates a selection of a particular set of a plurality of security processes to apply to communications sent to users associated with the first tenant;
receiving, by the multi-tenant computer system, information corresponding to a communication sent from a sending message system to a first user associated with the first tenant, wherein the information includes result indications for one or more security processes included in the particular set of security processes that are supported by the sending message system; and
determining, by the multi-tenant computer system based on the result indications, whether to process the communication.

### Claim 39 (depends on 38)

The method of claim 38, wherein the security preference of the first tenant indicates that one or more of the plurality of security processes are to be disabled for communications sent to the users associated with the first tenant.

### Claim 40 (depends on 39)

The method of claim 39, wherein the determining whether to process the communication is not based on a result of the disabled one or more of the plurality of security processes.

### Claim 41 (depends on 38)

The method of claim 38, wherein the security preference for the first tenant indicates that all of the plurality of security processes are to be disabled for communications sent to the users associated with the first tenant.

### Claim 42 (depends on 38)

The method of claim 38, wherein the plurality of security processes includes at least one of the SPF protocol or the DomainKeys Identified Mail (DKIM) protocol.
