IP Library Granted Patent US 11,379,205
Granted Patent B2
US 11,379,205 · App. 17/015,527 · Granted Jul 5, 2022

Security model for live applications in a cloud collaboration platform

Inventors: Julie Tung (Los Altos, CA); Rajeev Nayak (San Francisco, CA); Kevin Gibbs (San Francisco, CA); Bret Taylor (Lafayette, CA); Yang Su (San Francisco, CA); Nate Botwick (San Francisco, CA); Pedram Razavi (San Francisco, CA); Scott Goodfriend (Berkeley, CA); Nikrad Mahdi (San Francisco, CA); Andy Chung (Berkeley, CA); Drew Hamlin (San Francisco, CA); Patrick Linehan (San Francisco, CA); Sophia Westwood (San Francisco, CA); Lindsey Simon (San Francisco, CA); Shrey Banga (San Francisco, CA); Diana Berlin (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F8/60G06F8/34G06F8/36G06F8/71G06F9/451G06F9/5072G06F9/5077G06F9/54G06F12/0871G06F16/172G06F16/1734G06F16/1774G06F16/252G06F16/901G06F16/93G06F21/31G06F21/53G06F21/563G06F40/166H04L63/10H04L63/20H04L65/4015H04L67/34
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 11,379,205
App. No.
17/015,527
Granted
Jul 5, 2022
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for providing a security model to customizable live applications in a cloud collaboration platform. The security approach may dedicate a frame to each live application, serving the frame from a different domain than a document in which the live application is embedded. This approach ensures that more stringent security requirements may be required of the live application and allows the data presented to the live application to be narrowly tailored. The security model may further leverage sandbox attributes and content-security policies to restrict the behavior of sandboxed and non-sandboxed live applications in accordance with best security practices.

Claims (38)

1. A computer-implemented method, comprising:

generating, by one or more processors, a live application in a document associated with a cloud collaboration platform, wherein the live application is generated within a frame of the document, wherein the live application is assigned a type, and wherein the live application corresponds to a first software application that is different from a second software application associated with the document;

associating, by the one or more processors, the live application with a subdomain based on the type; and

providing, by the one or more processors, the frame from a different domain than the document, wherein the different domain includes the subdomain, and wherein the cloud collaboration platform exposes a data set to the live application through an application programming interface based on the subdomain.

2. The method of claim 1 , wherein the frame comprises a sandbox attribute that limits actions performable by the live application within the frame.

3. The method of claim 1 , wherein the frame comprises a content-security policy that limits external content that the live application can access.

4. The method of claim 1 , wherein the frame and the document communicate via a bridge application programming interface.

5. The method of claim 1 , further comprising:

determining, by the one or more processors, auto-complete values based on an input entered in the live application; and

displaying, by the one or more processors, a response to the input including the auto-complete values.

6. The method of claim 1 , further comprising:

providing, by the one or more processors, account information and document information to the live application while preventing access to other data used by the cloud collaboration platform.

7. The method of claim 3 , wherein the content security policy comprises an exception for an external resource.

8. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

generate a live application in a document associated with a cloud collaboration platform, wherein the live application is generated within a frame of the document, wherein the live application is assigned a type and a subdomain based on the type, and wherein the live application corresponds to a first software application that is different from a second software application associated with the document; and

provide the frame from a different domain than the document, wherein the different domain includes the subdomain, and wherein the cloud collaboration platform exposes a data set to the live application through an application programming interface based on the subdomain.

9. The system of claim 8 , wherein the frame comprises a sandbox attribute that limits actions performable by the live application within the frame.

10. The system of claim 8 , wherein the frame comprises a content-security policy that limits external content that the live application can access.

11. The system of claim 8 , wherein the frame and the document communicate via a bridge application programming interface.

12. The system of claim 8 , the at least one processor further configured to:

determine auto-complete values based on an input entered in the live application; and

display a response to the input including the auto-complete values.

13. The system of claim 8 , the at least one processor further configured to:

provide account information and document information to the live application while preventing access to other data used by the cloud collaboration platform.

14. The system of claim 10 , wherein the content security policy comprises an exception for an external resource.

15. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

generating a live application in a document associated with a cloud collaboration platform, wherein the live application is generated within a frame of the document, wherein the live application is assigned a type and a subdomain based on the type, and wherein the live application corresponds to a first software application that is different from a second software application associated with the document; and

providing the frame from a different domain than the document, wherein the different domain includes the subdomain, and wherein the cloud collaboration platform exposes a data set to the live application through an application programming interface based on the subdomain.

16. The non-transitory computer-readable device of claim 15 , wherein the frame comprises a sandbox attribute that limits actions performable by the live application within the frame.

17. The non-transitory computer-readable device of claim 15 , wherein the frame comprises a content-security policy that limits external content that the live application can access.

18. The non-transitory computer-readable device of claim 15 , wherein the frame and the document communicate via a bridge application programming interface.

19. The non-transitory computer-readable device of claim 15 , the operations further comprising:

determining auto-complete values based on an input entered in the live application; and

displaying a response to the input including the auto-complete values.

20. The non-transitory computer-readable device of claim 15 , the operations further comprising:

providing account information and document information to the live application while preventing access to other data used by the cloud collaboration platform.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2021
From: TUNG, JULIE; NAYAK, RAJEEV; GIBBS, KEVIN; TAYLOR, BRET; SU, YANG; BOTWICK, NATE; BERLIN, DIANA; RAZAVI, PEDRAM; GOODFRIEND, SCOTT; MAHDI, NIKRAD; CHUNG, ANDY; HAMLIN, DREW; LINEHAN, PATRICK; WESTWOOD, SOPHIA; SIMON, LINDSEY; BANGA, SHREY
To: SALESFORCE.COM, INC.
Reel/Frame 054825/0617 →
Continuity (4)
Continuation 16264068 · Jan 31, 2019
Provisional Application 62751058 · Oct 26, 2018
Provisional Application 62751074 · Oct 26, 2018
Related Publication 20200409676A1 · Dec 31, 2020
Cited By (1)
US 12,242,834